Compare commits

...

18 commits
master ... api

Author SHA1 Message Date
dartz 05a2e2a138 Upcoming elections command 2024-07-28 21:43:41 -04:00
dartz a0a5c37faf Logs 2024-07-28 21:15:45 -04:00
dartz 33bb09e08c Fix hang if bias is too high/low 2024-07-28 21:03:03 -04:00
dartz 7028d2f23f Fix predictions not working 2024-07-28 20:54:40 -04:00
dartz b521b034b7 add help command 2024-07-28 20:48:01 -04:00
dartz 3d8b63e525 support viewing state results 2024-07-28 01:45:10 -04:00
dartz c0a3b8e05a Add the rest of the predictions 2024-07-28 00:00:07 -04:00
dartz 496127a850 fix some races + add predictions 2024-07-27 22:58:56 -04:00
dartz 7ad89768e1 Add Senate simulator 2024-07-26 01:51:59 -04:00
dartz 951c2f6f29 Limit odds to prevent hang 2024-07-25 22:27:49 -04:00
dartz 1ebd111e85 make image fit 2024-07-25 22:23:39 -04:00
dartz 49c6282784 readme + check opacity 2024-07-25 19:32:30 -04:00
dartz ef2ccf95f4 Add image opacity support 2024-07-25 18:46:41 -04:00
dartz 4d5dc235d1 add more election types; add image overlay to simulator (wip) 2024-07-25 18:12:51 -04:00
dartz 1c82c1d5ca display electoral votes if the election type supports it 2024-07-23 17:55:44 -04:00
dartz b7033305ec we can save an api call here 2024-07-23 17:47:14 -04:00
dartz a5e824d5f0 only attach map if it actually exists 2024-07-23 17:24:05 -04:00
dartz a2a5eccdfa api test 2024-07-23 02:58:50 -04:00
28 changed files with 4451 additions and 908 deletions

10
README.md Normal file
View file

@ -0,0 +1,10 @@
# ElectionsBot
A political bot for Discord that returns data, results, and more.
# Quickstart
```
npm i
tsc
node dist/index.js
```

View file

@ -5,7 +5,7 @@
version="1.1"
id="svg2"
sodipodi:docname="ElectoralCollege1789.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
@ -22,15 +22,15 @@
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#505050"
inkscape:zoom="2.2198868"
inkscape:cx="100.68081"
inkscape:cy="250.01275"
inkscape:window-width="2560"
inkscape:window-height="1358"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:zoom="6.278788"
inkscape:cx="207.20559"
inkscape:cy="345.28957"
inkscape:window-width="1920"
inkscape:window-height="1018"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="outlines"
inkscape:current-layer="svg2"
showguides="true"
showgrid="false" />
<metadata
@ -52,7 +52,7 @@
<g
id="outlines"
class="state"
transform="translate(-301.83139,-26.775509)">
transform="translate(-311.83139,-26.775509)">
<path
id="CT"
d="m 626.76329,181.89053 3.6,-3.2 1.9,-2.1 0.8,0.6 2.7,-1.5 5.2,-1.1 7,-3.5 -0.6,-4.2 -0.8,-4.4 -1.6,-6 -4.3,1.1 -21.8,4.7 0.6,3.1 1.5,7.3 v 8.3 l -0.9,2.1 1.7,2.2 z" />
@ -127,24 +127,24 @@
</g>
<text
id="PAn-6"
x="286.39993"
x="276.39993"
y="116.41373"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan87-6"
x="286.39993"
x="276.39993"
y="116.41373"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Helvetica Neue';-inkscape-font-specification:'Helvetica Neue Bold';text-align:center;text-anchor:middle;fill:#ffffff">NY</tspan><tspan
sodipodi:role="line"
id="tspan88-3"
x="286.39993"
x="276.39993"
y="133.1395"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Helvetica Neue';-inkscape-font-specification:'Helvetica Neue Bold';text-align:center;text-anchor:middle;fill:#ffffff">0</tspan></text>
<g
id="text"
font-family="'Helvetica Neue'"
font-weight="bold"
transform="translate(-527.0681,-35.784978)">
transform="translate(-537.0681,-35.784978)">
<g
font-size="28px"
id="g1">
@ -383,19 +383,14 @@
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">5</tspan></text>
<text
id="TNn-3"
x="754.21326"
y="368.78839"
x="755.00958"
y="376.75171"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan65-5"
x="754.21326"
y="368.78839"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">SC</tspan><tspan
sodipodi:role="line"
id="tspan66-5"
x="754.21326"
y="385.45502"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">7</tspan></text>
x="755.00958"
y="376.75171"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">SC 7</tspan></text>
<text
id="KYn"
x="756.65363"
@ -562,49 +557,49 @@
</g>
</g>
<path
d="m 304.45211,224.13438 c 36.981,39.184 39.104,40.251 39.104,40.251"
d="m 294.45211,224.13438 c 36.981,39.184 39.104,40.251 39.104,40.251"
stroke-width="1.5242"
stroke="#000000"
fill="none"
id="path5643"
style="fill:#ffffff;stroke-linecap:round" />
<path
d="m 309.80711,214.28538 c 51,26 51,26 51,26"
d="m 299.80711,214.28538 c 51,26 51,26 51,26"
stroke-width="1.5"
stroke="#000000"
fill="none"
id="path8572"
style="fill:#ffffff;stroke-linecap:round" />
<path
d="m 317.80711,194.28538 c 50,22 50,22 50,22"
d="m 307.80711,194.28538 c 50,22 50,22 50,22"
stroke-width="1.5"
stroke="#000000"
fill="none"
id="path9543"
style="fill:#ffffff;stroke-linecap:round" />
<path
d="m 361.80711,117.28538 c 34,3 34,3 34,3"
d="m 351.80711,117.28538 c 34,3 34,3 34,3"
stroke-width="1.5"
stroke="#000000"
fill="none"
id="path11485"
style="fill:#ffffff;stroke-linecap:round" />
<path
d="m 338.80711,148.28538 c 50,33 51,33 51,33"
d="m 328.80711,148.28538 c 50,33 51,33 51,33"
stroke-width="1.5"
stroke="#000000"
fill="none"
id="path13435"
style="fill:#ffffff;stroke-linecap:round" />
<path
d="m 330.04111,55.519381 c -13.469,-29.469 -13.469,-29.469 -13.469,-29.469"
d="m 320.04111,55.519381 c -13.469,-29.469 -13.469,-29.469 -13.469,-29.469"
stroke-width="1.5"
stroke="#000000"
fill="none"
id="path14422"
style="fill:#ffffff;stroke-linecap:round" />
<path
d="m 395.64811,120.12638 c -22.682,-40.682003 -22.682,-40.682003 -22.682,-40.682003"
d="m 385.64811,120.12638 c -22.682,-40.682003 -22.682,-40.682003 -22.682,-40.682003"
stroke-width="2.2871"
stroke="#000000"
fill="none"

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 111 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 93 KiB

View file

@ -22,9 +22,9 @@
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#505050"
inkscape:zoom="3.139394"
inkscape:cx="933.9382"
inkscape:cy="78.040539"
inkscape:zoom="0.27748585"
inkscape:cx="1423.496"
inkscape:cy="587.41734"
inkscape:window-width="1920"
inkscape:window-height="1018"
inkscape:window-x="-8"
@ -57,167 +57,169 @@
</defs>
<g
id="outlines"
class="state">
class="state"
transform="translate(-12.741312,-4.3706562)">
<path
id="AL"
d="M628.5 466.4l.6.2 1.3-2.7 1.5-4.4 2.3.6 3.1 6v1l-2.7 1.9 2.7.3 5.2-2.5-.3-7.6-2.5-1.8-2-2 .4-4 10.5-1.5 25.7-2.9 6.7-.6 5.6.1-.5-2.2-1.5-.8-.9-1.1 1-2.6-.4-5.2-1.6-4.5.8-5.1 1.7-4.8-.2-1.7-1.8-.7-.5-3.6-2.7-3.4-2-6.5-1.4-6.7-1.8-5-3.8-16-3.5-7.9-.8-5.6.1-2.2-9 .8-23.4 2.2-12.2.8-.2 6.4.2 16.7-.7 31-.3 14.1 2.8 18.8 1.6 14.7z"
d="m 628.5,466.4 0.6,0.2 1.3,-2.7 1.5,-4.4 2.3,0.6 3.1,6 v 1 l -2.7,1.9 2.7,0.3 5.2,-2.5 -0.3,-7.6 -2.5,-1.8 -2,-2 0.4,-4 10.5,-1.5 25.7,-2.9 6.7,-0.6 5.6,0.1 -0.5,-2.2 -1.5,-0.8 -0.9,-1.1 1,-2.6 -0.4,-5.2 -1.6,-4.5 0.8,-5.1 1.7,-4.8 -0.2,-1.7 -1.8,-0.7 -0.5,-3.6 -2.7,-3.4 -2,-6.5 -1.4,-6.7 -1.8,-5 -3.8,-16 -3.5,-7.9 -0.8,-5.6 0.1,-2.2 -9,0.8 -23.4,2.2 -12.2,0.8 -0.2,6.4 0.2,16.7 -0.7,31 -0.3,14.1 2.8,18.8 1.6,14.7 z"
style="fill:#552200" />
<path
id="AR"
d="M587.3 346.1l-6.4-.7.9-3.1 3.1-2.6.6-2.3-1.8-2.9-31.9 1.2-23.3.7-23.6.3 1.5 6.9.1 8.5 1.4 10.9.3 38.2 2.1 1.6 3-1.2 2.9 1.2.4 10.1 25.2-.2 26.8-.8.9-1.9-.3-3.8-1.7-3.1 1.5-1.4-1.4-2.2.7-2.4 1.1-5.9 2.7-2.3-.8-2.2 4-5.6 2.5-1.1-.1-1.7-.5-1.7 2.9-5.8 2.5-1.1.2-3.3 2.1-1.4.9-4.1-1.4-4 4.2-2.4.3-2.1 1.2-4.2.9-3.1z"
d="m 587.3,346.1 -6.4,-0.7 0.9,-3.1 3.1,-2.6 0.6,-2.3 -1.8,-2.9 -31.9,1.2 -23.3,0.7 -23.6,0.3 1.5,6.9 0.1,8.5 1.4,10.9 0.3,38.2 2.1,1.6 3,-1.2 2.9,1.2 0.4,10.1 25.2,-0.2 26.8,-0.8 0.9,-1.9 -0.3,-3.8 -1.7,-3.1 1.5,-1.4 -1.4,-2.2 0.7,-2.4 1.1,-5.9 2.7,-2.3 -0.8,-2.2 4,-5.6 2.5,-1.1 -0.1,-1.7 -0.5,-1.7 2.9,-5.8 2.5,-1.1 0.2,-3.3 2.1,-1.4 0.9,-4.1 -1.4,-4 4.2,-2.4 0.3,-2.1 1.2,-4.2 0.9,-3.1 z"
style="fill:#552200" />
<path
id="AZ"
d="M135.1 389.7l-.3 1.5.5 1 18.9 10.7 12.1 7.6 14.7 8.6 16.8 10 12.3 2.4 25.4 2.7 6-39.6 7-53.1 4.4-31-24.6-3.6-60.7-11-.2 1.1-2.6 16.5-2.1 3.8-2.8-.2-1.2-2.6-2.6-.4-1.2-1.1-1.1.1-2.1 1.7-.3 6.8-.3 1.5-.5 12.5-1.5 2.4-.4 3.3 2.8 5 1.1 5.5.7 1.1 1.1.9-.4 2.4-1.7 1.2-3.4 1.6-1.6 1.8-1.6 3.6-.5 4.9-3 2.9-1.9.9-.1 5.8-.6 1.6.5.8 3.9.4-.9 3-1.7 2.4-3.7.4z" />
d="m 135.1,389.7 -0.3,1.5 0.5,1 18.9,10.7 12.1,7.6 14.7,8.6 16.8,10 12.3,2.4 25.4,2.7 6,-39.6 7,-53.1 4.4,-31 -24.6,-3.6 -60.7,-11 -0.2,1.1 -2.6,16.5 -2.1,3.8 -2.8,-0.2 -1.2,-2.6 -2.6,-0.4 -1.2,-1.1 -1.1,0.1 -2.1,1.7 -0.3,6.8 -0.3,1.5 -0.5,12.5 -1.5,2.4 -0.4,3.3 2.8,5 1.1,5.5 0.7,1.1 1.1,0.9 -0.4,2.4 -1.7,1.2 -3.4,1.6 -1.6,1.8 -1.6,3.6 -0.5,4.9 -3,2.9 -1.9,0.9 -0.1,5.8 -0.6,1.6 0.5,0.8 3.9,0.4 -0.9,3 -1.7,2.4 -3.7,0.4 z" />
<path
id="CA"
d="M122.7 385.9l-19.7-2.7-10-1.5-.5-1.8v-9.4l-.3-3.2-2.6-4.2-.8-2.3-3.9-4.2-2.9-4.7-2.7-.2-3.2-.8-.3-1 1.5-.6-.6-3.2-1.5-2.1-4.8-.8-3.9-2.1-1.1-2.3-2.6-4.8-2.9-3.1H57l-3.9-2.1-4.5-1.8-4.2-.5-2.4-2.7.5-1.9 1.8-7.1.8-1.9v-2.4l-1.6-1-.5-2.9-1.5-2.6-3.4-5.8-1.3-3.1-1.5-4.7-1.6-5.3-3.2-4.4-.5-2.9.8-3.9h1.1l2.1-1.6 1.1-3.6-1-2.7-2.7-.5-1.9-2.6-2.1-3.7-.2-8.2.6-1.9.6-2.3.5-2.4-5.7-6.3V236l.3-.5.3-3.2-1.3-4-2.3-4.8-2.7-4.5-1.8-3.9 1-3.7.6-5.8 1.8-3.1.3-6.5-1.1-3.6-1.6-4.2L14 184l.8-3.2 1.5-4.2 1.8-.8.3-1.1 3.1-2.6 5.2-11.8.2-7.4 1.69-4.9 38.69 11.8 25.6 6.6-8 31.3-8.67 33.1L88.84 250 131 312.3l17.1 26.1-.4 3.1 2.8 5.2 1.1 5.4 1 1.5.7.6-.2 1.4-1.4 1-3.4 1.6-1.9 2.1-1.7 3.9-.5 4.7-2.6 2.5-2.3 1.1-.1 6.2-.6 1.9 1 1.7 3 .3-.4 1.6-1.4 2-3.9.6zM48.8 337l1.3 1.5-.2 1.3-3.2-.1-.6-1.2-.6-1.5zm1.9 0l1.2-.6 3.6 2.1 3.1 1.2-.9.6-4.5-.2-1.6-1.6zm20.7 19.8l1.8 2.3.8 1 1.5.6.6-1.5-1-1.8-2.7-2-1.1.2v1.2zm-1.4 8.7l1.8 3.2 1.2 1.9-1.5.2-1.3-1.2s-.7-1.5-.7-1.9v-2.2z" />
d="m 122.7,385.9 -19.7,-2.7 -10,-1.5 -0.5,-1.8 v -9.4 l -0.3,-3.2 -2.6,-4.2 -0.8,-2.3 -3.9,-4.2 -2.9,-4.7 -2.7,-0.2 -3.2,-0.8 -0.3,-1 1.5,-0.6 -0.6,-3.2 -1.5,-2.1 -4.8,-0.8 -3.9,-2.1 -1.1,-2.3 -2.6,-4.8 -2.9,-3.1 H 57 l -3.9,-2.1 -4.5,-1.8 -4.2,-0.5 -2.4,-2.7 0.5,-1.9 1.8,-7.1 0.8,-1.9 v -2.4 l -1.6,-1 -0.5,-2.9 -1.5,-2.6 -3.4,-5.8 -1.3,-3.1 -1.5,-4.7 -1.6,-5.3 -3.2,-4.4 -0.5,-2.9 0.8,-3.9 h 1.1 l 2.1,-1.6 1.1,-3.6 -1,-2.7 -2.7,-0.5 -1.9,-2.6 -2.1,-3.7 -0.2,-8.2 0.6,-1.9 0.6,-2.3 0.5,-2.4 -5.7,-6.3 V 236 l 0.3,-0.5 0.3,-3.2 -1.3,-4 -2.3,-4.8 -2.7,-4.5 -1.8,-3.9 1,-3.7 0.6,-5.8 1.8,-3.1 0.3,-6.5 -1.1,-3.6 -1.6,-4.2 -2.7,-4.2 0.8,-3.2 1.5,-4.2 1.8,-0.8 0.3,-1.1 3.1,-2.6 5.2,-11.8 0.2,-7.4 1.69,-4.9 38.69,11.8 25.6,6.6 -8,31.3 -8.67,33.1 12.63,19.2 42.16,62.3 17.1,26.1 -0.4,3.1 2.8,5.2 1.1,5.4 1,1.5 0.7,0.6 -0.2,1.4 -1.4,1 -3.4,1.6 -1.9,2.1 -1.7,3.9 -0.5,4.7 -2.6,2.5 -2.3,1.1 -0.1,6.2 -0.6,1.9 1,1.7 3,0.3 -0.4,1.6 -1.4,2 -3.9,0.6 z M 48.8,337 l 1.3,1.5 -0.2,1.3 -3.2,-0.1 -0.6,-1.2 -0.6,-1.5 z m 1.9,0 1.2,-0.6 3.6,2.1 3.1,1.2 -0.9,0.6 -4.5,-0.2 -1.6,-1.6 z m 20.7,19.8 1.8,2.3 0.8,1 1.5,0.6 0.6,-1.5 -1,-1.8 -2.7,-2 -1.1,0.2 v 1.2 z m -1.4,8.7 1.8,3.2 1.2,1.9 -1.5,0.2 -1.3,-1.2 c 0,0 -0.7,-1.5 -0.7,-1.9 v -2.2 z" />
<path
id="CO"
d="M380.2 235.5l-36-3.5-79.1-8.6-2.2 22.1-7 50.4-1.9 13.7 34 3.9 37.5 4.4 34.7 3 14.3.6z" />
d="m 380.2,235.5 -36,-3.5 -79.1,-8.6 -2.2,22.1 -7,50.4 -1.9,13.7 34,3.9 37.5,4.4 34.7,3 14.3,0.6 z" />
<path
id="CT"
d="M852 190.9l3.6-3.2 1.9-2.1.8.6 2.7-1.5 5.2-1.1 7-3.5-.6-4.2-.8-4.4-1.6-6-4.3 1.1-21.8 4.7.6 3.1 1.5 7.3v8.3l-.9 2.1 1.7 2.2z" />
d="m 852,190.9 3.6,-3.2 1.9,-2.1 0.8,0.6 2.7,-1.5 5.2,-1.1 7,-3.5 -0.6,-4.2 -0.8,-4.4 -1.6,-6 -4.3,1.1 -21.8,4.7 0.6,3.1 1.5,7.3 v 8.3 l -0.9,2.1 1.7,2.2 z" />
<path
id="DE"
d="M834.4 247.2l-1 .5-3.6-2.4-1.8-4.7-1.9-3.6-2.3-1-2.1-3.6.5-2 .5-2.3.1-1.1-.6.1-1.7 1-2 1.7-.2.3 1.4 4.1 2.3 5.6 3.7 16.1 5-.3 6-1.1z" />
d="m 834.4,247.2 -1,0.5 -3.6,-2.4 -1.8,-4.7 -1.9,-3.6 -2.3,-1 -2.1,-3.6 0.5,-2 0.5,-2.3 0.1,-1.1 -0.6,0.1 -1.7,1 -2,1.7 -0.2,0.3 1.4,4.1 2.3,5.6 3.7,16.1 5,-0.3 6,-1.1 z" />
<path
id="FL"
d="M750.2 445.2l-5.2-.7-.7.8 1.5 4.4-.4 5.2-4.1-1-.2-2.8H737l-5.3.7-32.4 1.9-8.2-.3-1.7-1.7-2.5-4.2H681l-6.6.5-35.4 4.2-.3 2.8 1.6 1.6 2.9 2 .3 8.4 3.3-.6 6-2.1 6-.5 4.4-.6 7.6 1.8 8.1 3.9 1.6 1.5 2.9 1.1 1.6 1.9.3 2.7 3.2-1.3h3.9l3.6-1.9 3.7-3.6 3.1.2.5-1.1-.8-1 .2-1.9 4-.8h2.6l2.9 1.5 4.2 1.5 2.4 3.7 2.7 1 1.1 3.4 3.4 1.6 1.6 2.6 1.9.6 5.2 1.3 1.3 3.1 3 3.7v9.5l-1.5 4.7.3 2.7 1.3 4.8 1.8 4 .8-.5 1.5-4.5-2.6-1-.3-.6 1.6-.6 4.5 1 .2 1.6-3.2 5.5-2.1 2.4 3.6 3.7 2.6 3.1 2.9 5.3 2.9 3.9 2.1 5 1.8.3 1.6-2.1 1.8 1.1 2.6 4 .6 3.6 3.1 4.4.8-1.3 3.9.3 3.6 2.3 3.4 5.2.8 3.4.3 2.9 1.1 1 1.3.5 2.4-1 1.5-1.6 3.9-.2 3.1-1.5 2.7-3.2-.5-1.9-.3-2.4.6-1.9-.3-1.9 2.4-1.3.3-3.4-.6-1.8-.5-12-1.3-7.6-4.5-8.2-3.6-5.8-2.6-5.3-2.9-2.9-2.9-7.4.7-1.4 1.1-1.3-1.6-2.9-4-3.7-4.8-5.5-3.7-6.3-5.3-9.4-3.7-9.7-2.3-7.3zm17.7 132.7l2.4-.6 1.3-.2 1.5-2.3 2.3-1.6 1.3.5 1.7.3.4 1.1-3.5 1.2-4.2 1.5-2.3 1.2zm13.5-5l1.2 1.1 2.7-2.1 5.3-4.2 3.7-3.9 2.5-6.6 1-1.7.2-3.4-.7.5-1 2.8-1.5 4.6-3.2 5.3-4.4 4.2-3.4 1.9z"
d="m 750.2,445.2 -5.2,-0.7 -0.7,0.8 1.5,4.4 -0.4,5.2 -4.1,-1 -0.2,-2.8 H 737 l -5.3,0.7 -32.4,1.9 -8.2,-0.3 -1.7,-1.7 -2.5,-4.2 H 681 l -6.6,0.5 -35.4,4.2 -0.3,2.8 1.6,1.6 2.9,2 0.3,8.4 3.3,-0.6 6,-2.1 6,-0.5 4.4,-0.6 7.6,1.8 8.1,3.9 1.6,1.5 2.9,1.1 1.6,1.9 0.3,2.7 3.2,-1.3 h 3.9 l 3.6,-1.9 3.7,-3.6 3.1,0.2 0.5,-1.1 -0.8,-1 0.2,-1.9 4,-0.8 h 2.6 l 2.9,1.5 4.2,1.5 2.4,3.7 2.7,1 1.1,3.4 3.4,1.6 1.6,2.6 1.9,0.6 5.2,1.3 1.3,3.1 3,3.7 v 9.5 l -1.5,4.7 0.3,2.7 1.3,4.8 1.8,4 0.8,-0.5 1.5,-4.5 -2.6,-1 -0.3,-0.6 1.6,-0.6 4.5,1 0.2,1.6 -3.2,5.5 -2.1,2.4 3.6,3.7 2.6,3.1 2.9,5.3 2.9,3.9 2.1,5 1.8,0.3 1.6,-2.1 1.8,1.1 2.6,4 0.6,3.6 3.1,4.4 0.8,-1.3 3.9,0.3 3.6,2.3 3.4,5.2 0.8,3.4 0.3,2.9 1.1,1 1.3,0.5 2.4,-1 1.5,-1.6 3.9,-0.2 3.1,-1.5 2.7,-3.2 -0.5,-1.9 -0.3,-2.4 0.6,-1.9 -0.3,-1.9 2.4,-1.3 0.3,-3.4 -0.6,-1.8 -0.5,-12 -1.3,-7.6 -4.5,-8.2 -3.6,-5.8 -2.6,-5.3 -2.9,-2.9 -2.9,-7.4 0.7,-1.4 1.1,-1.3 -1.6,-2.9 -4,-3.7 -4.8,-5.5 -3.7,-6.3 -5.3,-9.4 -3.7,-9.7 -2.3,-7.3 z m 17.7,132.7 2.4,-0.6 1.3,-0.2 1.5,-2.3 2.3,-1.6 1.3,0.5 1.7,0.3 0.4,1.1 -3.5,1.2 -4.2,1.5 -2.3,1.2 z m 13.5,-5 1.2,1.1 2.7,-2.1 5.3,-4.2 3.7,-3.9 2.5,-6.6 1,-1.7 0.2,-3.4 -0.7,0.5 -1,2.8 -1.5,4.6 -3.2,5.3 -4.4,4.2 -3.4,1.9 z"
style="fill:#552200" />
<path
id="GA"
d="M750.2 444.2l-5.6-.7-1.4 1.6 1.6 4.7-.3 3.9-2.2-.6-.2-3h-5.2l-5.3.7-32.3 1.9-7.7-.3-1.4-1.2-2.5-4.3-.8-3.3-1.6-.9-.5-.5.9-2.2-.4-5.5-1.6-4.5.8-4.9 1.7-4.8-.2-2.5-1.9-.7-.4-3.2-2.8-3.5-1.9-6.2-1.5-7-1.7-4.8-3.8-16-3.5-8-.8-5.3.1-2.3 3.3-.3 13.6-1.6 18.6-2 6.3-1.1.5 1.4-2.2.9-.9 2.2.4 2 1.4 1.6 4.3 2.7 3.2-.1 3.2 4.7.6 1.6 2.3 2.8.5 1.7 4.7 1.8 3 2.2 2.3 3 2.3 1.3 2 1.8 1.4 2.7 2.1 1.9 4.1 1.8 2.7 6 1.7 5.1 2.8.7 2.1 1.9 2 5.7 2.9 1.6 1.7-.8.4 1.2-3.3 6.2.5 2.6-1.5 4.2-2.3 10 .8 6.3z"
d="m 750.2,444.2 -5.6,-0.7 -1.4,1.6 1.6,4.7 -0.3,3.9 -2.2,-0.6 -0.2,-3 h -5.2 l -5.3,0.7 -32.3,1.9 -7.7,-0.3 -1.4,-1.2 -2.5,-4.3 -0.8,-3.3 -1.6,-0.9 -0.5,-0.5 0.9,-2.2 -0.4,-5.5 -1.6,-4.5 0.8,-4.9 1.7,-4.8 -0.2,-2.5 -1.9,-0.7 -0.4,-3.2 -2.8,-3.5 -1.9,-6.2 -1.5,-7 -1.7,-4.8 -3.8,-16 -3.5,-8 -0.8,-5.3 0.1,-2.3 3.3,-0.3 13.6,-1.6 18.6,-2 6.3,-1.1 0.5,1.4 -2.2,0.9 -0.9,2.2 0.4,2 1.4,1.6 4.3,2.7 3.2,-0.1 3.2,4.7 0.6,1.6 2.3,2.8 0.5,1.7 4.7,1.8 3,2.2 2.3,3 2.3,1.3 2,1.8 1.4,2.7 2.1,1.9 4.1,1.8 2.7,6 1.7,5.1 2.8,0.7 2.1,1.9 2,5.7 2.9,1.6 1.7,-0.8 0.4,1.2 -3.3,6.2 0.5,2.6 -1.5,4.2 -2.3,10 0.8,6.3 z"
style="fill:#552200" />
<path
id="IA"
d="M556.8 183.6l2.1 2.1.3.7-2 3 .3 4 2.6 4.1 3.1 1.6 2.4.3.9 1.8.2 2.4 2.5 1 .9 1.1.5 1.6 3.8 3.3.6 1.9-.7 3-1.7 3.7-.6 2.4-2.1 1.6-1.6.5-5.7 1.5-1.6 4.8.8 1.8 1.7 1.5-.2 3.5-1.9 1.4-.7 1.8v2.4l-1.4.4-1.7 1.4-.5 1.7.4 1.7-1.3 1-2.3-2.7-1.4-2.8-8.3.8-10 .6-49.2 1.2-1.6-4.3-.4-6.7-1.4-4.2-.7-5.2-2.2-3.7-1-4.6-2.7-7.8-1.1-5.6-1.4-1.9-1.3-2.9 1.7-3.8 1.2-6.1-2.7-2.2-.3-2.4.7-2.4 1.8-.3 61.1-.6 21.2-.7z" />
d="m 556.8,183.6 2.1,2.1 0.3,0.7 -2,3 0.3,4 2.6,4.1 3.1,1.6 2.4,0.3 0.9,1.8 0.2,2.4 2.5,1 0.9,1.1 0.5,1.6 3.8,3.3 0.6,1.9 -0.7,3 -1.7,3.7 -0.6,2.4 -2.1,1.6 -1.6,0.5 -5.7,1.5 -1.6,4.8 0.8,1.8 1.7,1.5 -0.2,3.5 -1.9,1.4 -0.7,1.8 v 2.4 l -1.4,0.4 -1.7,1.4 -0.5,1.7 0.4,1.7 -1.3,1 -2.3,-2.7 -1.4,-2.8 -8.3,0.8 -10,0.6 -49.2,1.2 -1.6,-4.3 -0.4,-6.7 -1.4,-4.2 -0.7,-5.2 -2.2,-3.7 -1,-4.6 -2.7,-7.8 -1.1,-5.6 -1.4,-1.9 -1.3,-2.9 1.7,-3.8 1.2,-6.1 -2.7,-2.2 -0.3,-2.4 0.7,-2.4 1.8,-0.3 61.1,-0.6 21.2,-0.7 z" />
<path
id="ID"
d="M175.3 27.63l-4.8 17.41L166 65.9l-3.4 16.22-.4 9.67 1.2 4.44 3.5 2.66-.2 3.91-3.9 4.4-4.5 6.6-.9 2.9-1.2 1.1-1.8.8-4.3 5.3-.4 3.1-.4 1.1.6 1 2.6-.1 1.1 2.3-2.4 5.8-1.2 4.2-8.8 35.3 20.7 4.5 39.5 7.9 34.8 6.1 4.9-29.2 3.8-24.1-2.7-2.4-.4-2.6-.8-1.1-2.1 1-.7 2.6-3.2.5-3.9-1.6-3.8.1-2.5.7-3.4-1.5-2.4.2-2.4 2-2-1.1-.7-4 .7-2.9-2.5-2.9-3.3-2.6-2.7-13.1-.1-4.7-.3-.1-.2.4-5.1 3.5-1.7-.2-2.9-3.4-.2-3.1 7-17.13-.4-1.94-3.4-1.15-.6-1.18-2.6-3.46-4.6-10.23-3.2-1.53-2-4.95 1.3-4.63-3.2-7.58 4.4-21.52z" />
d="m 175.3,27.63 -4.8,17.41 -4.5,20.86 -3.4,16.22 -0.4,9.67 1.2,4.44 3.5,2.66 -0.2,3.91 -3.9,4.4 -4.5,6.6 -0.9,2.9 -1.2,1.1 -1.8,0.8 -4.3,5.3 -0.4,3.1 -0.4,1.1 0.6,1 2.6,-0.1 1.1,2.3 -2.4,5.8 -1.2,4.2 -8.8,35.3 20.7,4.5 39.5,7.9 34.8,6.1 4.9,-29.2 3.8,-24.1 -2.7,-2.4 -0.4,-2.6 -0.8,-1.1 -2.1,1 -0.7,2.6 -3.2,0.5 -3.9,-1.6 -3.8,0.1 -2.5,0.7 -3.4,-1.5 -2.4,0.2 -2.4,2 -2,-1.1 -0.7,-4 0.7,-2.9 -2.5,-2.9 -3.3,-2.6 -2.7,-13.1 -0.1,-4.7 -0.3,-0.1 -0.2,0.4 -5.1,3.5 -1.7,-0.2 -2.9,-3.4 -0.2,-3.1 7,-17.13 -0.4,-1.94 -3.4,-1.15 -0.6,-1.18 -2.6,-3.46 -4.6,-10.23 -3.2,-1.53 -2,-4.95 1.3,-4.63 -3.2,-7.58 4.4,-21.52 z" />
<path
id="IL"
d="M618.7 214.3l-.8-2.6-1.3-3.7-1.6-1.8-1.5-2.6-.4-5.5-15.9 1.8-17.4 1h-12.3l.2 2.1 2.2.9 1.1 1.4.4 1.4 3.9 3.4.7 2.4-.7 3.3-1.7 3.7-.8 2.7-2.4 1.9-1.9.6-5.2 1.3-1.3 4.1.6 1.1 1.9 1.8-.2 4.3-2.1 1.6-.5 1.3v2.8l-1.8.6-1.4 1.2-.4 1.2.4 2-1.6 1.3-.9 2.8.3 3.9 2.3 7 7 7.6 5.7 3.7v4.4l.7 1.2 6.6.6 2.7 1.4-.7 3.5-2.2 6.2-.8 3 2 3.7 6.4 5.3 4.8.8 2.2 5.1 2 3.4-.9 2.8 1.5 3.8 1.7 2.1 1.6-.3 1-2.2 2.4-1.7 2.8-1 6.1 2.5.5-.2v-1.1l-1.2-2.7.4-2.8 2.4-1.6 3.4-1.2-.5-1.3-.8-2 1.2-1.3 1-2.7v-4l.4-4.9 2.5-3 1.8-3.8 2.5-4-.5-5.3-1.8-3.2-.3-3.3.8-5.3-.7-7.2-1.1-15.8-1.4-15.3-.9-11.7z" />
d="m 618.7,214.3 -0.8,-2.6 -1.3,-3.7 -1.6,-1.8 -1.5,-2.6 -0.4,-5.5 -15.9,1.8 -17.4,1 h -12.3 l 0.2,2.1 2.2,0.9 1.1,1.4 0.4,1.4 3.9,3.4 0.7,2.4 -0.7,3.3 -1.7,3.7 -0.8,2.7 -2.4,1.9 -1.9,0.6 -5.2,1.3 -1.3,4.1 0.6,1.1 1.9,1.8 -0.2,4.3 -2.1,1.6 -0.5,1.3 v 2.8 l -1.8,0.6 -1.4,1.2 -0.4,1.2 0.4,2 -1.6,1.3 -0.9,2.8 0.3,3.9 2.3,7 7,7.6 5.7,3.7 v 4.4 l 0.7,1.2 6.6,0.6 2.7,1.4 -0.7,3.5 -2.2,6.2 -0.8,3 2,3.7 6.4,5.3 4.8,0.8 2.2,5.1 2,3.4 -0.9,2.8 1.5,3.8 1.7,2.1 1.6,-0.3 1,-2.2 2.4,-1.7 2.8,-1 6.1,2.5 0.5,-0.2 v -1.1 l -1.2,-2.7 0.4,-2.8 2.4,-1.6 3.4,-1.2 -0.5,-1.3 -0.8,-2 1.2,-1.3 1,-2.7 v -4 l 0.4,-4.9 2.5,-3 1.8,-3.8 2.5,-4 -0.5,-5.3 -1.8,-3.2 -0.3,-3.3 0.8,-5.3 -0.7,-7.2 -1.1,-15.8 -1.4,-15.3 -0.9,-11.7 z" />
<path
id="IN"
d="M622.9 216.1l1.5 1 1.1-.3 2.1-1.9 2.5-1.8 14.3-1.1 18.4-1.8 1.6 15.5 4.9 42.6-.6 2.9 1.3 1.6.2 1.3-2.3 1.6-3.6 1.7-3.2.4-.5 4.8-4.7 3.6-2.9 4 .2 2.4-.5 1.4h-3.5l-1.4-1.7-5.2 3 .2 3.1-.9.2-.5-.9-2.4-1.7-3.6 1.5-1.4 2.9-1.2-.6-1.6-1.8-4.4.5-5.7 1-2.5 1.3v-2.6l.4-4.7 2.3-2.9 1.8-3.9 2.7-4.2-.5-5.8-1.8-3.1-.3-3.2.8-5.3-.7-7.1-.9-12.6-2.5-30.1z" />
d="m 622.9,216.1 1.5,1 1.1,-0.3 2.1,-1.9 2.5,-1.8 14.3,-1.1 18.4,-1.8 1.6,15.5 4.9,42.6 -0.6,2.9 1.3,1.6 0.2,1.3 -2.3,1.6 -3.6,1.7 -3.2,0.4 -0.5,4.8 -4.7,3.6 -2.9,4 0.2,2.4 -0.5,1.4 h -3.5 l -1.4,-1.7 -5.2,3 0.2,3.1 -0.9,0.2 -0.5,-0.9 -2.4,-1.7 -3.6,1.5 -1.4,2.9 -1.2,-0.6 -1.6,-1.8 -4.4,0.5 -5.7,1 -2.5,1.3 v -2.6 l 0.4,-4.7 2.3,-2.9 1.8,-3.9 2.7,-4.2 -0.5,-5.8 -1.8,-3.1 -0.3,-3.2 0.8,-5.3 -0.7,-7.1 -0.9,-12.6 -2.5,-30.1 z" />
<path
id="KS"
d="M485.9 259.5l-43.8-.6-40.6-1.2-21.7-.9-4.3 64.8 24.3 1 44.7 2.1 46.3.6 12.6-.3.7-35-1.2-11.1-2.5-2-2.4-3-2.3-3.6.6-3 1.7-1.4v-2.1l-.8-.7-2.6-.2-3.5-3.4z" />
d="m 485.9,259.5 -43.8,-0.6 -40.6,-1.2 -21.7,-0.9 -4.3,64.8 24.3,1 44.7,2.1 46.3,0.6 12.6,-0.3 0.7,-35 -1.2,-11.1 -2.5,-2 -2.4,-3 -2.3,-3.6 0.6,-3 1.7,-1.4 v -2.1 l -0.8,-0.7 -2.6,-0.2 -3.5,-3.4 z" />
<path
id="KY"
d="M607.2 331.8l12.6-.7.1-4.1h4.3l30.4-3.2 45.1-4.3 5.6-3.6 3.9-2.1.1-1.9 6-7.8 4.1-3.6 2.1-2.4-3.3-2-2.5-2.7-3-3.8-.5-2.2-2.6-1.4-.9-1.9-.2-6.1-2.6-2-1.9-1.1-.5-2.3-1.3.2-2 1.2-2.5 2.7-1.9-1.7-2.5-.5-2.4 1.4h-2.3l-1.8-2-5.6-.1-1.8-4.5-2.9-1.5-2.1.8-4.2.2-.5 2.1 1.2 1.5.3 2.1-2.8 2-3.8 1.8-2.6.4-.5 4.5-4.9 3.6-2.6 3.7.2 2.2-.9 2.3-4.5-.1-1.3-1.3-3.9 2.2.2 3.3-2.4.6-.8-1.4-1.7-1.2-2.7 1.1-1.8 3.5-2.2-1-1.4-1.6-3.7.4-5.6 1-2.8 1.3-1.2 3.4-1 1 1.5 3.7-4.2 1.4-1.9 1.4-.4 2.2 1.2 2.4v2.2l-1.6.4-6.1-2.5-2.3.9-2 1.4-.8 1.8 1.7 2.4-.9 1.8-.1 3.3-2.4 1.3-2.1 1.7z" />
d="m 607.2,331.8 12.6,-0.7 0.1,-4.1 h 4.3 l 30.4,-3.2 45.1,-4.3 5.6,-3.6 3.9,-2.1 0.1,-1.9 6,-7.8 4.1,-3.6 2.1,-2.4 -3.3,-2 -2.5,-2.7 -3,-3.8 -0.5,-2.2 -2.6,-1.4 -0.9,-1.9 -0.2,-6.1 -2.6,-2 -1.9,-1.1 -0.5,-2.3 -1.3,0.2 -2,1.2 -2.5,2.7 -1.9,-1.7 -2.5,-0.5 -2.4,1.4 h -2.3 l -1.8,-2 -5.6,-0.1 -1.8,-4.5 -2.9,-1.5 -2.1,0.8 -4.2,0.2 -0.5,2.1 1.2,1.5 0.3,2.1 -2.8,2 -3.8,1.8 -2.6,0.4 -0.5,4.5 -4.9,3.6 -2.6,3.7 0.2,2.2 -0.9,2.3 -4.5,-0.1 -1.3,-1.3 -3.9,2.2 0.2,3.3 -2.4,0.6 -0.8,-1.4 -1.7,-1.2 -2.7,1.1 -1.8,3.5 -2.2,-1 -1.4,-1.6 -3.7,0.4 -5.6,1 -2.8,1.3 -1.2,3.4 -1,1 1.5,3.7 -4.2,1.4 -1.9,1.4 -0.4,2.2 1.2,2.4 v 2.2 l -1.6,0.4 -6.1,-2.5 -2.3,0.9 -2,1.4 -0.8,1.8 1.7,2.4 -0.9,1.8 -0.1,3.3 -2.4,1.3 -2.1,1.7 z" />
<path
id="LA"
d="M526.9 485.9l8.1-.3 10.3 3.6 6.5 1.1 3.7-1.5 3.2 1.1 3.2 1 .8-2.1-3.2-1.1-2.6.5-2.7-1.6.8-1.5 3.1-1 1.8 1.5 1.8-1 3.2.6 1.5 2.4.3 2.3 4.5.3 1.8 1.8-.8 1.6-1.3.8 1.6 1.6 8.4 3.6 3.6-1.3 1-2.4 2.6-.6 1.8-1.5 1.3 1 .8 2.9-2.3.8.6.6 3.4-1.3 2.3-3.4.8-.5-2.1-.3.8-1.6-.2-1.5 2.1-.5 1.1-1.3.6.8.6 3.1 4.2.6 4 1.9 1 1.5h2.9l1.1 1 2.3-3.1V493h-1.3l-3.4-2.7-5.8-.8-3.2-2.3 1.1-2.7 2.3.3.2-.6-1.8-1v-.5h3.2l1.8-3.1-1.3-1.9-.3-2.7-1.5.2-1.9 2.1-.6 2.6-3.1-.6-1-1.8 1.8-1.9 1.9-1.7-2.2-6.5-3.4-3.4 1-7.3-.2-.5-1.3.2-33.1 1.4-.8-2.4.8-8.5 8.6-14.8-.9-2.6 1.4-.4.4-2-2.2-2 .1-1.9-2-4.5-.4-5.1.1-.7-26.4.8-25.2.1.4 9.7.7 9.5.5 3.7 2.6 4.5.9 4.4 4.3 6 .3 3.1.6.8-.7 8.3-2.8 4.6 1.2 2.4-.5 2.6-.8 7.3-1.3 3 .2 3.7z" />
d="m 526.9,485.9 8.1,-0.3 10.3,3.6 6.5,1.1 3.7,-1.5 3.2,1.1 3.2,1 0.8,-2.1 -3.2,-1.1 -2.6,0.5 -2.7,-1.6 0.8,-1.5 3.1,-1 1.8,1.5 1.8,-1 3.2,0.6 1.5,2.4 0.3,2.3 4.5,0.3 1.8,1.8 -0.8,1.6 -1.3,0.8 1.6,1.6 8.4,3.6 3.6,-1.3 1,-2.4 2.6,-0.6 1.8,-1.5 1.3,1 0.8,2.9 -2.3,0.8 0.6,0.6 3.4,-1.3 2.3,-3.4 0.8,-0.5 -2.1,-0.3 0.8,-1.6 -0.2,-1.5 2.1,-0.5 1.1,-1.3 0.6,0.8 0.6,3.1 4.2,0.6 4,1.9 1,1.5 h 2.9 l 1.1,1 2.3,-3.1 V 493 h -1.3 l -3.4,-2.7 -5.8,-0.8 -3.2,-2.3 1.1,-2.7 2.3,0.3 0.2,-0.6 -1.8,-1 v -0.5 h 3.2 l 1.8,-3.1 -1.3,-1.9 -0.3,-2.7 -1.5,0.2 -1.9,2.1 -0.6,2.6 -3.1,-0.6 -1,-1.8 1.8,-1.9 1.9,-1.7 -2.2,-6.5 -3.4,-3.4 1,-7.3 -0.2,-0.5 -1.3,0.2 -33.1,1.4 -0.8,-2.4 0.8,-8.5 8.6,-14.8 -0.9,-2.6 1.4,-0.4 0.4,-2 -2.2,-2 0.1,-1.9 -2,-4.5 -0.4,-5.1 0.1,-0.7 -26.4,0.8 -25.2,0.1 0.4,9.7 0.7,9.5 0.5,3.7 2.6,4.5 0.9,4.4 4.3,6 0.3,3.1 0.6,0.8 -0.7,8.3 -2.8,4.6 1.2,2.4 -0.5,2.6 -0.8,7.3 -1.3,3 0.2,3.7 z" />
<path
id="MA"
d="M887.5 172.5l-.5-2.3.8-1.5 2.9-1.5.8 3.1-.5 1.8-2.4 1.5v1l1.9-1.5 3.9-4.5 3.9-1.9 4.2-1.5-.3-2.4-1-2.9-1.9-2.4-1.8-.8-2.1.2-.5.5 1 1.3 1.5-.8 2.1 1.6.8 2.7-1.8 1.8-2.3 1-3.6-.5-3.9-6-2.3-2.6h-1.8l-1.1.8-1.9-2.6.3-1.5 2.4-5.2-2.9-4.4-3.7 1.8-1.8 2.9-18.3 4.7-13.8 2.5-.6 10.6.7 4.9 22-4.8 11.2-2.8 2 1.6 3.4 4.3 2.9 4.7zm12.5 1.4l2.2-.7.5-1.7 1 .1 1 2.3-1.3.5-3.9.1zm-9.4.8l2.3-2.6h1.6l1.8 1.5-2.4 1-2.2 1z" />
d="m 887.5,172.5 -0.5,-2.3 0.8,-1.5 2.9,-1.5 0.8,3.1 -0.5,1.8 -2.4,1.5 v 1 l 1.9,-1.5 3.9,-4.5 3.9,-1.9 4.2,-1.5 -0.3,-2.4 -1,-2.9 -1.9,-2.4 -1.8,-0.8 -2.1,0.2 -0.5,0.5 1,1.3 1.5,-0.8 2.1,1.6 0.8,2.7 -1.8,1.8 -2.3,1 -3.6,-0.5 -3.9,-6 -2.3,-2.6 h -1.8 l -1.1,0.8 -1.9,-2.6 0.3,-1.5 2.4,-5.2 -2.9,-4.4 -3.7,1.8 -1.8,2.9 -18.3,4.7 -13.8,2.5 -0.6,10.6 0.7,4.9 22,-4.8 11.2,-2.8 2,1.6 3.4,4.3 2.9,4.7 z m 12.5,1.4 2.2,-0.7 0.5,-1.7 1,0.1 1,2.3 -1.3,0.5 -3.9,0.1 z m -9.4,0.8 2.3,-2.6 h 1.6 l 1.8,1.5 -2.4,1 -2.2,1 z" />
<path
id="MD"
d="M834.8 264.1l1.7-3.8.5-4.8-6.3 1.1-5.8.3-3.8-16.8-2.3-5.5-1.5-4.6-22.2 4.3-37.6 7.6 2 10.4 4.8-4.9 2.5-.7 1.4-1.5 1.8-2.7 1.6.7 2.6-.2 2.6-2.1 2-1.5 2.1-.6 1.5 1.1 2.7 1.4 1.9 1.8 1.3 1.4 4.8 1.6-.6 2.9 5.8 2.1 2.1-2.6 3.7 2.5-2.1 3.3-.7 3.3-1.8 2.6v2.1l.3.8 2 1.3 3.4 1.1 4.3-.1 3.1 1 2.1.3 1-2.1-1.5-2.1v-1.8l-2.4-2.1-2.1-5.5 1.3-5.3-.2-2.1-1.3-1.3s1.5-1.6 1.5-2.3c0-.6.5-2.1.5-2.1l1.9-1.3 1.9-1.6.5 1-1.5 1.6-1.3 3.7.3 1.1 1.8.3.5 5.5-2.1 1 .3 3.6.5-.2 1.1-1.9 1.6 1.8-1.6 1.3-.3 3.4 2.6 3.4 3.9.5 1.6-.8 3.2 4.2 1 .4zm-14.5.2l1.1 2.5.2 1.8 1.1 1.9s.9-.9.9-1.2c0-.3-.7-3.1-.7-3.1l-.7-2.3z" />
d="m 834.8,264.1 1.7,-3.8 0.5,-4.8 -6.3,1.1 -5.8,0.3 -3.8,-16.8 -2.3,-5.5 -1.5,-4.6 -22.2,4.3 -37.6,7.6 2,10.4 4.8,-4.9 2.5,-0.7 1.4,-1.5 1.8,-2.7 1.6,0.7 2.6,-0.2 2.6,-2.1 2,-1.5 2.1,-0.6 1.5,1.1 2.7,1.4 1.9,1.8 1.3,1.4 4.8,1.6 -0.6,2.9 5.8,2.1 2.1,-2.6 3.7,2.5 -2.1,3.3 -0.7,3.3 -1.8,2.6 v 2.1 l 0.3,0.8 2,1.3 3.4,1.1 4.3,-0.1 3.1,1 2.1,0.3 1,-2.1 -1.5,-2.1 v -1.8 l -2.4,-2.1 -2.1,-5.5 1.3,-5.3 -0.2,-2.1 -1.3,-1.3 c 0,0 1.5,-1.6 1.5,-2.3 0,-0.6 0.5,-2.1 0.5,-2.1 l 1.9,-1.3 1.9,-1.6 0.5,1 -1.5,1.6 -1.3,3.7 0.3,1.1 1.8,0.3 0.5,5.5 -2.1,1 0.3,3.6 0.5,-0.2 1.1,-1.9 1.6,1.8 -1.6,1.3 -0.3,3.4 2.6,3.4 3.9,0.5 1.6,-0.8 3.2,4.2 1,0.4 z m -14.5,0.2 1.1,2.5 0.2,1.8 1.1,1.9 c 0,0 0.9,-0.9 0.9,-1.2 0,-0.3 -0.7,-3.1 -0.7,-3.1 l -0.7,-2.3 z" />
<path
id="ME"
d="M865.8 91.9l1.5.4v-2.6l.8-5.5 2.6-4.7 1.5-4-1.9-2.4v-6l.8-1 .8-2.7-.2-1.5-.2-4.8 1.8-4.8 2.9-8.9 2.1-4.2h1.3l1.3.2v1.1l1.3 2.3 2.7.6.8-.8v-1l4-2.9 1.8-1.8 1.5.2 6 2.4 1.9 1 9.1 29.9h6l.8 1.9.2 4.8 2.9 2.3h.8l.2-.5-.5-1.1 2.8-.5 1.9 2.1 2.3 3.7V85l-2.1 4.7-1.9.6-3.4 3.1-4.8 5.5h-1.3c-.6 0-1-2.1-1-2.1l-1.8.2-1 1.5-2.4 1.5-1 1.5 1.6 1.5-.5.6-.5 2.7-1.9-.2v-1.6l-.3-1.3-1.5.3-1.8-3.2-2.1 1.3 1.3 1.5.3 1.1-.8 1.3.3 3.1.2 1.6-1.6 2.6-2.9.5-.3 2.9-5.3 3.1-1.3.5-1.6-1.5-3.1 3.6 1 3.2-1.5 1.3-.2 4.4-1.1 6.3-2.2-.9-.5-3.1-4-1.1-.2-2.5-11.7-37.43zm36.5 15.6l1.5-1.5 1.4 1.1.6 2.4-1.7.9zm6.7-5.9l1.8 1.9s1.3.1 1.3-.2c0-.3.2-2 .2-2l.9-.8-.8-1.8-2 .7z" />
d="m 865.8,91.9 1.5,0.4 v -2.6 l 0.8,-5.5 2.6,-4.7 1.5,-4 -1.9,-2.4 v -6 l 0.8,-1 0.8,-2.7 -0.2,-1.5 -0.2,-4.8 1.8,-4.8 2.9,-8.9 2.1,-4.2 h 1.3 l 1.3,0.2 v 1.1 l 1.3,2.3 2.7,0.6 0.8,-0.8 v -1 l 4,-2.9 1.8,-1.8 1.5,0.2 6,2.4 1.9,1 9.1,29.9 h 6 l 0.8,1.9 0.2,4.8 2.9,2.3 h 0.8 l 0.2,-0.5 -0.5,-1.1 2.8,-0.5 1.9,2.1 2.3,3.7 V 85 l -2.1,4.7 -1.9,0.6 -3.4,3.1 -4.8,5.5 h -1.3 c -0.6,0 -1,-2.1 -1,-2.1 l -1.8,0.2 -1,1.5 -2.4,1.5 -1,1.5 1.6,1.5 -0.5,0.6 -0.5,2.7 -1.9,-0.2 v -1.6 l -0.3,-1.3 -1.5,0.3 -1.8,-3.2 -2.1,1.3 1.3,1.5 0.3,1.1 -0.8,1.3 0.3,3.1 0.2,1.6 -1.6,2.6 -2.9,0.5 -0.3,2.9 -5.3,3.1 -1.3,0.5 -1.6,-1.5 -3.1,3.6 1,3.2 -1.5,1.3 -0.2,4.4 -1.1,6.3 -2.2,-0.9 -0.5,-3.1 -4,-1.1 -0.2,-2.5 -11.7,-37.43 z m 36.5,15.6 1.5,-1.5 1.4,1.1 0.6,2.4 -1.7,0.9 z m 6.7,-5.9 1.8,1.9 c 0,0 1.3,0.1 1.3,-0.2 0,-0.3 0.2,-2 0.2,-2 l 0.9,-0.8 -0.8,-1.8 -2,0.7 z" />
<path
id="MI"
d="M644.5 211l19.1-1.9.2 1.1 9.9-1.5 12-1.7.1-.6.2-1.5 2.1-3.7 2-1.7-.2-5.1 1.6-1.6 1.1-.3.2-3.6 1.5-3 1.1.6.2.6.8.2 1.9-1-.4-9.1-3.2-8.2-2.3-9.1-2.4-3.2-2.6-1.8-1.6 1.1-3.9 1.8-1.9 5-2.7 3.7-1.1.6-1.5-.6s-2.6-1.5-2.4-2.1c.2-.6.5-5 .5-5l3.4-1.3.8-3.4.6-2.6 2.4-1.6-.3-10-1.6-2.3-1.3-.8-.8-2.1.8-.8 1.6.3.2-1.6-2.6-2.2-1.3-2.6h-2.6l-4.5-1.5-5.5-3.4h-2.7l-.6.6-1-.5-3.1-2.3-2.9 1.8-2.9 2.3.3 3.6 1 .3 2.1.5.5.8-2.6.8-2.6.3-1.5 1.8-.3 2.1.3 1.6.3 5.5-3.6 2.1-.6-.2v-4.2l1.3-2.4.6-2.4-.8-.8-1.9.8-1 4.2-2.7 1.1-1.8 1.9-.2 1 .6.8-.6 2.6-2.3.5v1.1l.8 2.4-1.1 6.1-1.6 4 .6 4.7.5 1.1-.8 2.4-.3.8-.3 2.7 3.6 6 2.9 6.5 1.5 4.8-.8 4.7-1 6-2.4 5.2-.3 2.7-3.2 3.1zm-33.3-72.4l-1.3-1.1-1.8-10.4-3.7-1.3-1.7-2.3-12.6-2.8-2.8-1.1-8.1-2.2-7.8-1-3.9-5.3.7-.5 2.7-.8 3.6-2.3v-1l.6-.6 6-1 2.4-1.9 4.4-2.1.2-1.3 1.9-2.9 1.8-.8 1.3-1.8 2.3-2.3 4.4-2.4 4.7-.5 1.1 1.1-.3 1-3.7 1-1.5 3.1-2.3.8-.5 2.4-2.4 3.2-.3 2.6.8.5 1-1.1 3.6-2.9 1.3 1.3h2.3l3.2 1 1.5 1.1 1.5 3.1 2.7 2.7 3.9-.2 1.5-1 1.6 1.3 1.6.5 1.3-.8h1.1l1.6-1 4-3.6 3.4-1.1 6.6-.3 4.5-1.9 2.6-1.3 1.5.2v5.7l.5.3 2.9.8 1.9-.5 6.1-1.6 1.1-1.1 1.5.5v7l3.2 3.1 1.3.6 1.3 1-1.3.3-.8-.3-3.7-.5-2.1.6-2.3-.2-3.2 1.5h-1.8l-5.8-1.3-5.2.2-1.9 2.6-7 .6-2.4.8-1.1 3.1-1.3 1.1-.5-.2-1.5-1.6-4.5 2.4h-.6l-1.1-1.6-.8.2-1.9 4.4-1 4-3.2 6.9zm-29.6-56.5l1.8-2.1 2.2-.8 5.4-3.9 2.3-.6.5.5-5.1 5.1-3.3 1.9-2.1.9zm86.2 32.1l.6 2.5 3.2.2 1.3-1.2s-.1-1.5-.4-1.6c-.3-.2-1.6-1.9-1.6-1.9l-2.2.2-1.6.2-.3 1.1z" />
d="m 644.5,211 19.1,-1.9 0.2,1.1 9.9,-1.5 12,-1.7 0.1,-0.6 0.2,-1.5 2.1,-3.7 2,-1.7 -0.2,-5.1 1.6,-1.6 1.1,-0.3 0.2,-3.6 1.5,-3 1.1,0.6 0.2,0.6 0.8,0.2 1.9,-1 -0.4,-9.1 -3.2,-8.2 -2.3,-9.1 -2.4,-3.2 -2.6,-1.8 -1.6,1.1 -3.9,1.8 -1.9,5 -2.7,3.7 -1.1,0.6 -1.5,-0.6 c 0,0 -2.6,-1.5 -2.4,-2.1 0.2,-0.6 0.5,-5 0.5,-5 l 3.4,-1.3 0.8,-3.4 0.6,-2.6 2.4,-1.6 -0.3,-10 -1.6,-2.3 -1.3,-0.8 -0.8,-2.1 0.8,-0.8 1.6,0.3 0.2,-1.6 -2.6,-2.2 -1.3,-2.6 h -2.6 l -4.5,-1.5 -5.5,-3.4 h -2.7 l -0.6,0.6 -1,-0.5 -3.1,-2.3 -2.9,1.8 -2.9,2.3 0.3,3.6 1,0.3 2.1,0.5 0.5,0.8 -2.6,0.8 -2.6,0.3 -1.5,1.8 -0.3,2.1 0.3,1.6 0.3,5.5 -3.6,2.1 -0.6,-0.2 v -4.2 l 1.3,-2.4 0.6,-2.4 -0.8,-0.8 -1.9,0.8 -1,4.2 -2.7,1.1 -1.8,1.9 -0.2,1 0.6,0.8 -0.6,2.6 -2.3,0.5 v 1.1 l 0.8,2.4 -1.1,6.1 -1.6,4 0.6,4.7 0.5,1.1 -0.8,2.4 -0.3,0.8 -0.3,2.7 3.6,6 2.9,6.5 1.5,4.8 -0.8,4.7 -1,6 -2.4,5.2 -0.3,2.7 -3.2,3.1 z m -33.3,-72.4 -1.3,-1.1 -1.8,-10.4 -3.7,-1.3 -1.7,-2.3 -12.6,-2.8 -2.8,-1.1 -8.1,-2.2 -7.8,-1 -3.9,-5.3 0.7,-0.5 2.7,-0.8 3.6,-2.3 v -1 l 0.6,-0.6 6,-1 2.4,-1.9 4.4,-2.1 0.2,-1.3 1.9,-2.9 1.8,-0.8 1.3,-1.8 2.3,-2.3 4.4,-2.4 4.7,-0.5 1.1,1.1 -0.3,1 -3.7,1 -1.5,3.1 -2.3,0.8 -0.5,2.4 -2.4,3.2 -0.3,2.6 0.8,0.5 1,-1.1 3.6,-2.9 1.3,1.3 h 2.3 l 3.2,1 1.5,1.1 1.5,3.1 2.7,2.7 3.9,-0.2 1.5,-1 1.6,1.3 1.6,0.5 1.3,-0.8 h 1.1 l 1.6,-1 4,-3.6 3.4,-1.1 6.6,-0.3 4.5,-1.9 2.6,-1.3 1.5,0.2 v 5.7 l 0.5,0.3 2.9,0.8 1.9,-0.5 6.1,-1.6 1.1,-1.1 1.5,0.5 v 7 l 3.2,3.1 1.3,0.6 1.3,1 -1.3,0.3 -0.8,-0.3 -3.7,-0.5 -2.1,0.6 -2.3,-0.2 -3.2,1.5 h -1.8 l -5.8,-1.3 -5.2,0.2 -1.9,2.6 -7,0.6 -2.4,0.8 -1.1,3.1 -1.3,1.1 -0.5,-0.2 -1.5,-1.6 -4.5,2.4 h -0.6 l -1.1,-1.6 -0.8,0.2 -1.9,4.4 -1,4 -3.2,6.9 z m -29.6,-56.5 1.8,-2.1 2.2,-0.8 5.4,-3.9 2.3,-0.6 0.5,0.5 -5.1,5.1 -3.3,1.9 -2.1,0.9 z m 86.2,32.1 0.6,2.5 3.2,0.2 1.3,-1.2 c 0,0 -0.1,-1.5 -0.4,-1.6 -0.3,-0.2 -1.6,-1.9 -1.6,-1.9 l -2.2,0.2 -1.6,0.2 -0.3,1.1 z" />
<path
id="MN"
d="M464.6 66.79l-.6 3.91v10.27l1.6 5.03 1.9 3.32.5 9.93 1.8 13.45 1.8 7.3.4 6.4v5.3l-1.6 1.8-1.8 1.3v1.5l.9 1.7 4.1 3.5.7 3.2v35.9l60.3-.6 21.2-.7-.5-6-1.8-2.1-7.2-4.6-3.6-5.3-3.4-.9-2-2.8h-3.2l-3.5-3.8-.5-7 .1-3.9 1.5-3-.7-2.7-2.8-3.1 2.2-6.1 5.4-4 1.2-1.4-.2-8 .2-3 2.6-3 3.8-2.9 1.3-.2 4.5-5 1.8-.8 2.3-3.9 2.4-3.6 3.1-2.6 4.8-2 9.2-4.1 3.9-1.8.6-2.3-4.4.4-.7 1.1h-.6l-1.8-3.1-8.9.3-1 .8h-1l-.5-1.3-.8-1.8-2.6.5-3.2 3.2-1.6.8h-3.1l-2.6-1v-2.1l-1.3-.2-.5.5-2.6-1.3-.5-2.9-1.5.5-.5 1-2.4-.5-5.3-2.4-3.9-2.6h-2.9l-1.3-1-2.3.6-1.1 1.1-.3 1.3h-4.8v-2.1l-6.3-.3-.3-1.5h-4.8l-1.6-1.6-1.5-6.1-.8-5.5-1.9-.8-2.3-.5-.6.2-.3 8.2-30.1-.03z" />
d="M 464.6,66.79 464,70.7 v 10.27 l 1.6,5.03 1.9,3.32 0.5,9.93 1.8,13.45 1.8,7.3 0.4,6.4 v 5.3 l -1.6,1.8 -1.8,1.3 v 1.5 l 0.9,1.7 4.1,3.5 0.7,3.2 v 35.9 l 60.3,-0.6 21.2,-0.7 -0.5,-6 -1.8,-2.1 -7.2,-4.6 -3.6,-5.3 -3.4,-0.9 -2,-2.8 h -3.2 l -3.5,-3.8 -0.5,-7 0.1,-3.9 1.5,-3 -0.7,-2.7 -2.8,-3.1 2.2,-6.1 5.4,-4 1.2,-1.4 -0.2,-8 0.2,-3 2.6,-3 3.8,-2.9 1.3,-0.2 4.5,-5 1.8,-0.8 2.3,-3.9 2.4,-3.6 3.1,-2.6 4.8,-2 9.2,-4.1 3.9,-1.8 0.6,-2.3 -4.4,0.4 -0.7,1.1 h -0.6 l -1.8,-3.1 -8.9,0.3 -1,0.8 h -1 l -0.5,-1.3 -0.8,-1.8 -2.6,0.5 -3.2,3.2 -1.6,0.8 h -3.1 l -2.6,-1 v -2.1 l -1.3,-0.2 -0.5,0.5 -2.6,-1.3 -0.5,-2.9 -1.5,0.5 -0.5,1 -2.4,-0.5 -5.3,-2.4 -3.9,-2.6 h -2.9 l -1.3,-1 -2.3,0.6 -1.1,1.1 -0.3,1.3 h -4.8 v -2.1 l -6.3,-0.3 -0.3,-1.5 h -4.8 l -1.6,-1.6 -1.5,-6.1 -0.8,-5.5 -1.9,-0.8 -2.3,-0.5 -0.6,0.2 -0.3,8.2 -30.1,-0.03 z" />
<path
id="MO"
d="M593.1 338.7l.5-5.9 4.2-3.4 1.9-1v-2.9l.7-1.6-1.1-1.6-2.4.3-2.1-2.5-1.7-4.5.9-2.6-2-3.2-1.8-4.6-4.6-.7-6.8-5.6-2.2-4.2.8-3.3 2.2-6 .6-3-1.9-1-6.9-.6-1.1-1.9v-4.1l-5.3-3.5-7.2-7.8-2.3-7.3-.5-4.2.7-2.4-2.6-3.1-1.2-2.4-7.7.8-10 .6-48.8 1.2 1.3 2.6-.1 2.2 2.3 3.6 3 3.9 3.1 3 2.6.2 1.4 1.1v2.9l-1.8 1.6-.5 2.3 2.1 3.2 2.4 3 2.6 2.1 1.3 11.6-.8 40 .5 5.7 23.7-.2 23.3-.7 32.5-1.3 2.2 3.7-.8 3.1-3.1 2.5-.5 1.8 5.2.5 4.1-1.1z" />
d="m 593.1,338.7 0.5,-5.9 4.2,-3.4 1.9,-1 v -2.9 l 0.7,-1.6 -1.1,-1.6 -2.4,0.3 -2.1,-2.5 -1.7,-4.5 0.9,-2.6 -2,-3.2 -1.8,-4.6 -4.6,-0.7 -6.8,-5.6 -2.2,-4.2 0.8,-3.3 2.2,-6 0.6,-3 -1.9,-1 -6.9,-0.6 -1.1,-1.9 v -4.1 l -5.3,-3.5 -7.2,-7.8 -2.3,-7.3 -0.5,-4.2 0.7,-2.4 -2.6,-3.1 -1.2,-2.4 -7.7,0.8 -10,0.6 -48.8,1.2 1.3,2.6 -0.1,2.2 2.3,3.6 3,3.9 3.1,3 2.6,0.2 1.4,1.1 v 2.9 l -1.8,1.6 -0.5,2.3 2.1,3.2 2.4,3 2.6,2.1 1.3,11.6 -0.8,40 0.5,5.7 23.7,-0.2 23.3,-0.7 32.5,-1.3 2.2,3.7 -0.8,3.1 -3.1,2.5 -0.5,1.8 5.2,0.5 4.1,-1.1 z" />
<path
id="MS"
d="M604.3 472.5l2.6-4.2 1.8.8 6.8-1.9 2.1.3 1.5.8h5.2l.4-1.6-1.7-14.8-2.8-19 1-45.1-.2-16.7.2-6.3-4.8.3-19.6 1.6-13 .4-.2 3.2-2.8 1.3-2.6 5.1.5 1.6.1 2.4-2.9 1.1-3.5 5.1.8 2.3-3 2.5-1 5.7-.6 1.9 1.6 2.5-1.5 1.4 1.5 2.8.3 4.2-1.2 2.5-.2.9.4 5 2 4.5-.1 1.7 2.3 2-.7 3.1-.9.3.6 1.9-8.6 15-.8 8.2.5 1.5 24.2-.7 8.2-.7 1.9-.3.6 1.4-1 7.1 3.3 3.3 2.2 6.4z"
d="m 604.3,472.5 2.6,-4.2 1.8,0.8 6.8,-1.9 2.1,0.3 1.5,0.8 h 5.2 l 0.4,-1.6 -1.7,-14.8 -2.8,-19 1,-45.1 -0.2,-16.7 0.2,-6.3 -4.8,0.3 -19.6,1.6 -13,0.4 -0.2,3.2 -2.8,1.3 -2.6,5.1 0.5,1.6 0.1,2.4 -2.9,1.1 -3.5,5.1 0.8,2.3 -3,2.5 -1,5.7 -0.6,1.9 1.6,2.5 -1.5,1.4 1.5,2.8 0.3,4.2 -1.2,2.5 -0.2,0.9 0.4,5 2,4.5 -0.1,1.7 2.3,2 -0.7,3.1 -0.9,0.3 0.6,1.9 -8.6,15 -0.8,8.2 0.5,1.5 24.2,-0.7 8.2,-0.7 1.9,-0.3 0.6,1.4 -1,7.1 3.3,3.3 2.2,6.4 z"
style="fill:#552200" />
<path
id="MT"
d="M361.1 70.77l-5.3 57.13-1.3 15.2-59.1-6.6-49-7.1-1.4 11.2-1.9-1.7-.4-2.5-1.3-1.9-3.3 1.5-.7 2.5-2.3.3-3.8-1.6-4.1.1-2.4.7-3.2-1.5-3 .2-2.1 1.9-.9-.6-.7-3.4.7-3.2-2.7-3.2-3.3-2.5-2.5-12.6-.1-5.3-1.6-.8-.6 1-4.5 3.2-1.2-.1-2.3-2.8-.2-2.8 7-17.15-.6-2.67-3.5-1.12-.4-.91-2.7-3.5-4.6-10.41-3.2-1.58-1.8-4.26 1.3-4.63-3.2-7.57 4.4-21.29L222 37.3l18.4 3.4 32.3 5.3 29.3 4 29.2 3.5 30.8 3.07z" />
d="m 361.1,70.77 -5.3,57.13 -1.3,15.2 -59.1,-6.6 -49,-7.1 -1.4,11.2 -1.9,-1.7 -0.4,-2.5 -1.3,-1.9 -3.3,1.5 -0.7,2.5 -2.3,0.3 -3.8,-1.6 -4.1,0.1 -2.4,0.7 -3.2,-1.5 -3,0.2 -2.1,1.9 -0.9,-0.6 -0.7,-3.4 0.7,-3.2 -2.7,-3.2 -3.3,-2.5 -2.5,-12.6 -0.1,-5.3 -1.6,-0.8 -0.6,1 -4.5,3.2 -1.2,-0.1 -2.3,-2.8 -0.2,-2.8 7,-17.15 -0.6,-2.67 -3.5,-1.12 -0.4,-0.91 -2.7,-3.5 -4.6,-10.41 -3.2,-1.58 -1.8,-4.26 1.3,-4.63 -3.2,-7.57 4.4,-21.29 32.7,6.89 18.4,3.4 32.3,5.3 29.3,4 29.2,3.5 30.8,3.07 z" />
<path
id="NC"
d="M786.7 357.7L774 350l-3.1-.8-16.6 2.1-1.6-3-2.8-2.2-16.7.5-7.4.9-9.2 4.5-6.8 2.7-6.5 1.2-13.4 1.4.1-4.1 1.7-1.3 2.7-.7.7-3.8 3.9-2.5 3.9-1.5 4.5-3.7 4.4-2.3.7-3.2 4.1-3.8.7 1 2.5.2 2.4-3.6 1.7-.4 2.6.3 1.8-4 2.5-2.4.5-1.8.1-3.5 4.4.1 38.5-5.6 57.5-12.3 2 4.8 3.6 6.5 2.4 2.4.6 2.3-2.4.2.8.6-.3 4.2-2.6 1.3-.6 2.1-1.3 2.9-3.7 1.6-2.4-.3-1.5-.2-1.6-1.3.3 1.3v1h1.9l.8 1.3-1.9 6.3h4.2l.6 1.6 2.3-2.3 1.3-.5-1.9 3.6-3.1 4.8H828l-1.1-.5-2.7.6-5.2 2.4-6.5 5.3-3.4 4.7-1.9 6.5-.5 2.4-4.7.5-5.1 1.5zm49.3-26.2l2.6-2.5 3.2-2.6 1.5-.6.2-2-.6-6.1-1.5-2.3-.6-1.9.7-.2 2.7 5.5.4 4.4-.2 3.4-3.4 1.5-2.8 2.4-1.1 1.2z"
d="M 786.7,357.7 774,350 l -3.1,-0.8 -16.6,2.1 -1.6,-3 -2.8,-2.2 -16.7,0.5 -7.4,0.9 -9.2,4.5 -6.8,2.7 -6.5,1.2 -13.4,1.4 0.1,-4.1 1.7,-1.3 2.7,-0.7 0.7,-3.8 3.9,-2.5 3.9,-1.5 4.5,-3.7 4.4,-2.3 0.7,-3.2 4.1,-3.8 0.7,1 2.5,0.2 2.4,-3.6 1.7,-0.4 2.6,0.3 1.8,-4 2.5,-2.4 0.5,-1.8 0.1,-3.5 4.4,0.1 38.5,-5.6 57.5,-12.3 2,4.8 3.6,6.5 2.4,2.4 0.6,2.3 -2.4,0.2 0.8,0.6 -0.3,4.2 -2.6,1.3 -0.6,2.1 -1.3,2.9 -3.7,1.6 -2.4,-0.3 -1.5,-0.2 -1.6,-1.3 0.3,1.3 v 1 h 1.9 l 0.8,1.3 -1.9,6.3 h 4.2 l 0.6,1.6 2.3,-2.3 1.3,-0.5 -1.9,3.6 -3.1,4.8 H 828 l -1.1,-0.5 -2.7,0.6 -5.2,2.4 -6.5,5.3 -3.4,4.7 -1.9,6.5 -0.5,2.4 -4.7,0.5 -5.1,1.5 z m 49.3,-26.2 2.6,-2.5 3.2,-2.6 1.5,-0.6 0.2,-2 -0.6,-6.1 -1.5,-2.3 -0.6,-1.9 0.7,-0.2 2.7,5.5 0.4,4.4 -0.2,3.4 -3.4,1.5 -2.8,2.4 -1.1,1.2 z"
style="fill:#552200" />
<path
id="ND"
d="M471 126.4l-.4-6.2-1.8-7.3-1.8-13.61-.5-9.7-1.9-3.18-1.6-5.32V70.68l.6-3.85-1.8-5.54-28.6-.59-18.6-.6-26.5-1.3-25.2-2.16-.9 14.42-4.7 50.94 56.8 3.9 56.9 1.7z" />
d="m 471,126.4 -0.4,-6.2 -1.8,-7.3 -1.8,-13.61 -0.5,-9.7 -1.9,-3.18 -1.6,-5.32 V 70.68 l 0.6,-3.85 -1.8,-5.54 -28.6,-0.59 -18.6,-0.6 -26.5,-1.3 -25.2,-2.16 -0.9,14.42 -4.7,50.94 56.8,3.9 56.9,1.7 z" />
<path
id="NE"
d="M470.3 204.3l-1-2.3-.5-1.6-2.9-1.6-4.8-1.5-2.2-1.2-2.6.1-3.7.4-4.2 1.2-6-4.1-2.2-2-10.7.6-41.5-2.4-35.6-2.2-4.3 43.7 33.1 3.3-1.4 21.1 21.7 1 40.6 1.2 43.8.6h4.5l-2.2-3-2.6-3.9.1-2.3-1.4-2.7-1.9-5.2-.4-6.7-1.4-4.1-.5-5-2.3-3.7-1-4.7-2.8-7.9-1-5.3z" />
d="m 470.3,204.3 -1,-2.3 -0.5,-1.6 -2.9,-1.6 -4.8,-1.5 -2.2,-1.2 -2.6,0.1 -3.7,0.4 -4.2,1.2 -6,-4.1 -2.2,-2 -10.7,0.6 -41.5,-2.4 -35.6,-2.2 -4.3,43.7 33.1,3.3 -1.4,21.1 21.7,1 40.6,1.2 43.8,0.6 h 4.5 l -2.2,-3 -2.6,-3.9 0.1,-2.3 -1.4,-2.7 -1.9,-5.2 -0.4,-6.7 -1.4,-4.1 -0.5,-5 -2.3,-3.7 -1,-4.7 -2.8,-7.9 -1,-5.3 z" />
<path
id="NH"
d="M881.7 141.3l1.1-3.2-2.7-1.2-.5-3.1-4.1-1.1-.3-3-11.7-37.48-.7.08-.6 1.6-.6-.5-1-1-1.5 1.9-.2 2.29.5 8.41 1.9 2.8v4.3l-3.9 4.8-2.4.9v.7l1.1 1.9v8.6l-.8 9.2-.2 4.7 1 1.4-.2 4.7-.5 1.5 1 1.1 5.1-1.2 13.8-3.5 1.7-2.9 4-1.9z" />
d="m 881.7,141.3 1.1,-3.2 -2.7,-1.2 -0.5,-3.1 -4.1,-1.1 -0.3,-3 -11.7,-37.48 -0.7,0.08 -0.6,1.6 -0.6,-0.5 -1,-1 -1.5,1.9 -0.2,2.29 0.5,8.41 1.9,2.8 v 4.3 l -3.9,4.8 -2.4,0.9 v 0.7 l 1.1,1.9 v 8.6 l -0.8,9.2 -0.2,4.7 1,1.4 -0.2,4.7 -0.5,1.5 1,1.1 5.1,-1.2 13.8,-3.5 1.7,-2.9 4,-1.9 z" />
<path
id="NJ"
d="M823.7 228.3l.1-1.5 2.7-1.3 1.7-2.8 1.7-2.4 3.3-3.2v-1.2l-6.1-4.1-1-2.7-2.7-.3-.1-.9-.7-2.2 2.2-1.1.2-2.9-1.3-1.3.2-1.2 1.9-3.1V193l2.5-3.1 5.6 2.5 6.4 1.9 2.5 1.2.1 1.8-.5 2.7.4 4.5-2.1 1.9-1.1 1 .5.5 2.7-.3 1.1-.8 1.6 3.4.2 9.4.6 1.1-1.1 5.5-3.1 6.5-2.7 4-.8 4.8-2.1 2.4h-.8l-.3-2.7.8-1-.2-1.5-4-.6-4.8-2.3-3.2-2.9-1-2z" />
d="m 823.7,228.3 0.1,-1.5 2.7,-1.3 1.7,-2.8 1.7,-2.4 3.3,-3.2 v -1.2 l -6.1,-4.1 -1,-2.7 -2.7,-0.3 -0.1,-0.9 -0.7,-2.2 2.2,-1.1 0.2,-2.9 -1.3,-1.3 0.2,-1.2 1.9,-3.1 V 193 l 2.5,-3.1 5.6,2.5 6.4,1.9 2.5,1.2 0.1,1.8 -0.5,2.7 0.4,4.5 -2.1,1.9 -1.1,1 0.5,0.5 2.7,-0.3 1.1,-0.8 1.6,3.4 0.2,9.4 0.6,1.1 -1.1,5.5 -3.1,6.5 -2.7,4 -0.8,4.8 -2.1,2.4 h -0.8 l -0.3,-2.7 0.8,-1 -0.2,-1.5 -4,-0.6 -4.8,-2.3 -3.2,-2.9 -1,-2 z" />
<path
id="NM"
d="M270.2 429.4l-16.7-2.6-1.2 9.6-15.8-2 6-39.7 7-53.2 4.4-30.9 34 3.9 37.4 4.4 32 2.8-.3 10.8-1.4-.1-7.4 97.7-28.4-1.8-38.1-3.7.7 6.3z" />
d="m 270.2,429.4 -16.7,-2.6 -1.2,9.6 -15.8,-2 6,-39.7 7,-53.2 4.4,-30.9 34,3.9 37.4,4.4 32,2.8 -0.3,10.8 -1.4,-0.1 -7.4,97.7 -28.4,-1.8 -38.1,-3.7 0.7,6.3 z" />
<path
id="NV"
d="M123.1 173.6l38.7 8.5 26 5.2-10.6 53.1-5.4 29.8-3.3 15.5-2.1 11.1-2.6 16.4-1.7 3.1-1.6-.1-1.2-2.6-2.8-.5-1.3-1.1-1.8.1-.9.8-1.8 1.3-.3 7.3-.3 1.5-.5 12.4-1.1 1.8-16.7-25.5-42.1-62.1-12.43-19 8.55-32.6 8.01-31.3z" />
d="m 123.1,173.6 38.7,8.5 26,5.2 -10.6,53.1 -5.4,29.8 -3.3,15.5 -2.1,11.1 -2.6,16.4 -1.7,3.1 -1.6,-0.1 -1.2,-2.6 -2.8,-0.5 -1.3,-1.1 -1.8,0.1 -0.9,0.8 -1.8,1.3 -0.3,7.3 -0.3,1.5 -0.5,12.4 -1.1,1.8 -16.7,-25.5 -42.1,-62.1 -12.43,-19 8.55,-32.6 8.01,-31.3 z" />
<path
id="NY"
d="M843.4 200l.5-2.7-.2-2.4-3-1.5-6.5-2-6-2.6-.6-.4-2.7-.3-2-1.5-2.1-5.9-3.3-.5-2.4-2.4-38.4 8.1-31.6 6-.5-6.5 1.6-1.2 1.3-1.1 1-1.6 1.8-1.1 1.9-1.8.5-1.6 2.1-2.7 1.1-1-.2-1-1.3-3.1-1.8-.2-1.9-6.1 2.9-1.8 4.4-1.5 4-1.3 3.2-.5 6.3-.2 1.9 1.3 1.6.2 2.1-1.3 2.6-1.1 5.2-.5 2.1-1.8 1.8-3.2 1.6-1.9h2.1l1.9-1.1.2-2.3-1.5-2.1-.3-1.5 1.1-2.1v-1.5h-1.8l-1.8-.8-.8-1.1-.2-2.6 5.8-5.5.6-.8 1.5-2.9 2.9-4.5 2.7-3.7 2.1-2.4 2.4-1.8 3.1-1.2 5.5-1.3 3.2.2 4.5-1.5 7.4-2.2.7 4.9 2.4 6.5.8 5-1 4.2 2.6 4.5.8 2-.9 3.2 3.7 1.7 2.7 10.2v5.8l-.6 10.9.8 5.4.7 3.6 1.5 7.3v8.1l-1.1 2.3 2.1 2.7.5.9-1.9 1.8.3 1.3 1.3-.3 1.5-1.3 2.3-2.6 1.1-.6 1.6.6 2.3.2 7.9-3.9 2.9-2.7 1.3-1.5 4.2 1.6-3.4 3.6-3.9 2.9-7.1 5.3-2.6 1-5.8 1.9-4 1.1-1-.4z" />
d="m 843.4,200 0.5,-2.7 -0.2,-2.4 -3,-1.5 -6.5,-2 -6,-2.6 -0.6,-0.4 -2.7,-0.3 -2,-1.5 -2.1,-5.9 -3.3,-0.5 -2.4,-2.4 -38.4,8.1 -31.6,6 -0.5,-6.5 1.6,-1.2 1.3,-1.1 1,-1.6 1.8,-1.1 1.9,-1.8 0.5,-1.6 2.1,-2.7 1.1,-1 -0.2,-1 -1.3,-3.1 -1.8,-0.2 -1.9,-6.1 2.9,-1.8 4.4,-1.5 4,-1.3 3.2,-0.5 6.3,-0.2 1.9,1.3 1.6,0.2 2.1,-1.3 2.6,-1.1 5.2,-0.5 2.1,-1.8 1.8,-3.2 1.6,-1.9 h 2.1 l 1.9,-1.1 0.2,-2.3 -1.5,-2.1 -0.3,-1.5 1.1,-2.1 v -1.5 h -1.8 l -1.8,-0.8 -0.8,-1.1 -0.2,-2.6 5.8,-5.5 0.6,-0.8 1.5,-2.9 2.9,-4.5 2.7,-3.7 2.1,-2.4 2.4,-1.8 3.1,-1.2 5.5,-1.3 3.2,0.2 4.5,-1.5 7.4,-2.2 0.7,4.9 2.4,6.5 0.8,5 -1,4.2 2.6,4.5 0.8,2 -0.9,3.2 3.7,1.7 2.7,10.2 v 5.8 l -0.6,10.9 0.8,5.4 0.7,3.6 1.5,7.3 v 8.1 l -1.1,2.3 2.1,2.7 0.5,0.9 -1.9,1.8 0.3,1.3 1.3,-0.3 1.5,-1.3 2.3,-2.6 1.1,-0.6 1.6,0.6 2.3,0.2 7.9,-3.9 2.9,-2.7 1.3,-1.5 4.2,1.6 -3.4,3.6 -3.9,2.9 -7.1,5.3 -2.6,1 -5.8,1.9 -4,1.1 -1,-0.4 z" />
<path
id="OH"
d="M663.8 211.2l1.7 15.5 4.8 41.1 3.9-.2 2.3-.8 3.6 1.8 1.7 4.2 5.4.1 1.8 2h1.7l2.4-1.4 3.1.5 1.5 1.3 1.8-2 2.3-1.4 2.4-.4.6 2.7 1.6 1 2.6 2 .8.2 2-.1 1.2-.6v-2.1l1.7-1.5.1-4.8 1.1-4.2 1.9-1.3 1 .7 1 1.1.7.2.4-.4-.9-2.7v-2.2l1.1-1.4 2.5-3.6 1.3-1.5 2.2.5 2.1-1.5 3-3.3 2.2-3.7.2-5.4.5-5V230l-1.2-3.2 1.2-1.8 1.3-1.2-.6-2.8-4.3-25.6-6.2 3.7-3.9 2.3-3.4 3.7-4 3.9-3.2.8-2.9.5-5.5 2.6-2.1.2-3.4-3.1-5.2.6-2.6-1.5-2.2-1.3z" />
d="m 663.8,211.2 1.7,15.5 4.8,41.1 3.9,-0.2 2.3,-0.8 3.6,1.8 1.7,4.2 5.4,0.1 1.8,2 h 1.7 l 2.4,-1.4 3.1,0.5 1.5,1.3 1.8,-2 2.3,-1.4 2.4,-0.4 0.6,2.7 1.6,1 2.6,2 0.8,0.2 2,-0.1 1.2,-0.6 v -2.1 l 1.7,-1.5 0.1,-4.8 1.1,-4.2 1.9,-1.3 1,0.7 1,1.1 0.7,0.2 0.4,-0.4 -0.9,-2.7 v -2.2 l 1.1,-1.4 2.5,-3.6 1.3,-1.5 2.2,0.5 2.1,-1.5 3,-3.3 2.2,-3.7 0.2,-5.4 0.5,-5 V 230 l -1.2,-3.2 1.2,-1.8 1.3,-1.2 -0.6,-2.8 -4.3,-25.6 -6.2,3.7 -3.9,2.3 -3.4,3.7 -4,3.9 -3.2,0.8 -2.9,0.5 -5.5,2.6 -2.1,0.2 -3.4,-3.1 -5.2,0.6 -2.6,-1.5 -2.2,-1.3 z" />
<path
id="OK"
d="M411.9 334.9l-1.8 24.3-.9 18 .2 1.6 4 3.6 1.7.9h.9l.9-2.1 1.5 1.9 1.6.1.3-.2.2-1.1 2.8 1.4-.4 3.5 3.8.5 2.5 1 4.2.6 2.3 1.6 2.5-1.7 3.5.7 2.2 3.1 1.2.1v2.3l2.1.7 2.5-2.1 1.8.6 2.7.1.7 2.3 4.4 1.8 1.7-.3 1.9-4.2h1.3l1.1 2.1 4.2.8 3.4 1.3 3 .8 1.6-.7.7-2.7h4.5l1.9.9 2.7-1.9h1.4l.6 1.4h3.6l2-1.8 2.3.6 1.7 2.2 3 1.7 3.4.9 1.9 1.2-.3-37.6-1.4-10.9-.1-8.6-1.5-6.6-.6-6.8.1-4.3-12.6.3-46.3-.5-44.7-2.1-41.5-1.8-.4 10.7z" />
d="m 411.9,334.9 -1.8,24.3 -0.9,18 0.2,1.6 4,3.6 1.7,0.9 h 0.9 l 0.9,-2.1 1.5,1.9 1.6,0.1 0.3,-0.2 0.2,-1.1 2.8,1.4 -0.4,3.5 3.8,0.5 2.5,1 4.2,0.6 2.3,1.6 2.5,-1.7 3.5,0.7 2.2,3.1 1.2,0.1 v 2.3 l 2.1,0.7 2.5,-2.1 1.8,0.6 2.7,0.1 0.7,2.3 4.4,1.8 1.7,-0.3 1.9,-4.2 h 1.3 l 1.1,2.1 4.2,0.8 3.4,1.3 3,0.8 1.6,-0.7 0.7,-2.7 h 4.5 l 1.9,0.9 2.7,-1.9 h 1.4 l 0.6,1.4 h 3.6 l 2,-1.8 2.3,0.6 1.7,2.2 3,1.7 3.4,0.9 1.9,1.2 -0.3,-37.6 -1.4,-10.9 -0.1,-8.6 -1.5,-6.6 -0.6,-6.8 0.1,-4.3 -12.6,0.3 -46.3,-0.5 -44.7,-2.1 -41.5,-1.8 -0.4,10.7 z" />
<path
id="OR"
d="M67.44 158.9l28.24 7.2 27.52 6.5 17 3.7 8.8-35.1 1.2-4.4 2.4-5.5-.7-1.3-2.5.1-1.3-1.8.6-1.5.4-3.3 4.7-5.7 1.9-.9.9-.8.7-2.7.8-1.1 3.9-5.7 3.7-4 .2-3.26-3.4-2.49-1.2-4.55-13.1-3.83L132.9 85l-14.8.37-1.1-1.31-5.1 1.84-4.5-.48-2.4-1.58-1.3.54-4.68-.29-1.96-1.43-4.84-1.77-1.1-.07-4.45-1.27-1.76 1.52-6.26-.24-5.31-3.85.21-9.28-2.05-3.5-4.1-.6-.7-2.5-2.4-.5-5.8 2.1-2.3 6.5-3.2 10-3.2 6.5-5 14.1-6.5 13.6-8.1 12.6-1.9 2.9-.8 8.6-1.3 6 2.71 3.5z" />
d="m 67.44,158.9 28.24,7.2 27.52,6.5 17,3.7 8.8,-35.1 1.2,-4.4 2.4,-5.5 -0.7,-1.3 -2.5,0.1 -1.3,-1.8 0.6,-1.5 0.4,-3.3 4.7,-5.7 1.9,-0.9 0.9,-0.8 0.7,-2.7 0.8,-1.1 3.9,-5.7 3.7,-4 0.2,-3.26 -3.4,-2.49 -1.2,-4.55 -13.1,-3.83 -15.3,-3.47 -14.8,0.37 -1.1,-1.31 -5.1,1.84 -4.5,-0.48 -2.4,-1.58 -1.3,0.54 -4.68,-0.29 -1.96,-1.43 -4.84,-1.77 -1.1,-0.07 -4.45,-1.27 -1.76,1.52 -6.26,-0.24 -5.31,-3.85 0.21,-9.28 -2.05,-3.5 -4.1,-0.6 -0.7,-2.5 -2.4,-0.5 -5.8,2.1 -2.3,6.5 -3.2,10 -3.2,6.5 -5,14.1 -6.5,13.6 -8.1,12.6 -1.9,2.9 -0.8,8.6 -1.3,6 2.71,3.5 z" />
<path
id="PA"
d="M736.6 192.2l1.3-.5 5.7-5.5.7 6.9 33.5-6.5 36.9-7.8 2.3 2.3 3.1.4 2 5.6 2.4 1.9 2.8.4.1.1-2.6 3.2v3.1l-1.9 3.1-.2 1.9 1.3 1.3-.2 1.9-2.4 1.1 1 3.4.2 1.1 2.8.3.9 2.5 5.9 3.9v.4l-3.1 3-1.5 2.2-1.7 2.8-2.7 1.2-1.4.3-2.1 1.3-1.6 1.4-22.4 4.3L757 241l-11.3 1.4-3.9.7-5.1-22.4-4.3-25.9z" />
d="m 736.6,192.2 1.3,-0.5 5.7,-5.5 0.7,6.9 33.5,-6.5 36.9,-7.8 2.3,2.3 3.1,0.4 2,5.6 2.4,1.9 2.8,0.4 0.1,0.1 -2.6,3.2 v 3.1 l -1.9,3.1 -0.2,1.9 1.3,1.3 -0.2,1.9 -2.4,1.1 1,3.4 0.2,1.1 2.8,0.3 0.9,2.5 5.9,3.9 v 0.4 l -3.1,3 -1.5,2.2 -1.7,2.8 -2.7,1.2 -1.4,0.3 -2.1,1.3 -1.6,1.4 -22.4,4.3 -38.7,7.8 -11.3,1.4 -3.9,0.7 -5.1,-22.4 -4.3,-25.9 z" />
<path
id="RI"
d="M873.6 175.7l-.8-4.4-1.6-6 5.7-1.5 1.5 1.3 3.4 4.3 2.8 4.4-2.8 1.4-1.3-.2-1.1 1.8-2.4 1.9-2.8 1.1z" />
d="m 873.6,175.7 -0.8,-4.4 -1.6,-6 5.7,-1.5 1.5,1.3 3.4,4.3 2.8,4.4 -2.8,1.4 -1.3,-0.2 -1.1,1.8 -2.4,1.9 -2.8,1.1 z" />
<path
id="SC"
d="M759 413.6l-2.1-1-1.9-5.6-2.5-2.3-2.5-.5-1.5-4.6-3-6.5-4.2-1.8-1.9-1.8-1.2-2.6-2.4-2-2.3-1.3-2.2-2.9-3.2-2.4-4.4-1.7-.4-1.4-2.3-2.8-.5-1.5-3.8-5.4-3.4.1-3.9-2.5-1.2-1.2-.2-1.4.6-1.6 2.7-1.3-.8-2 6.4-2.7 9.2-4.5 7.1-.9 16.4-.5 2.3 1.9 1.8 3.5 4.6-.8 12.6-1.5 2.7.8 12.5 7.4 10.1 8.3-5.3 5.4-2.6 6.1-.5 6.3-1.6.8-1.1 2.7-2.4.6-2.1 3.6-2.7 2.7-2.3 3.4-1.6.8-3.6 3.4-2.9.2 1 3.2-5 5.3-2.3 1.6z"
d="m 759,413.6 -2.1,-1 -1.9,-5.6 -2.5,-2.3 -2.5,-0.5 -1.5,-4.6 -3,-6.5 -4.2,-1.8 -1.9,-1.8 -1.2,-2.6 -2.4,-2 -2.3,-1.3 -2.2,-2.9 -3.2,-2.4 -4.4,-1.7 -0.4,-1.4 -2.3,-2.8 -0.5,-1.5 -3.8,-5.4 -3.4,0.1 -3.9,-2.5 -1.2,-1.2 -0.2,-1.4 0.6,-1.6 2.7,-1.3 -0.8,-2 6.4,-2.7 9.2,-4.5 7.1,-0.9 16.4,-0.5 2.3,1.9 1.8,3.5 4.6,-0.8 12.6,-1.5 2.7,0.8 12.5,7.4 10.1,8.3 -5.3,5.4 -2.6,6.1 -0.5,6.3 -1.6,0.8 -1.1,2.7 -2.4,0.6 -2.1,3.6 -2.7,2.7 -2.3,3.4 -1.6,0.8 -3.6,3.4 -2.9,0.2 1,3.2 -5,5.3 -2.3,1.6 z"
style="fill:#552200" />
<path
id="SD"
d="M471 181.1l-.9 3.2.4 3 2.6 2-1.2 5.4-1.8 4.1 1.5 3.3.7 1.1-1.3.1-.7-1.6-.6-2-3.3-1.8-4.8-1.5-2.5-1.3-2.9.1-3.9.4-3.8 1.2-5.3-3.8-2.7-2.4-10.9.8-41.5-2.4-35.6-2.2L354 162l2.8-34 .4-5 56.9 3.9 56.9 1.7v2.7l-1.3 1.5-2 1.5-.1 2.2 1.1 2.2 4.1 3.4.5 2.7v35.9z" />
d="m 471,181.1 -0.9,3.2 0.4,3 2.6,2 -1.2,5.4 -1.8,4.1 1.5,3.3 0.7,1.1 -1.3,0.1 -0.7,-1.6 -0.6,-2 -3.3,-1.8 -4.8,-1.5 -2.5,-1.3 -2.9,0.1 -3.9,0.4 -3.8,1.2 -5.3,-3.8 -2.7,-2.4 -10.9,0.8 -41.5,-2.4 -35.6,-2.2 1.5,-24.8 2.8,-34 0.4,-5 56.9,3.9 56.9,1.7 v 2.7 l -1.3,1.5 -2,1.5 -0.1,2.2 1.1,2.2 4.1,3.4 0.5,2.7 v 35.9 z" />
<path
id="TN"
d="M670.8 359.6l-13.1 1.2-23.3 2.2-37.6 2.7-11.8.4.9-.6.9-4.5-1.2-3.6 3.9-2.3.4-2.5 1.2-4.3 3-9.5.5-5.6.3-.2 12.3-.2 13.6-.8.1-3.9 3.5-.1 30.4-3.3 54-5.2 10.3-1.5 7.6-.2 2.4-1.9 1.3.3-.1 3.3-.4 1.6-2.4 2.2-1.6 3.6-2-.4-2.4.9-2.2 3.3-1.4-.2-.8-1.2-1.1.4-4.3 4-.8 3.1-4.2 2.2-4.3 3.6-3.8 1.5-4.4 2.8-.6 3.6-2.5.5-2 1.7-.2 4.8z" />
d="m 670.8,359.6 -13.1,1.2 -23.3,2.2 -37.6,2.7 -11.8,0.4 0.9,-0.6 0.9,-4.5 -1.2,-3.6 3.9,-2.3 0.4,-2.5 1.2,-4.3 3,-9.5 0.5,-5.6 0.3,-0.2 12.3,-0.2 13.6,-0.8 0.1,-3.9 3.5,-0.1 30.4,-3.3 54,-5.2 10.3,-1.5 7.6,-0.2 2.4,-1.9 1.3,0.3 -0.1,3.3 -0.4,1.6 -2.4,2.2 -1.6,3.6 -2,-0.4 -2.4,0.9 -2.2,3.3 -1.4,-0.2 -0.8,-1.2 -1.1,0.4 -4.3,4 -0.8,3.1 -4.2,2.2 -4.3,3.6 -3.8,1.5 -4.4,2.8 -0.6,3.6 -2.5,0.5 -2,1.7 -0.2,4.8 z" />
<path
id="TX"
d="M282.8 425.6l37 3.6 29.3 1.9 7.4-97.7 54.4 2.4-1.7 23.3-1 18 .2 2 4.4 4.1 2 1.1h1.8l.5-1.2.7.9 2.4.2 1.1-.6v-.2l1 .5-.4 3.7 4.5.7 2.4.9 4.2.7 2.6 1.8 2.8-1.9 2.7.6 2.2 3.1.8.1v2.1l3.3 1.1 2.5-2.1 1.5.5 2.1.1.6 2.1 5.2 2 2.3-.5 1.9-4h.1l1.1 1.9 4.6.9 3.4 1.3 3.2 1 2.4-1.2.7-2.3h3.6l2.1 1 3-2h.4l.5 1.4h4.7l1.9-1.8 1.3.4 1.7 2.1 3.3 1.9 3.4 1 2.5 1.4 2.7 2 3.1-1.2 2.1.8.7 20 .7 9.5.6 4.1 2.6 4.4.9 4.5 4.2 5.9.3 3.1.6.8-.7 7.7-2.9 4.8 1.3 2.6-.5 2.4-.8 7.2-1.3 3 .3 4.2-5.6 1.6-9.9 4.5-1 1.9-2.6 1.9-2.1 1.5-1.3.8-5.7 5.3-2.7 2.1-5.3 3.2-5.7 2.4-6.3 3.4-1.8 1.5-5.8 3.6-3.4.6-3.9 5.5-4 .3-1 1.9 2.3 1.9-1.5 5.5-1.3 4.5-1.1 3.9-.8 4.5.8 2.4 1.8 7 1 6.1 1.8 2.7-1 1.5-3.1 1.9-5.7-3.9-5.5-1.1-1.3.5-3.2-.6-4.2-3.1-5.2-1.1-7.6-3.4-2.1-3.9-1.3-6.5-3.2-1.9-.6-2.3.6-.6.3-3.4-1.3-.6-.6-1 1.3-4.4-1.6-2.3-3.2-1.3-3.4-4.4-3.6-6.6-4.2-2.6.2-1.9-5.3-12.3-.8-4.2-1.8-1.9-.2-1.5-6-5.3-2.6-3.1v-1.1l-2.6-2.1-6.8-1.1-7.4-.6-3.1-2.3-4.5 1.8-3.6 1.5-2.3 3.2-1 3.7-4.4 6.1-2.4 2.4-2.6-1-1.8-1.1-1.9-.6-3.9-2.3v-.6l-1.8-1.9-5.2-2.1-7.4-7.8-2.3-4.7v-8.1l-3.2-6.5-.5-2.7-1.6-1-1.1-2.1-5-2.1-1.3-1.6-7.1-7.9-1.3-3.2-4.7-2.3-1.5-4.4-2.6-2.9-1.7-.5zm174.4 141.7l-.6-7.1-2.7-7.2-.6-7 1.5-8.2 3.3-6.9 3.5-5.4 3.2-3.6.6.2-4.8 6.6-4.4 6.5-2 6.6-.3 5.2.9 6.1 2.6 7.2.5 5.2.2 1.5z"
d="m 282.8,425.6 37,3.6 29.3,1.9 7.4,-97.7 54.4,2.4 -1.7,23.3 -1,18 0.2,2 4.4,4.1 2,1.1 h 1.8 l 0.5,-1.2 0.7,0.9 2.4,0.2 1.1,-0.6 v -0.2 l 1,0.5 -0.4,3.7 4.5,0.7 2.4,0.9 4.2,0.7 2.6,1.8 2.8,-1.9 2.7,0.6 2.2,3.1 0.8,0.1 v 2.1 l 3.3,1.1 2.5,-2.1 1.5,0.5 2.1,0.1 0.6,2.1 5.2,2 2.3,-0.5 1.9,-4 h 0.1 l 1.1,1.9 4.6,0.9 3.4,1.3 3.2,1 2.4,-1.2 0.7,-2.3 h 3.6 l 2.1,1 3,-2 h 0.4 l 0.5,1.4 h 4.7 l 1.9,-1.8 1.3,0.4 1.7,2.1 3.3,1.9 3.4,1 2.5,1.4 2.7,2 3.1,-1.2 2.1,0.8 0.7,20 0.7,9.5 0.6,4.1 2.6,4.4 0.9,4.5 4.2,5.9 0.3,3.1 0.6,0.8 -0.7,7.7 -2.9,4.8 1.3,2.6 -0.5,2.4 -0.8,7.2 -1.3,3 0.3,4.2 -5.6,1.6 -9.9,4.5 -1,1.9 -2.6,1.9 -2.1,1.5 -1.3,0.8 -5.7,5.3 -2.7,2.1 -5.3,3.2 -5.7,2.4 -6.3,3.4 -1.8,1.5 -5.8,3.6 -3.4,0.6 -3.9,5.5 -4,0.3 -1,1.9 2.3,1.9 -1.5,5.5 -1.3,4.5 -1.1,3.9 -0.8,4.5 0.8,2.4 1.8,7 1,6.1 1.8,2.7 -1,1.5 -3.1,1.9 -5.7,-3.9 -5.5,-1.1 -1.3,0.5 -3.2,-0.6 -4.2,-3.1 -5.2,-1.1 -7.6,-3.4 -2.1,-3.9 -1.3,-6.5 -3.2,-1.9 -0.6,-2.3 0.6,-0.6 0.3,-3.4 -1.3,-0.6 -0.6,-1 1.3,-4.4 -1.6,-2.3 -3.2,-1.3 -3.4,-4.4 -3.6,-6.6 -4.2,-2.6 0.2,-1.9 -5.3,-12.3 -0.8,-4.2 -1.8,-1.9 -0.2,-1.5 -6,-5.3 -2.6,-3.1 v -1.1 l -2.6,-2.1 -6.8,-1.1 -7.4,-0.6 -3.1,-2.3 -4.5,1.8 -3.6,1.5 -2.3,3.2 -1,3.7 -4.4,6.1 -2.4,2.4 -2.6,-1 -1.8,-1.1 -1.9,-0.6 -3.9,-2.3 v -0.6 l -1.8,-1.9 -5.2,-2.1 -7.4,-7.8 -2.3,-4.7 v -8.1 l -3.2,-6.5 -0.5,-2.7 -1.6,-1 -1.1,-2.1 -5,-2.1 -1.3,-1.6 -7.1,-7.9 -1.3,-3.2 -4.7,-2.3 -1.5,-4.4 -2.6,-2.9 -1.7,-0.5 z m 174.4,141.7 -0.6,-7.1 -2.7,-7.2 -0.6,-7 1.5,-8.2 3.3,-6.9 3.5,-5.4 3.2,-3.6 0.6,0.2 -4.8,6.6 -4.4,6.5 -2,6.6 -0.3,5.2 0.9,6.1 2.6,7.2 0.5,5.2 0.2,1.5 z"
style="fill:#552200" />
<path
id="UT"
d="m228.4 305.9 24.6 3.6 1.9-13.7 7-50.5 2.3-22-32.2-3.5 2.2-13.1 1.8-10.6-34.7-6.1-12.5-2.5-10.6 52.9-5.4 30-3.3 15.4-1.7 9.2z" />
d="m 228.4,305.9 24.6,3.6 1.9,-13.7 7,-50.5 2.3,-22 -32.2,-3.5 2.2,-13.1 1.8,-10.6 -34.7,-6.1 -12.5,-2.5 -10.6,52.9 -5.4,30 -3.3,15.4 -1.7,9.2 z" />
<path
id="VA"
d="M834.7 265.2l-.2 2.8-2.9 3.8-.4 4.6.5 3.4-1.8 5-2.2 1.9-1.5-4.6.4-5.4 1.6-4.2.7-3.3-.1-1.7zm-60.3 44.6l-38.6 5.6-4.8-.1-2.2-.3-2.5 1.9-7.3.1-10.3 1.6-6.7.6 4.1-2.6 4.1-2.3v-2.1l5.7-7.3 4.1-3.7 2.2-2.5 3.6 4.3 3.8.9 2.7-1 2-1.5 2.4 1.2 4.6-1.3 1.7-4.4 2.4.7 3.2-2.3 1.6.4 2.8-3.2.2-2.7-.8-1.2 4.8-10.5 1.8-5.2.5-4.7.7-.2 1.1 1.7 1.5 1.2 3.9-.2 1.7-8.1 3-.6.8-2.6 2.8-2.2 1.1-2.1 1.8-4.3.1-4.6 3.6 1.4 6.6 3.1.3-5.2 3.4 1.2-.6 2.9 8.6 3.1 1.4 1.8-.8 3.3-1.3 1.3-.5 1.7.5 2.4 2 1.3 3.9 1.4 2.9 1 4.9.9 2.2 2.1 3.2.4.9 1.2-.4 4.7 1.4 1.1-.5 1.9 1.2.8-.2 1.4-2.7-.1.1 1.6 2.3 1.5.1 1.4 1.8 1.8.5 2.5-2.6 1.4 1.6 1.5 5.8-1.7 3.7 6.2z"
d="m 834.7,265.2 -0.2,2.8 -2.9,3.8 -0.4,4.6 0.5,3.4 -1.8,5 -2.2,1.9 -1.5,-4.6 0.4,-5.4 1.6,-4.2 0.7,-3.3 -0.1,-1.7 z m -60.3,44.6 -38.6,5.6 -4.8,-0.1 -2.2,-0.3 -2.5,1.9 -7.3,0.1 -10.3,1.6 -6.7,0.6 4.1,-2.6 4.1,-2.3 v -2.1 l 5.7,-7.3 4.1,-3.7 2.2,-2.5 3.6,4.3 3.8,0.9 2.7,-1 2,-1.5 2.4,1.2 4.6,-1.3 1.7,-4.4 2.4,0.7 3.2,-2.3 1.6,0.4 2.8,-3.2 0.2,-2.7 -0.8,-1.2 4.8,-10.5 1.8,-5.2 0.5,-4.7 0.7,-0.2 1.1,1.7 1.5,1.2 3.9,-0.2 1.7,-8.1 3,-0.6 0.8,-2.6 2.8,-2.2 1.1,-2.1 1.8,-4.3 0.1,-4.6 3.6,1.4 6.6,3.1 0.3,-5.2 3.4,1.2 -0.6,2.9 8.6,3.1 1.4,1.8 -0.8,3.3 -1.3,1.3 -0.5,1.7 0.5,2.4 2,1.3 3.9,1.4 2.9,1 4.9,0.9 2.2,2.1 3.2,0.4 0.9,1.2 -0.4,4.7 1.4,1.1 -0.5,1.9 1.2,0.8 -0.2,1.4 -2.7,-0.1 0.1,1.6 2.3,1.5 0.1,1.4 1.8,1.8 0.5,2.5 -2.6,1.4 1.6,1.5 5.8,-1.7 3.7,6.2 z"
style="fill:#552200" />
<path
id="VT"
d="M832.7 111.3l2.4 6.5.8 5.3-1 3.9 2.5 4.4.9 2.3-.7 2.6 3.3 1.5 2.9 10.8v5.3l11.5-2.1-1-1.1.6-1.9.2-4.3-1-1.4.2-4.7.8-9.3v-8.5l-1.1-1.8v-1.6l2.8-1.1 3.5-4.4v-3.6l-1.9-2.7-.3-5.79-26.1 6.79z" />
d="m 832.7,111.3 2.4,6.5 0.8,5.3 -1,3.9 2.5,4.4 0.9,2.3 -0.7,2.6 3.3,1.5 2.9,10.8 v 5.3 l 11.5,-2.1 -1,-1.1 0.6,-1.9 0.2,-4.3 -1,-1.4 0.2,-4.7 0.8,-9.3 v -8.5 l -1.1,-1.8 v -1.6 l 2.8,-1.1 3.5,-4.4 v -3.6 l -1.9,-2.7 -0.3,-5.79 -26.1,6.79 z" />
<path
id="WA"
d="M74.5 67.7l-2.3-4.3-4.1-.7-.4-2.4-2.5-.6-2.9-.5-1.8 1-2.3-2.9.3-2.9 2.7-.3 1.6-4-2.6-1.1.2-3.7 4.4-.6-2.7-2.7-1.5-7.1.6-2.9v-7.9l-1.8-3.2 2.3-9.4 2.1.5 2.4 2.9 2.7 2.6 3.2 1.9 4.5 2.1 3.1.6 2.9 1.5 3.4 1 2.3-.2V22l1.3-1.1 2.1-1.3.3 1.1.3 1.8-2.3.5-.3 2.1 1.8 1.5 1.1 2.4.6 1.9 1.5-.2.2-1.3-1-1.3-.5-3.2.8-1.8-.6-1.5V19l1.8-3.6-1.1-2.6L91.9 8l.3-.8 1.4-.8L98 7.9l9.7 2.7 8.6 1.9 20 5.7 23 5.7 15 3.49-4.8 17.56-4.5 20.83-3.4 16.25-.4 9.18-12.9-3.72-15.3-3.47-14.5.32-1.1-1.53-5.7 2.09-3.9-.42-2.6-1.79-1.7.65-4.15-.25-1.72-1.32-5.16-1.82-1.18-.16-4.8-1.39-1.92 1.65-5.65-.25-4.61-3.35zm9.6-55.4l2-.2.5 1.4 1.5-1.6h2.3l.8 1.5-1.5 1.7.6.8-.7 2-1.4.4s-.9.1-.9-.2c0-.3 1.5-2.6 1.5-2.6l-1.7-.6-.3 1.5-.7.6-1.5-2.3z" />
d="m 74.5,67.7 -2.3,-4.3 -4.1,-0.7 -0.4,-2.4 -2.5,-0.6 -2.9,-0.5 -1.8,1 -2.3,-2.9 0.3,-2.9 2.7,-0.3 1.6,-4 L 60.2,49 60.4,45.3 64.8,44.7 62.1,42 60.6,34.9 61.2,32 v -7.9 l -1.8,-3.2 2.3,-9.4 2.1,0.5 2.4,2.9 2.7,2.6 3.2,1.9 4.5,2.1 3.1,0.6 2.9,1.5 3.4,1 2.3,-0.2 V 22 l 1.3,-1.1 2.1,-1.3 0.3,1.1 0.3,1.8 -2.3,0.5 -0.3,2.1 1.8,1.5 1.1,2.4 0.6,1.9 1.5,-0.2 0.2,-1.3 -1,-1.3 -0.5,-3.2 0.8,-1.8 -0.6,-1.5 V 19 L 95.4,15.4 94.3,12.8 91.9,8 92.2,7.2 93.6,6.4 98,7.9 l 9.7,2.7 8.6,1.9 20,5.7 23,5.7 15,3.49 -4.8,17.56 -4.5,20.83 -3.4,16.25 -0.4,9.18 -12.9,-3.72 -15.3,-3.47 -14.5,0.32 -1.1,-1.53 -5.7,2.09 -3.9,-0.42 -2.6,-1.79 -1.7,0.65 -4.15,-0.25 -1.72,-1.32 -5.16,-1.82 -1.18,-0.16 -4.8,-1.39 -1.92,1.65 -5.65,-0.25 -4.61,-3.35 z m 9.6,-55.4 2,-0.2 0.5,1.4 1.5,-1.6 h 2.3 l 0.8,1.5 -1.5,1.7 0.6,0.8 -0.7,2 -1.4,0.4 c 0,0 -0.9,0.1 -0.9,-0.2 0,-0.3 1.5,-2.6 1.5,-2.6 l -1.7,-0.6 -0.3,1.5 -0.7,0.6 -1.5,-2.3 z" />
<path
id="WI"
d="M541.4 109.9l2.9.5 2.9-.6 7.4-3.2 2.9-1.9 2.1-.8 1.9 1.5-1.1 1.1-1.9 3.1-.6 1.9 1 .6 1.8-1 1.1-.2 2.7.8.6 1.1 1.1.2.6-1.1 4 5.3 8.2 1.2 8.2 2.2 2.6 1.1 12.3 2.6 1.6 2.3 3.6 1.2L609 138l1.6 1.4 1.5.9-1.1 2.3-1.8 1.6-2.1 4.7-1.3 2.4.2 1.8 1.5.3 1.1-1.9 1.5-.8.8-2.3 1.9-1.8 2.7-4 4.2-6.3.8-.5.3 1-.2 2.3-2.9 6.8-2.7 5.7-.5 3.2-.6 2.6.8 1.3-.2 2.7-1.9 2.4-.5 1.8.6 3.6.6 3.4-1.5 2.6-.8 2.9-1 3.1 1.1 2.4.6 6.1 1.6 4.5-.2 3-15.9 1.8-17.5 1H567l-.7-1.5-2.9-.4-2.6-1.3-2.3-3.7-.3-3.6 2-2.9-.5-1.4-2.1-2.2-.8-3.3-.6-6.8-2.1-2.5-7-4.5-3.8-5.4-3.4-1-2.2-2.8h-3.2l-2.9-3.3-.5-6.5.1-3.8 1.5-3.1-.8-3.2-2.5-2.8 1.8-5.4 5.2-3.8 1.6-1.9-.2-8.1.2-2.8 2.4-2.8z" />
d="m 541.4,109.9 2.9,0.5 2.9,-0.6 7.4,-3.2 2.9,-1.9 2.1,-0.8 1.9,1.5 -1.1,1.1 -1.9,3.1 -0.6,1.9 1,0.6 1.8,-1 1.1,-0.2 2.7,0.8 0.6,1.1 1.1,0.2 0.6,-1.1 4,5.3 8.2,1.2 8.2,2.2 2.6,1.1 12.3,2.6 1.6,2.3 3.6,1.2 1.7,10.2 1.6,1.4 1.5,0.9 -1.1,2.3 -1.8,1.6 -2.1,4.7 -1.3,2.4 0.2,1.8 1.5,0.3 1.1,-1.9 1.5,-0.8 0.8,-2.3 1.9,-1.8 2.7,-4 4.2,-6.3 0.8,-0.5 0.3,1 -0.2,2.3 -2.9,6.8 -2.7,5.7 -0.5,3.2 -0.6,2.6 0.8,1.3 -0.2,2.7 -1.9,2.4 -0.5,1.8 0.6,3.6 0.6,3.4 -1.5,2.6 -0.8,2.9 -1,3.1 1.1,2.4 0.6,6.1 1.6,4.5 -0.2,3 -15.9,1.8 -17.5,1 H 567 l -0.7,-1.5 -2.9,-0.4 -2.6,-1.3 -2.3,-3.7 -0.3,-3.6 2,-2.9 -0.5,-1.4 -2.1,-2.2 -0.8,-3.3 -0.6,-6.8 -2.1,-2.5 -7,-4.5 -3.8,-5.4 -3.4,-1 -2.2,-2.8 h -3.2 l -2.9,-3.3 -0.5,-6.5 0.1,-3.8 1.5,-3.1 -0.8,-3.2 -2.5,-2.8 1.8,-5.4 5.2,-3.8 1.6,-1.9 -0.2,-8.1 0.2,-2.8 2.4,-2.8 z" />
<path
id="WV"
d="M758.9 254.3l5.8-6 2.6-.8 1.6-1.5 1.5-2.2 1.1.3 3.1-.2 4.6-3.6 1.5-.5 1.3 1 2.6 1.2 3 3-.4 4.3-5.4-2.6-4.8-1.8-.1 5.9-2.6 5.7-2.9 2.4-.8 2.3-3 .5-1.7 8.1-2.8.2-1.1-1-1.2-2-2.2.5-.5 5.1-1.8 5.1-5 11 .9 1.4-.1 2-2.2 2.5-1.6-.4-3.1 2.3-2.8-.8-1.8 4.9-3.8 1-2.5-1.3-2.5 1.9-2.3.7-3.2-.8-3.8-4.5-3.5-2.2-2.5-2.5-2.9-3.7-.5-2.3-2.8-1.7-.6-1.3-.2-5.6.3.1 2.4-.2 1.8-1V275l1.7-1.5.1-5.2.9-3.6 1.1-.7.4.3 1 1.1 1.7.5 1.1-1.3-1-3.1v-1.6l3.1-4.6 1.2-1.3 2 .5 2.6-1.8 3.1-3.4 2.4-4.1.2-5.6.5-4.8v-4.9l-1.1-3 .9-1.3.8-.7 4.3 19.3 4.3-.8 11.2-1.3z" />
d="m 758.9,254.3 5.8,-6 2.6,-0.8 1.6,-1.5 1.5,-2.2 1.1,0.3 3.1,-0.2 4.6,-3.6 1.5,-0.5 1.3,1 2.6,1.2 3,3 -0.4,4.3 -5.4,-2.6 -4.8,-1.8 -0.1,5.9 -2.6,5.7 -2.9,2.4 -0.8,2.3 -3,0.5 -1.7,8.1 -2.8,0.2 -1.1,-1 -1.2,-2 -2.2,0.5 -0.5,5.1 -1.8,5.1 -5,11 0.9,1.4 -0.1,2 -2.2,2.5 -1.6,-0.4 -3.1,2.3 -2.8,-0.8 -1.8,4.9 -3.8,1 -2.5,-1.3 -2.5,1.9 -2.3,0.7 -3.2,-0.8 -3.8,-4.5 -3.5,-2.2 -2.5,-2.5 -2.9,-3.7 -0.5,-2.3 -2.8,-1.7 -0.6,-1.3 -0.2,-5.6 0.3,0.1 2.4,-0.2 1.8,-1 V 275 l 1.7,-1.5 0.1,-5.2 0.9,-3.6 1.1,-0.7 0.4,0.3 1,1.1 1.7,0.5 1.1,-1.3 -1,-3.1 v -1.6 l 3.1,-4.6 1.2,-1.3 2,0.5 2.6,-1.8 3.1,-3.4 2.4,-4.1 0.2,-5.6 0.5,-4.8 v -4.9 l -1.1,-3 0.9,-1.3 0.8,-0.7 4.3,19.3 4.3,-0.8 11.2,-1.3 z" />
<path
id="WY"
d="m353 161.9-1.5 25.4-4.4 44-2.7-0.3-83.3-9.1-27.9-3 2-12 6.9-41 3.8-24.2 1.3-11.2 48.2 7 59.1 6.5z" />
d="m 353,161.9 -1.5,25.4 -4.4,44 -2.7,-0.3 -83.3,-9.1 -27.9,-3 2,-12 6.9,-41 3.8,-24.2 1.3,-11.2 48.2,7 59.1,6.5 z" />
</g>
<g
id="text"
font-family="Helvetica Neue"
font-weight="bold">
font-family="'Helvetica Neue'"
font-weight="bold"
transform="translate(-12.741312,-4.3706562)">
<g
font-size="28"
font-size="28px"
id="g1">
<text
id="AKn"
@ -785,7 +787,7 @@
y="458" />
</g>
<g
font-size="22"
font-size="22px"
id="g2">
<text
id="NHn"
@ -858,7 +860,7 @@
-->
<path
id="lines"
d="m 844,62 13,29 m -25,-5 8,17 m 49,50 34,3 m -41,22 41,12 m -57,-6 51,33 m -72,13 50,22 m -58,-2 51,26 m -55,-15 46,33 m -78.84073,-42.84571 9.6e-4,0.006"
d="m 831.25869,57.629344 13,29 m -25,-5 8,17 m 49,49.999996 34,3 m -41,22 41,12 m -57,-6 51,33 m -72,13 50,22 m -58,-2 51,26 m -55,-15 46,33 m -78.84073,-42.84571 9.6e-4,0.006"
stroke="#000"
stroke-width="1.6"
style="stroke:#fdfdfd;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -0,0 +1,868 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="1020"
height="593"
version="1.1"
id="svg3"
sodipodi:docname="ElectoralCollege1940.svg"
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview3"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.97301855"
inkscape:cx="522.60052"
inkscape:cy="399.78683"
inkscape:window-width="1350"
inkscape:window-height="1040"
inkscape:window-x="132"
inkscape:window-y="134"
inkscape:window-maximized="0"
inkscape:current-layer="svg3" />
<title
id="title1">1968 US presidential election results</title>
<defs
id="defs1" />
<g
id="outlines"
class="state"
transform="translate(-14,-4)">
<path
id="AL"
d="m 628.5,466.4 0.6,0.2 1.3,-2.7 1.5,-4.4 2.3,0.6 3.1,6 v 1 l -2.7,1.9 2.7,0.3 5.2,-2.5 -0.3,-7.6 -2.5,-1.8 -2,-2 0.4,-4 10.5,-1.5 25.7,-2.9 6.7,-0.6 5.6,0.1 -0.5,-2.2 -1.5,-0.8 -0.9,-1.1 1,-2.6 -0.4,-5.2 -1.6,-4.5 0.8,-5.1 1.7,-4.8 -0.2,-1.7 -1.8,-0.7 -0.5,-3.6 -2.7,-3.4 -2,-6.5 -1.4,-6.7 -1.8,-5 -3.8,-16 -3.5,-7.9 -0.8,-5.6 0.1,-2.2 -9,0.8 -23.4,2.2 -12.2,0.8 -0.2,6.4 0.2,16.7 -0.7,31 -0.3,14.1 2.8,18.8 1.6,14.7 z" />
<path
id="AR"
d="m 587.3,346.1 -6.4,-0.7 0.9,-3.1 3.1,-2.6 0.6,-2.3 -1.8,-2.9 -31.9,1.2 -23.3,0.7 -23.6,0.3 1.5,6.9 0.1,8.5 1.4,10.9 0.3,38.2 2.1,1.6 3,-1.2 2.9,1.2 0.4,10.1 25.2,-0.2 26.8,-0.8 0.9,-1.9 -0.3,-3.8 -1.7,-3.1 1.5,-1.4 -1.4,-2.2 0.7,-2.4 1.1,-5.9 2.7,-2.3 -0.8,-2.2 4,-5.6 2.5,-1.1 -0.1,-1.7 -0.5,-1.7 2.9,-5.8 2.5,-1.1 0.2,-3.3 2.1,-1.4 0.9,-4.1 -1.4,-4 4.2,-2.4 0.3,-2.1 1.2,-4.2 0.9,-3.1 z" />
<path
id="AZ"
d="m 135.1,389.7 -0.3,1.5 0.5,1 18.9,10.7 12.1,7.6 14.7,8.6 16.8,10 12.3,2.4 25.4,2.7 6,-39.6 7,-53.1 4.4,-31 -24.6,-3.6 -60.7,-11 -0.2,1.1 -2.6,16.5 -2.1,3.8 -2.8,-0.2 -1.2,-2.6 -2.6,-0.4 -1.2,-1.1 -1.1,0.1 -2.1,1.7 -0.3,6.8 -0.3,1.5 -0.5,12.5 -1.5,2.4 -0.4,3.3 2.8,5 1.1,5.5 0.7,1.1 1.1,0.9 -0.4,2.4 -1.7,1.2 -3.4,1.6 -1.6,1.8 -1.6,3.6 -0.5,4.9 -3,2.9 -1.9,0.9 -0.1,5.8 -0.6,1.6 0.5,0.8 3.9,0.4 -0.9,3 -1.7,2.4 -3.7,0.4 z" />
<path
id="CA"
d="m 122.7,385.9 -19.7,-2.7 -10,-1.5 -0.5,-1.8 v -9.4 l -0.3,-3.2 -2.6,-4.2 -0.8,-2.3 -3.9,-4.2 -2.9,-4.7 -2.7,-0.2 -3.2,-0.8 -0.3,-1 1.5,-0.6 -0.6,-3.2 -1.5,-2.1 -4.8,-0.8 -3.9,-2.1 -1.1,-2.3 -2.6,-4.8 -2.9,-3.1 H 57 l -3.9,-2.1 -4.5,-1.8 -4.2,-0.5 -2.4,-2.7 0.5,-1.9 1.8,-7.1 0.8,-1.9 v -2.4 l -1.6,-1 -0.5,-2.9 -1.5,-2.6 -3.4,-5.8 -1.3,-3.1 -1.5,-4.7 -1.6,-5.3 -3.2,-4.4 -0.5,-2.9 0.8,-3.9 h 1.1 l 2.1,-1.6 1.1,-3.6 -1,-2.7 -2.7,-0.5 -1.9,-2.6 -2.1,-3.7 -0.2,-8.2 0.6,-1.9 0.6,-2.3 0.5,-2.4 -5.7,-6.3 V 236 l 0.3,-0.5 0.3,-3.2 -1.3,-4 -2.3,-4.8 -2.7,-4.5 -1.8,-3.9 1,-3.7 0.6,-5.8 1.8,-3.1 0.3,-6.5 -1.1,-3.6 -1.6,-4.2 -2.7,-4.2 0.8,-3.2 1.5,-4.2 1.8,-0.8 0.3,-1.1 3.1,-2.6 5.2,-11.8 0.2,-7.4 1.69,-4.9 38.69,11.8 25.6,6.6 -8,31.3 -8.67,33.1 12.63,19.2 42.16,62.3 17.1,26.1 -0.4,3.1 2.8,5.2 1.1,5.4 1,1.5 0.7,0.6 -0.2,1.4 -1.4,1 -3.4,1.6 -1.9,2.1 -1.7,3.9 -0.5,4.7 -2.6,2.5 -2.3,1.1 -0.1,6.2 -0.6,1.9 1,1.7 3,0.3 -0.4,1.6 -1.4,2 -3.9,0.6 z M 48.8,337 l 1.3,1.5 -0.2,1.3 -3.2,-0.1 -0.6,-1.2 -0.6,-1.5 z m 1.9,0 1.2,-0.6 3.6,2.1 3.1,1.2 -0.9,0.6 -4.5,-0.2 -1.6,-1.6 z m 20.7,19.8 1.8,2.3 0.8,1 1.5,0.6 0.6,-1.5 -1,-1.8 -2.7,-2 -1.1,0.2 v 1.2 z m -1.4,8.7 1.8,3.2 1.2,1.9 -1.5,0.2 -1.3,-1.2 c 0,0 -0.7,-1.5 -0.7,-1.9 v -2.2 z" />
<path
id="CO"
d="m 380.2,235.5 -36,-3.5 -79.1,-8.6 -2.2,22.1 -7,50.4 -1.9,13.7 34,3.9 37.5,4.4 34.7,3 14.3,0.6 z" />
<path
id="CT"
d="m 852,190.9 3.6,-3.2 1.9,-2.1 0.8,0.6 2.7,-1.5 5.2,-1.1 7,-3.5 -0.6,-4.2 -0.8,-4.4 -1.6,-6 -4.3,1.1 -21.8,4.7 0.6,3.1 1.5,7.3 v 8.3 l -0.9,2.1 1.7,2.2 z" />
<path
id="DE"
d="m 834.4,247.2 -1,0.5 -3.6,-2.4 -1.8,-4.7 -1.9,-3.6 -2.3,-1 -2.1,-3.6 0.5,-2 0.5,-2.3 0.1,-1.1 -0.6,0.1 -1.7,1 -2,1.7 -0.2,0.3 1.4,4.1 2.3,5.6 3.7,16.1 5,-0.3 6,-1.1 z" />
<path
id="FL"
d="m 750.2,445.2 -5.2,-0.7 -0.7,0.8 1.5,4.4 -0.4,5.2 -4.1,-1 -0.2,-2.8 H 737 l -5.3,0.7 -32.4,1.9 -8.2,-0.3 -1.7,-1.7 -2.5,-4.2 H 681 l -6.6,0.5 -35.4,4.2 -0.3,2.8 1.6,1.6 2.9,2 0.3,8.4 3.3,-0.6 6,-2.1 6,-0.5 4.4,-0.6 7.6,1.8 8.1,3.9 1.6,1.5 2.9,1.1 1.6,1.9 0.3,2.7 3.2,-1.3 h 3.9 l 3.6,-1.9 3.7,-3.6 3.1,0.2 0.5,-1.1 -0.8,-1 0.2,-1.9 4,-0.8 h 2.6 l 2.9,1.5 4.2,1.5 2.4,3.7 2.7,1 1.1,3.4 3.4,1.6 1.6,2.6 1.9,0.6 5.2,1.3 1.3,3.1 3,3.7 v 9.5 l -1.5,4.7 0.3,2.7 1.3,4.8 1.8,4 0.8,-0.5 1.5,-4.5 -2.6,-1 -0.3,-0.6 1.6,-0.6 4.5,1 0.2,1.6 -3.2,5.5 -2.1,2.4 3.6,3.7 2.6,3.1 2.9,5.3 2.9,3.9 2.1,5 1.8,0.3 1.6,-2.1 1.8,1.1 2.6,4 0.6,3.6 3.1,4.4 0.8,-1.3 3.9,0.3 3.6,2.3 3.4,5.2 0.8,3.4 0.3,2.9 1.1,1 1.3,0.5 2.4,-1 1.5,-1.6 3.9,-0.2 3.1,-1.5 2.7,-3.2 -0.5,-1.9 -0.3,-2.4 0.6,-1.9 -0.3,-1.9 2.4,-1.3 0.3,-3.4 -0.6,-1.8 -0.5,-12 -1.3,-7.6 -4.5,-8.2 -3.6,-5.8 -2.6,-5.3 -2.9,-2.9 -2.9,-7.4 0.7,-1.4 1.1,-1.3 -1.6,-2.9 -4,-3.7 -4.8,-5.5 -3.7,-6.3 -5.3,-9.4 -3.7,-9.7 -2.3,-7.3 z m 17.7,132.7 2.4,-0.6 1.3,-0.2 1.5,-2.3 2.3,-1.6 1.3,0.5 1.7,0.3 0.4,1.1 -3.5,1.2 -4.2,1.5 -2.3,1.2 z m 13.5,-5 1.2,1.1 2.7,-2.1 5.3,-4.2 3.7,-3.9 2.5,-6.6 1,-1.7 0.2,-3.4 -0.7,0.5 -1,2.8 -1.5,4.6 -3.2,5.3 -4.4,4.2 -3.4,1.9 z" />
<path
id="GA"
d="m 750.2,444.2 -5.6,-0.7 -1.4,1.6 1.6,4.7 -0.3,3.9 -2.2,-0.6 -0.2,-3 h -5.2 l -5.3,0.7 -32.3,1.9 -7.7,-0.3 -1.4,-1.2 -2.5,-4.3 -0.8,-3.3 -1.6,-0.9 -0.5,-0.5 0.9,-2.2 -0.4,-5.5 -1.6,-4.5 0.8,-4.9 1.7,-4.8 -0.2,-2.5 -1.9,-0.7 -0.4,-3.2 -2.8,-3.5 -1.9,-6.2 -1.5,-7 -1.7,-4.8 -3.8,-16 -3.5,-8 -0.8,-5.3 0.1,-2.3 3.3,-0.3 13.6,-1.6 18.6,-2 6.3,-1.1 0.5,1.4 -2.2,0.9 -0.9,2.2 0.4,2 1.4,1.6 4.3,2.7 3.2,-0.1 3.2,4.7 0.6,1.6 2.3,2.8 0.5,1.7 4.7,1.8 3,2.2 2.3,3 2.3,1.3 2,1.8 1.4,2.7 2.1,1.9 4.1,1.8 2.7,6 1.7,5.1 2.8,0.7 2.1,1.9 2,5.7 2.9,1.6 1.7,-0.8 0.4,1.2 -3.3,6.2 0.5,2.6 -1.5,4.2 -2.3,10 0.8,6.3 z" />
<path
id="IA"
d="m 556.8,183.6 2.1,2.1 0.3,0.7 -2,3 0.3,4 2.6,4.1 3.1,1.6 2.4,0.3 0.9,1.8 0.2,2.4 2.5,1 0.9,1.1 0.5,1.6 3.8,3.3 0.6,1.9 -0.7,3 -1.7,3.7 -0.6,2.4 -2.1,1.6 -1.6,0.5 -5.7,1.5 -1.6,4.8 0.8,1.8 1.7,1.5 -0.2,3.5 -1.9,1.4 -0.7,1.8 v 2.4 l -1.4,0.4 -1.7,1.4 -0.5,1.7 0.4,1.7 -1.3,1 -2.3,-2.7 -1.4,-2.8 -8.3,0.8 -10,0.6 -49.2,1.2 -1.6,-4.3 -0.4,-6.7 -1.4,-4.2 -0.7,-5.2 -2.2,-3.7 -1,-4.6 -2.7,-7.8 -1.1,-5.6 -1.4,-1.9 -1.3,-2.9 1.7,-3.8 1.2,-6.1 -2.7,-2.2 -0.3,-2.4 0.7,-2.4 1.8,-0.3 61.1,-0.6 21.2,-0.7 z" />
<path
id="ID"
d="m 175.3,27.63 -4.8,17.41 -4.5,20.86 -3.4,16.22 -0.4,9.67 1.2,4.44 3.5,2.66 -0.2,3.91 -3.9,4.4 -4.5,6.6 -0.9,2.9 -1.2,1.1 -1.8,0.8 -4.3,5.3 -0.4,3.1 -0.4,1.1 0.6,1 2.6,-0.1 1.1,2.3 -2.4,5.8 -1.2,4.2 -8.8,35.3 20.7,4.5 39.5,7.9 34.8,6.1 4.9,-29.2 3.8,-24.1 -2.7,-2.4 -0.4,-2.6 -0.8,-1.1 -2.1,1 -0.7,2.6 -3.2,0.5 -3.9,-1.6 -3.8,0.1 -2.5,0.7 -3.4,-1.5 -2.4,0.2 -2.4,2 -2,-1.1 -0.7,-4 0.7,-2.9 -2.5,-2.9 -3.3,-2.6 -2.7,-13.1 -0.1,-4.7 -0.3,-0.1 -0.2,0.4 -5.1,3.5 -1.7,-0.2 -2.9,-3.4 -0.2,-3.1 7,-17.13 -0.4,-1.94 -3.4,-1.15 -0.6,-1.18 -2.6,-3.46 -4.6,-10.23 -3.2,-1.53 -2,-4.95 1.3,-4.63 -3.2,-7.58 4.4,-21.52 z" />
<path
id="IL"
d="m 618.7,214.3 -0.8,-2.6 -1.3,-3.7 -1.6,-1.8 -1.5,-2.6 -0.4,-5.5 -15.9,1.8 -17.4,1 h -12.3 l 0.2,2.1 2.2,0.9 1.1,1.4 0.4,1.4 3.9,3.4 0.7,2.4 -0.7,3.3 -1.7,3.7 -0.8,2.7 -2.4,1.9 -1.9,0.6 -5.2,1.3 -1.3,4.1 0.6,1.1 1.9,1.8 -0.2,4.3 -2.1,1.6 -0.5,1.3 v 2.8 l -1.8,0.6 -1.4,1.2 -0.4,1.2 0.4,2 -1.6,1.3 -0.9,2.8 0.3,3.9 2.3,7 7,7.6 5.7,3.7 v 4.4 l 0.7,1.2 6.6,0.6 2.7,1.4 -0.7,3.5 -2.2,6.2 -0.8,3 2,3.7 6.4,5.3 4.8,0.8 2.2,5.1 2,3.4 -0.9,2.8 1.5,3.8 1.7,2.1 1.6,-0.3 1,-2.2 2.4,-1.7 2.8,-1 6.1,2.5 0.5,-0.2 v -1.1 l -1.2,-2.7 0.4,-2.8 2.4,-1.6 3.4,-1.2 -0.5,-1.3 -0.8,-2 1.2,-1.3 1,-2.7 v -4 l 0.4,-4.9 2.5,-3 1.8,-3.8 2.5,-4 -0.5,-5.3 -1.8,-3.2 -0.3,-3.3 0.8,-5.3 -0.7,-7.2 -1.1,-15.8 -1.4,-15.3 -0.9,-11.7 z" />
<path
id="IN"
d="m 622.9,216.1 1.5,1 1.1,-0.3 2.1,-1.9 2.5,-1.8 14.3,-1.1 18.4,-1.8 1.6,15.5 4.9,42.6 -0.6,2.9 1.3,1.6 0.2,1.3 -2.3,1.6 -3.6,1.7 -3.2,0.4 -0.5,4.8 -4.7,3.6 -2.9,4 0.2,2.4 -0.5,1.4 h -3.5 l -1.4,-1.7 -5.2,3 0.2,3.1 -0.9,0.2 -0.5,-0.9 -2.4,-1.7 -3.6,1.5 -1.4,2.9 -1.2,-0.6 -1.6,-1.8 -4.4,0.5 -5.7,1 -2.5,1.3 v -2.6 l 0.4,-4.7 2.3,-2.9 1.8,-3.9 2.7,-4.2 -0.5,-5.8 -1.8,-3.1 -0.3,-3.2 0.8,-5.3 -0.7,-7.1 -0.9,-12.6 -2.5,-30.1 z" />
<path
id="KS"
d="m 485.9,259.5 -43.8,-0.6 -40.6,-1.2 -21.7,-0.9 -4.3,64.8 24.3,1 44.7,2.1 46.3,0.6 12.6,-0.3 0.7,-35 -1.2,-11.1 -2.5,-2 -2.4,-3 -2.3,-3.6 0.6,-3 1.7,-1.4 v -2.1 l -0.8,-0.7 -2.6,-0.2 -3.5,-3.4 z" />
<path
id="KY"
d="m 607.2,331.8 12.6,-0.7 0.1,-4.1 h 4.3 l 30.4,-3.2 45.1,-4.3 5.6,-3.6 3.9,-2.1 0.1,-1.9 6,-7.8 4.1,-3.6 2.1,-2.4 -3.3,-2 -2.5,-2.7 -3,-3.8 -0.5,-2.2 -2.6,-1.4 -0.9,-1.9 -0.2,-6.1 -2.6,-2 -1.9,-1.1 -0.5,-2.3 -1.3,0.2 -2,1.2 -2.5,2.7 -1.9,-1.7 -2.5,-0.5 -2.4,1.4 h -2.3 l -1.8,-2 -5.6,-0.1 -1.8,-4.5 -2.9,-1.5 -2.1,0.8 -4.2,0.2 -0.5,2.1 1.2,1.5 0.3,2.1 -2.8,2 -3.8,1.8 -2.6,0.4 -0.5,4.5 -4.9,3.6 -2.6,3.7 0.2,2.2 -0.9,2.3 -4.5,-0.1 -1.3,-1.3 -3.9,2.2 0.2,3.3 -2.4,0.6 -0.8,-1.4 -1.7,-1.2 -2.7,1.1 -1.8,3.5 -2.2,-1 -1.4,-1.6 -3.7,0.4 -5.6,1 -2.8,1.3 -1.2,3.4 -1,1 1.5,3.7 -4.2,1.4 -1.9,1.4 -0.4,2.2 1.2,2.4 v 2.2 l -1.6,0.4 -6.1,-2.5 -2.3,0.9 -2,1.4 -0.8,1.8 1.7,2.4 -0.9,1.8 -0.1,3.3 -2.4,1.3 -2.1,1.7 z" />
<path
id="LA"
d="m 526.9,485.9 8.1,-0.3 10.3,3.6 6.5,1.1 3.7,-1.5 3.2,1.1 3.2,1 0.8,-2.1 -3.2,-1.1 -2.6,0.5 -2.7,-1.6 0.8,-1.5 3.1,-1 1.8,1.5 1.8,-1 3.2,0.6 1.5,2.4 0.3,2.3 4.5,0.3 1.8,1.8 -0.8,1.6 -1.3,0.8 1.6,1.6 8.4,3.6 3.6,-1.3 1,-2.4 2.6,-0.6 1.8,-1.5 1.3,1 0.8,2.9 -2.3,0.8 0.6,0.6 3.4,-1.3 2.3,-3.4 0.8,-0.5 -2.1,-0.3 0.8,-1.6 -0.2,-1.5 2.1,-0.5 1.1,-1.3 0.6,0.8 0.6,3.1 4.2,0.6 4,1.9 1,1.5 h 2.9 l 1.1,1 2.3,-3.1 V 493 h -1.3 l -3.4,-2.7 -5.8,-0.8 -3.2,-2.3 1.1,-2.7 2.3,0.3 0.2,-0.6 -1.8,-1 v -0.5 h 3.2 l 1.8,-3.1 -1.3,-1.9 -0.3,-2.7 -1.5,0.2 -1.9,2.1 -0.6,2.6 -3.1,-0.6 -1,-1.8 1.8,-1.9 1.9,-1.7 -2.2,-6.5 -3.4,-3.4 1,-7.3 -0.2,-0.5 -1.3,0.2 -33.1,1.4 -0.8,-2.4 0.8,-8.5 8.6,-14.8 -0.9,-2.6 1.4,-0.4 0.4,-2 -2.2,-2 0.1,-1.9 -2,-4.5 -0.4,-5.1 0.1,-0.7 -26.4,0.8 -25.2,0.1 0.4,9.7 0.7,9.5 0.5,3.7 2.6,4.5 0.9,4.4 4.3,6 0.3,3.1 0.6,0.8 -0.7,8.3 -2.8,4.6 1.2,2.4 -0.5,2.6 -0.8,7.3 -1.3,3 0.2,3.7 z" />
<path
id="MA"
d="m 887.5,172.5 -0.5,-2.3 0.8,-1.5 2.9,-1.5 0.8,3.1 -0.5,1.8 -2.4,1.5 v 1 l 1.9,-1.5 3.9,-4.5 3.9,-1.9 4.2,-1.5 -0.3,-2.4 -1,-2.9 -1.9,-2.4 -1.8,-0.8 -2.1,0.2 -0.5,0.5 1,1.3 1.5,-0.8 2.1,1.6 0.8,2.7 -1.8,1.8 -2.3,1 -3.6,-0.5 -3.9,-6 -2.3,-2.6 h -1.8 l -1.1,0.8 -1.9,-2.6 0.3,-1.5 2.4,-5.2 -2.9,-4.4 -3.7,1.8 -1.8,2.9 -18.3,4.7 -13.8,2.5 -0.6,10.6 0.7,4.9 22,-4.8 11.2,-2.8 2,1.6 3.4,4.3 2.9,4.7 z m 12.5,1.4 2.2,-0.7 0.5,-1.7 1,0.1 1,2.3 -1.3,0.5 -3.9,0.1 z m -9.4,0.8 2.3,-2.6 h 1.6 l 1.8,1.5 -2.4,1 -2.2,1 z" />
<path
id="MD"
d="m 834.8,264.1 1.7,-3.8 0.5,-4.8 -6.3,1.1 -5.8,0.3 -3.8,-16.8 -2.3,-5.5 -1.5,-4.6 -22.2,4.3 -37.6,7.6 2,10.4 4.8,-4.9 2.5,-0.7 1.4,-1.5 1.8,-2.7 1.6,0.7 2.6,-0.2 2.6,-2.1 2,-1.5 2.1,-0.6 1.5,1.1 2.7,1.4 1.9,1.8 1.3,1.4 4.8,1.6 -0.6,2.9 5.8,2.1 2.1,-2.6 3.7,2.5 -2.1,3.3 -0.7,3.3 -1.8,2.6 v 2.1 l 0.3,0.8 2,1.3 3.4,1.1 4.3,-0.1 3.1,1 2.1,0.3 1,-2.1 -1.5,-2.1 v -1.8 l -2.4,-2.1 -2.1,-5.5 1.3,-5.3 -0.2,-2.1 -1.3,-1.3 c 0,0 1.5,-1.6 1.5,-2.3 0,-0.6 0.5,-2.1 0.5,-2.1 l 1.9,-1.3 1.9,-1.6 0.5,1 -1.5,1.6 -1.3,3.7 0.3,1.1 1.8,0.3 0.5,5.5 -2.1,1 0.3,3.6 0.5,-0.2 1.1,-1.9 1.6,1.8 -1.6,1.3 -0.3,3.4 2.6,3.4 3.9,0.5 1.6,-0.8 3.2,4.2 1,0.4 z m -14.5,0.2 1.1,2.5 0.2,1.8 1.1,1.9 c 0,0 0.9,-0.9 0.9,-1.2 0,-0.3 -0.7,-3.1 -0.7,-3.1 l -0.7,-2.3 z" />
<path
id="ME"
d="m 865.8,91.9 1.5,0.4 v -2.6 l 0.8,-5.5 2.6,-4.7 1.5,-4 -1.9,-2.4 v -6 l 0.8,-1 0.8,-2.7 -0.2,-1.5 -0.2,-4.8 1.8,-4.8 2.9,-8.9 2.1,-4.2 h 1.3 l 1.3,0.2 v 1.1 l 1.3,2.3 2.7,0.6 0.8,-0.8 v -1 l 4,-2.9 1.8,-1.8 1.5,0.2 6,2.4 1.9,1 9.1,29.9 h 6 l 0.8,1.9 0.2,4.8 2.9,2.3 h 0.8 l 0.2,-0.5 -0.5,-1.1 2.8,-0.5 1.9,2.1 2.3,3.7 V 85 l -2.1,4.7 -1.9,0.6 -3.4,3.1 -4.8,5.5 h -1.3 c -0.6,0 -1,-2.1 -1,-2.1 l -1.8,0.2 -1,1.5 -2.4,1.5 -1,1.5 1.6,1.5 -0.5,0.6 -0.5,2.7 -1.9,-0.2 v -1.6 l -0.3,-1.3 -1.5,0.3 -1.8,-3.2 -2.1,1.3 1.3,1.5 0.3,1.1 -0.8,1.3 0.3,3.1 0.2,1.6 -1.6,2.6 -2.9,0.5 -0.3,2.9 -5.3,3.1 -1.3,0.5 -1.6,-1.5 -3.1,3.6 1,3.2 -1.5,1.3 -0.2,4.4 -1.1,6.3 -2.2,-0.9 -0.5,-3.1 -4,-1.1 -0.2,-2.5 -11.7,-37.43 z m 36.5,15.6 1.5,-1.5 1.4,1.1 0.6,2.4 -1.7,0.9 z m 6.7,-5.9 1.8,1.9 c 0,0 1.3,0.1 1.3,-0.2 0,-0.3 0.2,-2 0.2,-2 l 0.9,-0.8 -0.8,-1.8 -2,0.7 z" />
<path
id="MI"
d="m 644.5,211 19.1,-1.9 0.2,1.1 9.9,-1.5 12,-1.7 0.1,-0.6 0.2,-1.5 2.1,-3.7 2,-1.7 -0.2,-5.1 1.6,-1.6 1.1,-0.3 0.2,-3.6 1.5,-3 1.1,0.6 0.2,0.6 0.8,0.2 1.9,-1 -0.4,-9.1 -3.2,-8.2 -2.3,-9.1 -2.4,-3.2 -2.6,-1.8 -1.6,1.1 -3.9,1.8 -1.9,5 -2.7,3.7 -1.1,0.6 -1.5,-0.6 c 0,0 -2.6,-1.5 -2.4,-2.1 0.2,-0.6 0.5,-5 0.5,-5 l 3.4,-1.3 0.8,-3.4 0.6,-2.6 2.4,-1.6 -0.3,-10 -1.6,-2.3 -1.3,-0.8 -0.8,-2.1 0.8,-0.8 1.6,0.3 0.2,-1.6 -2.6,-2.2 -1.3,-2.6 h -2.6 l -4.5,-1.5 -5.5,-3.4 h -2.7 l -0.6,0.6 -1,-0.5 -3.1,-2.3 -2.9,1.8 -2.9,2.3 0.3,3.6 1,0.3 2.1,0.5 0.5,0.8 -2.6,0.8 -2.6,0.3 -1.5,1.8 -0.3,2.1 0.3,1.6 0.3,5.5 -3.6,2.1 -0.6,-0.2 v -4.2 l 1.3,-2.4 0.6,-2.4 -0.8,-0.8 -1.9,0.8 -1,4.2 -2.7,1.1 -1.8,1.9 -0.2,1 0.6,0.8 -0.6,2.6 -2.3,0.5 v 1.1 l 0.8,2.4 -1.1,6.1 -1.6,4 0.6,4.7 0.5,1.1 -0.8,2.4 -0.3,0.8 -0.3,2.7 3.6,6 2.9,6.5 1.5,4.8 -0.8,4.7 -1,6 -2.4,5.2 -0.3,2.7 -3.2,3.1 z m -33.3,-72.4 -1.3,-1.1 -1.8,-10.4 -3.7,-1.3 -1.7,-2.3 -12.6,-2.8 -2.8,-1.1 -8.1,-2.2 -7.8,-1 -3.9,-5.3 0.7,-0.5 2.7,-0.8 3.6,-2.3 v -1 l 0.6,-0.6 6,-1 2.4,-1.9 4.4,-2.1 0.2,-1.3 1.9,-2.9 1.8,-0.8 1.3,-1.8 2.3,-2.3 4.4,-2.4 4.7,-0.5 1.1,1.1 -0.3,1 -3.7,1 -1.5,3.1 -2.3,0.8 -0.5,2.4 -2.4,3.2 -0.3,2.6 0.8,0.5 1,-1.1 3.6,-2.9 1.3,1.3 h 2.3 l 3.2,1 1.5,1.1 1.5,3.1 2.7,2.7 3.9,-0.2 1.5,-1 1.6,1.3 1.6,0.5 1.3,-0.8 h 1.1 l 1.6,-1 4,-3.6 3.4,-1.1 6.6,-0.3 4.5,-1.9 2.6,-1.3 1.5,0.2 v 5.7 l 0.5,0.3 2.9,0.8 1.9,-0.5 6.1,-1.6 1.1,-1.1 1.5,0.5 v 7 l 3.2,3.1 1.3,0.6 1.3,1 -1.3,0.3 -0.8,-0.3 -3.7,-0.5 -2.1,0.6 -2.3,-0.2 -3.2,1.5 h -1.8 l -5.8,-1.3 -5.2,0.2 -1.9,2.6 -7,0.6 -2.4,0.8 -1.1,3.1 -1.3,1.1 -0.5,-0.2 -1.5,-1.6 -4.5,2.4 h -0.6 l -1.1,-1.6 -0.8,0.2 -1.9,4.4 -1,4 -3.2,6.9 z m -29.6,-56.5 1.8,-2.1 2.2,-0.8 5.4,-3.9 2.3,-0.6 0.5,0.5 -5.1,5.1 -3.3,1.9 -2.1,0.9 z m 86.2,32.1 0.6,2.5 3.2,0.2 1.3,-1.2 c 0,0 -0.1,-1.5 -0.4,-1.6 -0.3,-0.2 -1.6,-1.9 -1.6,-1.9 l -2.2,0.2 -1.6,0.2 -0.3,1.1 z" />
<path
id="MN"
d="M 464.6,66.79 464,70.7 v 10.27 l 1.6,5.03 1.9,3.32 0.5,9.93 1.8,13.45 1.8,7.3 0.4,6.4 v 5.3 l -1.6,1.8 -1.8,1.3 v 1.5 l 0.9,1.7 4.1,3.5 0.7,3.2 v 35.9 l 60.3,-0.6 21.2,-0.7 -0.5,-6 -1.8,-2.1 -7.2,-4.6 -3.6,-5.3 -3.4,-0.9 -2,-2.8 h -3.2 l -3.5,-3.8 -0.5,-7 0.1,-3.9 1.5,-3 -0.7,-2.7 -2.8,-3.1 2.2,-6.1 5.4,-4 1.2,-1.4 -0.2,-8 0.2,-3 2.6,-3 3.8,-2.9 1.3,-0.2 4.5,-5 1.8,-0.8 2.3,-3.9 2.4,-3.6 3.1,-2.6 4.8,-2 9.2,-4.1 3.9,-1.8 0.6,-2.3 -4.4,0.4 -0.7,1.1 h -0.6 l -1.8,-3.1 -8.9,0.3 -1,0.8 h -1 l -0.5,-1.3 -0.8,-1.8 -2.6,0.5 -3.2,3.2 -1.6,0.8 h -3.1 l -2.6,-1 v -2.1 l -1.3,-0.2 -0.5,0.5 -2.6,-1.3 -0.5,-2.9 -1.5,0.5 -0.5,1 -2.4,-0.5 -5.3,-2.4 -3.9,-2.6 h -2.9 l -1.3,-1 -2.3,0.6 -1.1,1.1 -0.3,1.3 h -4.8 v -2.1 l -6.3,-0.3 -0.3,-1.5 h -4.8 l -1.6,-1.6 -1.5,-6.1 -0.8,-5.5 -1.9,-0.8 -2.3,-0.5 -0.6,0.2 -0.3,8.2 -30.1,-0.03 z" />
<path
id="MO"
d="m 593.1,338.7 0.5,-5.9 4.2,-3.4 1.9,-1 v -2.9 l 0.7,-1.6 -1.1,-1.6 -2.4,0.3 -2.1,-2.5 -1.7,-4.5 0.9,-2.6 -2,-3.2 -1.8,-4.6 -4.6,-0.7 -6.8,-5.6 -2.2,-4.2 0.8,-3.3 2.2,-6 0.6,-3 -1.9,-1 -6.9,-0.6 -1.1,-1.9 v -4.1 l -5.3,-3.5 -7.2,-7.8 -2.3,-7.3 -0.5,-4.2 0.7,-2.4 -2.6,-3.1 -1.2,-2.4 -7.7,0.8 -10,0.6 -48.8,1.2 1.3,2.6 -0.1,2.2 2.3,3.6 3,3.9 3.1,3 2.6,0.2 1.4,1.1 v 2.9 l -1.8,1.6 -0.5,2.3 2.1,3.2 2.4,3 2.6,2.1 1.3,11.6 -0.8,40 0.5,5.7 23.7,-0.2 23.3,-0.7 32.5,-1.3 2.2,3.7 -0.8,3.1 -3.1,2.5 -0.5,1.8 5.2,0.5 4.1,-1.1 z" />
<path
id="MS"
d="m 604.3,472.5 2.6,-4.2 1.8,0.8 6.8,-1.9 2.1,0.3 1.5,0.8 h 5.2 l 0.4,-1.6 -1.7,-14.8 -2.8,-19 1,-45.1 -0.2,-16.7 0.2,-6.3 -4.8,0.3 -19.6,1.6 -13,0.4 -0.2,3.2 -2.8,1.3 -2.6,5.1 0.5,1.6 0.1,2.4 -2.9,1.1 -3.5,5.1 0.8,2.3 -3,2.5 -1,5.7 -0.6,1.9 1.6,2.5 -1.5,1.4 1.5,2.8 0.3,4.2 -1.2,2.5 -0.2,0.9 0.4,5 2,4.5 -0.1,1.7 2.3,2 -0.7,3.1 -0.9,0.3 0.6,1.9 -8.6,15 -0.8,8.2 0.5,1.5 24.2,-0.7 8.2,-0.7 1.9,-0.3 0.6,1.4 -1,7.1 3.3,3.3 2.2,6.4 z" />
<path
id="MT"
d="m 361.1,70.77 -5.3,57.13 -1.3,15.2 -59.1,-6.6 -49,-7.1 -1.4,11.2 -1.9,-1.7 -0.4,-2.5 -1.3,-1.9 -3.3,1.5 -0.7,2.5 -2.3,0.3 -3.8,-1.6 -4.1,0.1 -2.4,0.7 -3.2,-1.5 -3,0.2 -2.1,1.9 -0.9,-0.6 -0.7,-3.4 0.7,-3.2 -2.7,-3.2 -3.3,-2.5 -2.5,-12.6 -0.1,-5.3 -1.6,-0.8 -0.6,1 -4.5,3.2 -1.2,-0.1 -2.3,-2.8 -0.2,-2.8 7,-17.15 -0.6,-2.67 -3.5,-1.12 -0.4,-0.91 -2.7,-3.5 -4.6,-10.41 -3.2,-1.58 -1.8,-4.26 1.3,-4.63 -3.2,-7.57 4.4,-21.29 32.7,6.89 18.4,3.4 32.3,5.3 29.3,4 29.2,3.5 30.8,3.07 z" />
<path
id="NC"
d="M 786.7,357.7 774,350 l -3.1,-0.8 -16.6,2.1 -1.6,-3 -2.8,-2.2 -16.7,0.5 -7.4,0.9 -9.2,4.5 -6.8,2.7 -6.5,1.2 -13.4,1.4 0.1,-4.1 1.7,-1.3 2.7,-0.7 0.7,-3.8 3.9,-2.5 3.9,-1.5 4.5,-3.7 4.4,-2.3 0.7,-3.2 4.1,-3.8 0.7,1 2.5,0.2 2.4,-3.6 1.7,-0.4 2.6,0.3 1.8,-4 2.5,-2.4 0.5,-1.8 0.1,-3.5 4.4,0.1 38.5,-5.6 57.5,-12.3 2,4.8 3.6,6.5 2.4,2.4 0.6,2.3 -2.4,0.2 0.8,0.6 -0.3,4.2 -2.6,1.3 -0.6,2.1 -1.3,2.9 -3.7,1.6 -2.4,-0.3 -1.5,-0.2 -1.6,-1.3 0.3,1.3 v 1 h 1.9 l 0.8,1.3 -1.9,6.3 h 4.2 l 0.6,1.6 2.3,-2.3 1.3,-0.5 -1.9,3.6 -3.1,4.8 H 828 l -1.1,-0.5 -2.7,0.6 -5.2,2.4 -6.5,5.3 -3.4,4.7 -1.9,6.5 -0.5,2.4 -4.7,0.5 -5.1,1.5 z m 49.3,-26.2 2.6,-2.5 3.2,-2.6 1.5,-0.6 0.2,-2 -0.6,-6.1 -1.5,-2.3 -0.6,-1.9 0.7,-0.2 2.7,5.5 0.4,4.4 -0.2,3.4 -3.4,1.5 -2.8,2.4 -1.1,1.2 z" />
<path
id="ND"
d="m 471,126.4 -0.4,-6.2 -1.8,-7.3 -1.8,-13.61 -0.5,-9.7 -1.9,-3.18 -1.6,-5.32 V 70.68 l 0.6,-3.85 -1.8,-5.54 -28.6,-0.59 -18.6,-0.6 -26.5,-1.3 -25.2,-2.16 -0.9,14.42 -4.7,50.94 56.8,3.9 56.9,1.7 z" />
<path
id="NE"
d="m 470.3,204.3 -1,-2.3 -0.5,-1.6 -2.9,-1.6 -4.8,-1.5 -2.2,-1.2 -2.6,0.1 -3.7,0.4 -4.2,1.2 -6,-4.1 -2.2,-2 -10.7,0.6 -41.5,-2.4 -35.6,-2.2 -4.3,43.7 33.1,3.3 -1.4,21.1 21.7,1 40.6,1.2 43.8,0.6 h 4.5 l -2.2,-3 -2.6,-3.9 0.1,-2.3 -1.4,-2.7 -1.9,-5.2 -0.4,-6.7 -1.4,-4.1 -0.5,-5 -2.3,-3.7 -1,-4.7 -2.8,-7.9 -1,-5.3 z" />
<path
id="NH"
d="m 881.7,141.3 1.1,-3.2 -2.7,-1.2 -0.5,-3.1 -4.1,-1.1 -0.3,-3 -11.7,-37.48 -0.7,0.08 -0.6,1.6 -0.6,-0.5 -1,-1 -1.5,1.9 -0.2,2.29 0.5,8.41 1.9,2.8 v 4.3 l -3.9,4.8 -2.4,0.9 v 0.7 l 1.1,1.9 v 8.6 l -0.8,9.2 -0.2,4.7 1,1.4 -0.2,4.7 -0.5,1.5 1,1.1 5.1,-1.2 13.8,-3.5 1.7,-2.9 4,-1.9 z" />
<path
id="NJ"
d="m 823.7,228.3 0.1,-1.5 2.7,-1.3 1.7,-2.8 1.7,-2.4 3.3,-3.2 v -1.2 l -6.1,-4.1 -1,-2.7 -2.7,-0.3 -0.1,-0.9 -0.7,-2.2 2.2,-1.1 0.2,-2.9 -1.3,-1.3 0.2,-1.2 1.9,-3.1 V 193 l 2.5,-3.1 5.6,2.5 6.4,1.9 2.5,1.2 0.1,1.8 -0.5,2.7 0.4,4.5 -2.1,1.9 -1.1,1 0.5,0.5 2.7,-0.3 1.1,-0.8 1.6,3.4 0.2,9.4 0.6,1.1 -1.1,5.5 -3.1,6.5 -2.7,4 -0.8,4.8 -2.1,2.4 h -0.8 l -0.3,-2.7 0.8,-1 -0.2,-1.5 -4,-0.6 -4.8,-2.3 -3.2,-2.9 -1,-2 z" />
<path
id="NM"
d="m 270.2,429.4 -16.7,-2.6 -1.2,9.6 -15.8,-2 6,-39.7 7,-53.2 4.4,-30.9 34,3.9 37.4,4.4 32,2.8 -0.3,10.8 -1.4,-0.1 -7.4,97.7 -28.4,-1.8 -38.1,-3.7 0.7,6.3 z" />
<path
id="NV"
d="m 123.1,173.6 38.7,8.5 26,5.2 -10.6,53.1 -5.4,29.8 -3.3,15.5 -2.1,11.1 -2.6,16.4 -1.7,3.1 -1.6,-0.1 -1.2,-2.6 -2.8,-0.5 -1.3,-1.1 -1.8,0.1 -0.9,0.8 -1.8,1.3 -0.3,7.3 -0.3,1.5 -0.5,12.4 -1.1,1.8 -16.7,-25.5 -42.1,-62.1 -12.43,-19 8.55,-32.6 8.01,-31.3 z" />
<path
id="NY"
d="m 843.4,200 0.5,-2.7 -0.2,-2.4 -3,-1.5 -6.5,-2 -6,-2.6 -0.6,-0.4 -2.7,-0.3 -2,-1.5 -2.1,-5.9 -3.3,-0.5 -2.4,-2.4 -38.4,8.1 -31.6,6 -0.5,-6.5 1.6,-1.2 1.3,-1.1 1,-1.6 1.8,-1.1 1.9,-1.8 0.5,-1.6 2.1,-2.7 1.1,-1 -0.2,-1 -1.3,-3.1 -1.8,-0.2 -1.9,-6.1 2.9,-1.8 4.4,-1.5 4,-1.3 3.2,-0.5 6.3,-0.2 1.9,1.3 1.6,0.2 2.1,-1.3 2.6,-1.1 5.2,-0.5 2.1,-1.8 1.8,-3.2 1.6,-1.9 h 2.1 l 1.9,-1.1 0.2,-2.3 -1.5,-2.1 -0.3,-1.5 1.1,-2.1 v -1.5 h -1.8 l -1.8,-0.8 -0.8,-1.1 -0.2,-2.6 5.8,-5.5 0.6,-0.8 1.5,-2.9 2.9,-4.5 2.7,-3.7 2.1,-2.4 2.4,-1.8 3.1,-1.2 5.5,-1.3 3.2,0.2 4.5,-1.5 7.4,-2.2 0.7,4.9 2.4,6.5 0.8,5 -1,4.2 2.6,4.5 0.8,2 -0.9,3.2 3.7,1.7 2.7,10.2 v 5.8 l -0.6,10.9 0.8,5.4 0.7,3.6 1.5,7.3 v 8.1 l -1.1,2.3 2.1,2.7 0.5,0.9 -1.9,1.8 0.3,1.3 1.3,-0.3 1.5,-1.3 2.3,-2.6 1.1,-0.6 1.6,0.6 2.3,0.2 7.9,-3.9 2.9,-2.7 1.3,-1.5 4.2,1.6 -3.4,3.6 -3.9,2.9 -7.1,5.3 -2.6,1 -5.8,1.9 -4,1.1 -1,-0.4 z" />
<path
id="OH"
d="m 663.8,211.2 1.7,15.5 4.8,41.1 3.9,-0.2 2.3,-0.8 3.6,1.8 1.7,4.2 5.4,0.1 1.8,2 h 1.7 l 2.4,-1.4 3.1,0.5 1.5,1.3 1.8,-2 2.3,-1.4 2.4,-0.4 0.6,2.7 1.6,1 2.6,2 0.8,0.2 2,-0.1 1.2,-0.6 v -2.1 l 1.7,-1.5 0.1,-4.8 1.1,-4.2 1.9,-1.3 1,0.7 1,1.1 0.7,0.2 0.4,-0.4 -0.9,-2.7 v -2.2 l 1.1,-1.4 2.5,-3.6 1.3,-1.5 2.2,0.5 2.1,-1.5 3,-3.3 2.2,-3.7 0.2,-5.4 0.5,-5 V 230 l -1.2,-3.2 1.2,-1.8 1.3,-1.2 -0.6,-2.8 -4.3,-25.6 -6.2,3.7 -3.9,2.3 -3.4,3.7 -4,3.9 -3.2,0.8 -2.9,0.5 -5.5,2.6 -2.1,0.2 -3.4,-3.1 -5.2,0.6 -2.6,-1.5 -2.2,-1.3 z" />
<path
id="OK"
d="m 411.9,334.9 -1.8,24.3 -0.9,18 0.2,1.6 4,3.6 1.7,0.9 h 0.9 l 0.9,-2.1 1.5,1.9 1.6,0.1 0.3,-0.2 0.2,-1.1 2.8,1.4 -0.4,3.5 3.8,0.5 2.5,1 4.2,0.6 2.3,1.6 2.5,-1.7 3.5,0.7 2.2,3.1 1.2,0.1 v 2.3 l 2.1,0.7 2.5,-2.1 1.8,0.6 2.7,0.1 0.7,2.3 4.4,1.8 1.7,-0.3 1.9,-4.2 h 1.3 l 1.1,2.1 4.2,0.8 3.4,1.3 3,0.8 1.6,-0.7 0.7,-2.7 h 4.5 l 1.9,0.9 2.7,-1.9 h 1.4 l 0.6,1.4 h 3.6 l 2,-1.8 2.3,0.6 1.7,2.2 3,1.7 3.4,0.9 1.9,1.2 -0.3,-37.6 -1.4,-10.9 -0.1,-8.6 -1.5,-6.6 -0.6,-6.8 0.1,-4.3 -12.6,0.3 -46.3,-0.5 -44.7,-2.1 -41.5,-1.8 -0.4,10.7 z" />
<path
id="OR"
d="m 67.44,158.9 28.24,7.2 27.52,6.5 17,3.7 8.8,-35.1 1.2,-4.4 2.4,-5.5 -0.7,-1.3 -2.5,0.1 -1.3,-1.8 0.6,-1.5 0.4,-3.3 4.7,-5.7 1.9,-0.9 0.9,-0.8 0.7,-2.7 0.8,-1.1 3.9,-5.7 3.7,-4 0.2,-3.26 -3.4,-2.49 -1.2,-4.55 -13.1,-3.83 -15.3,-3.47 -14.8,0.37 -1.1,-1.31 -5.1,1.84 -4.5,-0.48 -2.4,-1.58 -1.3,0.54 -4.68,-0.29 -1.96,-1.43 -4.84,-1.77 -1.1,-0.07 -4.45,-1.27 -1.76,1.52 -6.26,-0.24 -5.31,-3.85 0.21,-9.28 -2.05,-3.5 -4.1,-0.6 -0.7,-2.5 -2.4,-0.5 -5.8,2.1 -2.3,6.5 -3.2,10 -3.2,6.5 -5,14.1 -6.5,13.6 -8.1,12.6 -1.9,2.9 -0.8,8.6 -1.3,6 2.71,3.5 z" />
<path
id="PA"
d="m 736.6,192.2 1.3,-0.5 5.7,-5.5 0.7,6.9 33.5,-6.5 36.9,-7.8 2.3,2.3 3.1,0.4 2,5.6 2.4,1.9 2.8,0.4 0.1,0.1 -2.6,3.2 v 3.1 l -1.9,3.1 -0.2,1.9 1.3,1.3 -0.2,1.9 -2.4,1.1 1,3.4 0.2,1.1 2.8,0.3 0.9,2.5 5.9,3.9 v 0.4 l -3.1,3 -1.5,2.2 -1.7,2.8 -2.7,1.2 -1.4,0.3 -2.1,1.3 -1.6,1.4 -22.4,4.3 -38.7,7.8 -11.3,1.4 -3.9,0.7 -5.1,-22.4 -4.3,-25.9 z" />
<path
id="RI"
d="m 873.6,175.7 -0.8,-4.4 -1.6,-6 5.7,-1.5 1.5,1.3 3.4,4.3 2.8,4.4 -2.8,1.4 -1.3,-0.2 -1.1,1.8 -2.4,1.9 -2.8,1.1 z" />
<path
id="SC"
d="m 759,413.6 -2.1,-1 -1.9,-5.6 -2.5,-2.3 -2.5,-0.5 -1.5,-4.6 -3,-6.5 -4.2,-1.8 -1.9,-1.8 -1.2,-2.6 -2.4,-2 -2.3,-1.3 -2.2,-2.9 -3.2,-2.4 -4.4,-1.7 -0.4,-1.4 -2.3,-2.8 -0.5,-1.5 -3.8,-5.4 -3.4,0.1 -3.9,-2.5 -1.2,-1.2 -0.2,-1.4 0.6,-1.6 2.7,-1.3 -0.8,-2 6.4,-2.7 9.2,-4.5 7.1,-0.9 16.4,-0.5 2.3,1.9 1.8,3.5 4.6,-0.8 12.6,-1.5 2.7,0.8 12.5,7.4 10.1,8.3 -5.3,5.4 -2.6,6.1 -0.5,6.3 -1.6,0.8 -1.1,2.7 -2.4,0.6 -2.1,3.6 -2.7,2.7 -2.3,3.4 -1.6,0.8 -3.6,3.4 -2.9,0.2 1,3.2 -5,5.3 -2.3,1.6 z" />
<path
id="SD"
d="m 471,181.1 -0.9,3.2 0.4,3 2.6,2 -1.2,5.4 -1.8,4.1 1.5,3.3 0.7,1.1 -1.3,0.1 -0.7,-1.6 -0.6,-2 -3.3,-1.8 -4.8,-1.5 -2.5,-1.3 -2.9,0.1 -3.9,0.4 -3.8,1.2 -5.3,-3.8 -2.7,-2.4 -10.9,0.8 -41.5,-2.4 -35.6,-2.2 1.5,-24.8 2.8,-34 0.4,-5 56.9,3.9 56.9,1.7 v 2.7 l -1.3,1.5 -2,1.5 -0.1,2.2 1.1,2.2 4.1,3.4 0.5,2.7 v 35.9 z" />
<path
id="TN"
d="m 670.8,359.6 -13.1,1.2 -23.3,2.2 -37.6,2.7 -11.8,0.4 0.9,-0.6 0.9,-4.5 -1.2,-3.6 3.9,-2.3 0.4,-2.5 1.2,-4.3 3,-9.5 0.5,-5.6 0.3,-0.2 12.3,-0.2 13.6,-0.8 0.1,-3.9 3.5,-0.1 30.4,-3.3 54,-5.2 10.3,-1.5 7.6,-0.2 2.4,-1.9 1.3,0.3 -0.1,3.3 -0.4,1.6 -2.4,2.2 -1.6,3.6 -2,-0.4 -2.4,0.9 -2.2,3.3 -1.4,-0.2 -0.8,-1.2 -1.1,0.4 -4.3,4 -0.8,3.1 -4.2,2.2 -4.3,3.6 -3.8,1.5 -4.4,2.8 -0.6,3.6 -2.5,0.5 -2,1.7 -0.2,4.8 z" />
<path
id="TX"
d="m 282.8,425.6 37,3.6 29.3,1.9 7.4,-97.7 54.4,2.4 -1.7,23.3 -1,18 0.2,2 4.4,4.1 2,1.1 h 1.8 l 0.5,-1.2 0.7,0.9 2.4,0.2 1.1,-0.6 v -0.2 l 1,0.5 -0.4,3.7 4.5,0.7 2.4,0.9 4.2,0.7 2.6,1.8 2.8,-1.9 2.7,0.6 2.2,3.1 0.8,0.1 v 2.1 l 3.3,1.1 2.5,-2.1 1.5,0.5 2.1,0.1 0.6,2.1 5.2,2 2.3,-0.5 1.9,-4 h 0.1 l 1.1,1.9 4.6,0.9 3.4,1.3 3.2,1 2.4,-1.2 0.7,-2.3 h 3.6 l 2.1,1 3,-2 h 0.4 l 0.5,1.4 h 4.7 l 1.9,-1.8 1.3,0.4 1.7,2.1 3.3,1.9 3.4,1 2.5,1.4 2.7,2 3.1,-1.2 2.1,0.8 0.7,20 0.7,9.5 0.6,4.1 2.6,4.4 0.9,4.5 4.2,5.9 0.3,3.1 0.6,0.8 -0.7,7.7 -2.9,4.8 1.3,2.6 -0.5,2.4 -0.8,7.2 -1.3,3 0.3,4.2 -5.6,1.6 -9.9,4.5 -1,1.9 -2.6,1.9 -2.1,1.5 -1.3,0.8 -5.7,5.3 -2.7,2.1 -5.3,3.2 -5.7,2.4 -6.3,3.4 -1.8,1.5 -5.8,3.6 -3.4,0.6 -3.9,5.5 -4,0.3 -1,1.9 2.3,1.9 -1.5,5.5 -1.3,4.5 -1.1,3.9 -0.8,4.5 0.8,2.4 1.8,7 1,6.1 1.8,2.7 -1,1.5 -3.1,1.9 -5.7,-3.9 -5.5,-1.1 -1.3,0.5 -3.2,-0.6 -4.2,-3.1 -5.2,-1.1 -7.6,-3.4 -2.1,-3.9 -1.3,-6.5 -3.2,-1.9 -0.6,-2.3 0.6,-0.6 0.3,-3.4 -1.3,-0.6 -0.6,-1 1.3,-4.4 -1.6,-2.3 -3.2,-1.3 -3.4,-4.4 -3.6,-6.6 -4.2,-2.6 0.2,-1.9 -5.3,-12.3 -0.8,-4.2 -1.8,-1.9 -0.2,-1.5 -6,-5.3 -2.6,-3.1 v -1.1 l -2.6,-2.1 -6.8,-1.1 -7.4,-0.6 -3.1,-2.3 -4.5,1.8 -3.6,1.5 -2.3,3.2 -1,3.7 -4.4,6.1 -2.4,2.4 -2.6,-1 -1.8,-1.1 -1.9,-0.6 -3.9,-2.3 v -0.6 l -1.8,-1.9 -5.2,-2.1 -7.4,-7.8 -2.3,-4.7 v -8.1 l -3.2,-6.5 -0.5,-2.7 -1.6,-1 -1.1,-2.1 -5,-2.1 -1.3,-1.6 -7.1,-7.9 -1.3,-3.2 -4.7,-2.3 -1.5,-4.4 -2.6,-2.9 -1.7,-0.5 z m 174.4,141.7 -0.6,-7.1 -2.7,-7.2 -0.6,-7 1.5,-8.2 3.3,-6.9 3.5,-5.4 3.2,-3.6 0.6,0.2 -4.8,6.6 -4.4,6.5 -2,6.6 -0.3,5.2 0.9,6.1 2.6,7.2 0.5,5.2 0.2,1.5 z" />
<path
id="UT"
d="m 228.4,305.9 24.6,3.6 1.9,-13.7 7,-50.5 2.3,-22 -32.2,-3.5 2.2,-13.1 1.8,-10.6 -34.7,-6.1 -12.5,-2.5 -10.6,52.9 -5.4,30 -3.3,15.4 -1.7,9.2 z" />
<path
id="VA"
d="m 834.7,265.2 -0.2,2.8 -2.9,3.8 -0.4,4.6 0.5,3.4 -1.8,5 -2.2,1.9 -1.5,-4.6 0.4,-5.4 1.6,-4.2 0.7,-3.3 -0.1,-1.7 z m -60.3,44.6 -38.6,5.6 -4.8,-0.1 -2.2,-0.3 -2.5,1.9 -7.3,0.1 -10.3,1.6 -6.7,0.6 4.1,-2.6 4.1,-2.3 v -2.1 l 5.7,-7.3 4.1,-3.7 2.2,-2.5 3.6,4.3 3.8,0.9 2.7,-1 2,-1.5 2.4,1.2 4.6,-1.3 1.7,-4.4 2.4,0.7 3.2,-2.3 1.6,0.4 2.8,-3.2 0.2,-2.7 -0.8,-1.2 4.8,-10.5 1.8,-5.2 0.5,-4.7 0.7,-0.2 1.1,1.7 1.5,1.2 3.9,-0.2 1.7,-8.1 3,-0.6 0.8,-2.6 2.8,-2.2 1.1,-2.1 1.8,-4.3 0.1,-4.6 3.6,1.4 6.6,3.1 0.3,-5.2 3.4,1.2 -0.6,2.9 8.6,3.1 1.4,1.8 -0.8,3.3 -1.3,1.3 -0.5,1.7 0.5,2.4 2,1.3 3.9,1.4 2.9,1 4.9,0.9 2.2,2.1 3.2,0.4 0.9,1.2 -0.4,4.7 1.4,1.1 -0.5,1.9 1.2,0.8 -0.2,1.4 -2.7,-0.1 0.1,1.6 2.3,1.5 0.1,1.4 1.8,1.8 0.5,2.5 -2.6,1.4 1.6,1.5 5.8,-1.7 3.7,6.2 z" />
<path
id="VT"
d="m 832.7,111.3 2.4,6.5 0.8,5.3 -1,3.9 2.5,4.4 0.9,2.3 -0.7,2.6 3.3,1.5 2.9,10.8 v 5.3 l 11.5,-2.1 -1,-1.1 0.6,-1.9 0.2,-4.3 -1,-1.4 0.2,-4.7 0.8,-9.3 v -8.5 l -1.1,-1.8 v -1.6 l 2.8,-1.1 3.5,-4.4 v -3.6 l -1.9,-2.7 -0.3,-5.79 -26.1,6.79 z" />
<path
id="WA"
d="m 74.5,67.7 -2.3,-4.3 -4.1,-0.7 -0.4,-2.4 -2.5,-0.6 -2.9,-0.5 -1.8,1 -2.3,-2.9 0.3,-2.9 2.7,-0.3 1.6,-4 L 60.2,49 60.4,45.3 64.8,44.7 62.1,42 60.6,34.9 61.2,32 v -7.9 l -1.8,-3.2 2.3,-9.4 2.1,0.5 2.4,2.9 2.7,2.6 3.2,1.9 4.5,2.1 3.1,0.6 2.9,1.5 3.4,1 2.3,-0.2 V 22 l 1.3,-1.1 2.1,-1.3 0.3,1.1 0.3,1.8 -2.3,0.5 -0.3,2.1 1.8,1.5 1.1,2.4 0.6,1.9 1.5,-0.2 0.2,-1.3 -1,-1.3 -0.5,-3.2 0.8,-1.8 -0.6,-1.5 V 19 L 95.4,15.4 94.3,12.8 91.9,8 92.2,7.2 93.6,6.4 98,7.9 l 9.7,2.7 8.6,1.9 20,5.7 23,5.7 15,3.49 -4.8,17.56 -4.5,20.83 -3.4,16.25 -0.4,9.18 -12.9,-3.72 -15.3,-3.47 -14.5,0.32 -1.1,-1.53 -5.7,2.09 -3.9,-0.42 -2.6,-1.79 -1.7,0.65 -4.15,-0.25 -1.72,-1.32 -5.16,-1.82 -1.18,-0.16 -4.8,-1.39 -1.92,1.65 -5.65,-0.25 -4.61,-3.35 z m 9.6,-55.4 2,-0.2 0.5,1.4 1.5,-1.6 h 2.3 l 0.8,1.5 -1.5,1.7 0.6,0.8 -0.7,2 -1.4,0.4 c 0,0 -0.9,0.1 -0.9,-0.2 0,-0.3 1.5,-2.6 1.5,-2.6 l -1.7,-0.6 -0.3,1.5 -0.7,0.6 -1.5,-2.3 z" />
<path
id="WI"
d="m 541.4,109.9 2.9,0.5 2.9,-0.6 7.4,-3.2 2.9,-1.9 2.1,-0.8 1.9,1.5 -1.1,1.1 -1.9,3.1 -0.6,1.9 1,0.6 1.8,-1 1.1,-0.2 2.7,0.8 0.6,1.1 1.1,0.2 0.6,-1.1 4,5.3 8.2,1.2 8.2,2.2 2.6,1.1 12.3,2.6 1.6,2.3 3.6,1.2 1.7,10.2 1.6,1.4 1.5,0.9 -1.1,2.3 -1.8,1.6 -2.1,4.7 -1.3,2.4 0.2,1.8 1.5,0.3 1.1,-1.9 1.5,-0.8 0.8,-2.3 1.9,-1.8 2.7,-4 4.2,-6.3 0.8,-0.5 0.3,1 -0.2,2.3 -2.9,6.8 -2.7,5.7 -0.5,3.2 -0.6,2.6 0.8,1.3 -0.2,2.7 -1.9,2.4 -0.5,1.8 0.6,3.6 0.6,3.4 -1.5,2.6 -0.8,2.9 -1,3.1 1.1,2.4 0.6,6.1 1.6,4.5 -0.2,3 -15.9,1.8 -17.5,1 H 567 l -0.7,-1.5 -2.9,-0.4 -2.6,-1.3 -2.3,-3.7 -0.3,-3.6 2,-2.9 -0.5,-1.4 -2.1,-2.2 -0.8,-3.3 -0.6,-6.8 -2.1,-2.5 -7,-4.5 -3.8,-5.4 -3.4,-1 -2.2,-2.8 h -3.2 l -2.9,-3.3 -0.5,-6.5 0.1,-3.8 1.5,-3.1 -0.8,-3.2 -2.5,-2.8 1.8,-5.4 5.2,-3.8 1.6,-1.9 -0.2,-8.1 0.2,-2.8 2.4,-2.8 z" />
<path
id="WV"
d="m 758.9,254.3 5.8,-6 2.6,-0.8 1.6,-1.5 1.5,-2.2 1.1,0.3 3.1,-0.2 4.6,-3.6 1.5,-0.5 1.3,1 2.6,1.2 3,3 -0.4,4.3 -5.4,-2.6 -4.8,-1.8 -0.1,5.9 -2.6,5.7 -2.9,2.4 -0.8,2.3 -3,0.5 -1.7,8.1 -2.8,0.2 -1.1,-1 -1.2,-2 -2.2,0.5 -0.5,5.1 -1.8,5.1 -5,11 0.9,1.4 -0.1,2 -2.2,2.5 -1.6,-0.4 -3.1,2.3 -2.8,-0.8 -1.8,4.9 -3.8,1 -2.5,-1.3 -2.5,1.9 -2.3,0.7 -3.2,-0.8 -3.8,-4.5 -3.5,-2.2 -2.5,-2.5 -2.9,-3.7 -0.5,-2.3 -2.8,-1.7 -0.6,-1.3 -0.2,-5.6 0.3,0.1 2.4,-0.2 1.8,-1 V 275 l 1.7,-1.5 0.1,-5.2 0.9,-3.6 1.1,-0.7 0.4,0.3 1,1.1 1.7,0.5 1.1,-1.3 -1,-3.1 v -1.6 l 3.1,-4.6 1.2,-1.3 2,0.5 2.6,-1.8 3.1,-3.4 2.4,-4.1 0.2,-5.6 0.5,-4.8 v -4.9 l -1.1,-3 0.9,-1.3 0.8,-0.7 4.3,19.3 4.3,-0.8 11.2,-1.3 z" />
<path
id="WY"
d="m 353,161.9 -1.5,25.4 -4.4,44 -2.7,-0.3 -83.3,-9.1 -27.9,-3 2,-12 6.9,-41 3.8,-24.2 1.3,-11.2 48.2,7 59.1,6.5 z" />
</g>
<g
id="text-2"
font-family="'Helvetica Neue'"
font-weight="bold"
transform="translate(-14.56658,-3.8115192)"
style="fill:#ffffff">
<g
font-size="28px"
id="g2-8"
style="fill:#ffffff">
<text
id="WAn-8"
x="117.53755"
y="49.386745"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan38"
x="117.53755"
y="49.386745"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WA</tspan><tspan
sodipodi:role="line"
id="tspan39"
x="117.53755"
y="66.053368"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">8</tspan></text>
<text
id="ORn-0"
x="95.010078"
y="122.48579"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan36"
x="95.010078"
y="122.48579"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">OR</tspan><tspan
sodipodi:role="line"
id="tspan37"
x="95.010078"
y="139.1524"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">5</tspan></text>
<text
id="CAn-2"
x="69.726158"
y="279.08011"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan34"
x="69.726158"
y="279.08011"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">CA</tspan><tspan
sodipodi:role="line"
id="tspan35"
x="69.726158"
y="295.74673"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">22</tspan></text>
<text
id="NVn-7"
x="133.35632"
y="232.08958"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan32"
x="133.35632"
y="232.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">NV</tspan><tspan
sodipodi:role="line"
id="tspan33"
x="133.35632"
y="248.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="AZn-2"
x="197.08659"
y="358.99054"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan27"
x="197.08659"
y="358.99054"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">AZ</tspan><tspan
sodipodi:role="line"
id="tspan28"
x="197.08659"
y="375.65717"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="UTn-6"
x="219.70537"
y="251.48579"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan25"
x="219.70537"
y="251.48579"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">UT</tspan><tspan
sodipodi:role="line"
id="tspan26"
x="219.70537"
y="268.1524"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">4</tspan></text>
<text
id="IDn-7"
x="194.15645"
y="151.80695"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan21"
x="194.15645"
y="151.80695"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">ID</tspan><tspan
sodipodi:role="line"
x="194.15645"
y="168.47357"
id="tspan22"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">4</tspan></text>
<text
id="MTn-8"
x="279.21573"
y="85.347488"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan15"
x="279.21573"
y="85.347488"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MT</tspan><tspan
sodipodi:role="line"
id="tspan16"
x="279.21573"
y="102.01411"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">4</tspan></text>
<text
id="WYn-0"
x="298.39981"
y="182.08109"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan18"
x="298.39981"
y="182.08109"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WY</tspan><tspan
sodipodi:role="line"
x="298.39981"
y="198.74771"
id="tspan19"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="COn-6"
x="319.78827"
y="270.08292"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan23"
x="319.78827"
y="270.08292"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">CO</tspan><tspan
sodipodi:role="line"
id="tspan24"
x="319.78827"
y="286.74954"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">6</tspan></text>
<text
id="NMn-5"
x="302.97266"
y="369.28769"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan29"
x="302.97266"
y="369.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">NM</tspan><tspan
sodipodi:role="line"
x="302.97266"
y="385.95432"
id="tspan31"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="TXn-4"
x="424.32278"
y="451.69336"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan1"
x="424.32278"
y="451.69336"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">TX</tspan><tspan
sodipodi:role="line"
id="tspan2"
x="424.32278"
y="468.35999"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">23</tspan></text>
<text
id="OKn-6"
x="461.73621"
y="358.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"><tspan
sodipodi:role="line"
id="tspan3"
x="461.73621"
y="358.28769">OK</tspan><tspan
sodipodi:role="line"
id="tspan6"
x="461.73621"
y="374.95432">11</tspan></text>
<text
id="KSn-2"
x="441.22095"
y="289.62161"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"><tspan
sodipodi:role="line"
id="tspan7"
x="441.22095"
y="289.62161">KS</tspan><tspan
sodipodi:role="line"
id="tspan8"
x="441.22095"
y="306.28824">9</tspan></text>
<text
id="NEn-3"
x="418.48505"
y="222.94185"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan9"
x="418.48505"
y="222.94185"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NE</tspan><tspan
sodipodi:role="line"
id="tspan10"
x="418.48505"
y="239.60847"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">7</tspan></text>
<text
id="SDn-7"
x="415.85419"
y="157.25868"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan11"
x="415.85419"
y="157.25868"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">SD</tspan><tspan
sodipodi:role="line"
id="tspan12"
x="415.85419"
y="173.92531"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">4</tspan></text>
<text
id="NDn-4"
x="417.25748"
y="91.851349"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan13"
x="417.25748"
y="91.851349"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">ND</tspan><tspan
sodipodi:role="line"
id="tspan14"
x="417.25748"
y="108.51797"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">4</tspan></text>
<text
id="MNn-1"
x="504.72253"
y="124.94574"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan30"
x="504.72253"
y="124.94574"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MN</tspan><tspan
sodipodi:role="line"
id="tspan42"
x="504.72253"
y="141.61237"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">11</tspan></text>
<text
id="WIn-5"
x="579.54468"
y="159.84668"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan71"
x="579.54468"
y="159.84668"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WI</tspan><tspan
sodipodi:role="line"
id="tspan72"
x="579.54468"
y="176.51331"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">12</tspan></text>
<text
id="ILn-9"
x="596.69891"
y="249.73816"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan73"
x="596.69891"
y="249.73816"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">IL</tspan><tspan
sodipodi:role="line"
id="tspan74"
x="596.69891"
y="266.40479"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">29</tspan></text>
<text
id="IAn-6"
x="521.78705"
y="212.28769"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan43"
x="521.78705"
y="212.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">IA</tspan><tspan
sodipodi:role="line"
id="tspan44"
x="521.78705"
y="228.95432"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">11</tspan></text>
<text
id="MOn-4"
x="540.95941"
y="292.93628"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan45"
x="540.95941"
y="292.93628"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MO</tspan><tspan
sodipodi:role="line"
id="tspan46"
x="540.95941"
y="309.60291"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">15</tspan></text>
<text
id="ARn-6"
x="547.24762"
y="374.0896"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan51"
x="547.24762"
y="374.0896"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">AR</tspan><tspan
sodipodi:role="line"
id="tspan52"
x="547.24762"
y="390.75623"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">9</tspan></text>
<text
id="LAn-8"
x="545.79749"
y="450.64859"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan53"
x="545.79749"
y="450.64859"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">LA</tspan><tspan
sodipodi:role="line"
id="tspan54"
x="545.79749"
y="467.31522"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">10</tspan></text>
<text
id="MSn-5"
x="597.98846"
y="417.18863"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan47"
x="597.98846"
y="417.18863"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">MS</tspan><tspan
sodipodi:role="line"
id="tspan48"
x="597.98846"
y="433.85526"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">9</tspan></text>
<text
id="ALn-7"
x="650.66272"
y="409.38675"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan57"
x="650.66272"
y="409.38675"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">AL</tspan><tspan
sodipodi:role="line"
id="tspan58"
x="650.66272"
y="426.05338"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">11</tspan></text>
<text
id="GAn-4"
x="714.30121"
y="407.73816"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan49"
x="714.30121"
y="407.73816"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">GA</tspan><tspan
sodipodi:role="line"
id="tspan50"
x="714.30121"
y="424.40479"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">12</tspan></text>
<text
id="FLn-7"
x="763.43597"
y="504.54953"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan55"
x="763.43597"
y="504.54953"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">FL</tspan><tspan
sodipodi:role="line"
id="tspan56"
x="763.43597"
y="521.21613"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">7</tspan></text>
<text
id="SCn-2"
x="759.23254"
y="347.11545"
style="fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan59"
x="759.23254"
y="347.11545" /><tspan
sodipodi:role="line"
x="759.23254"
y="382.11545"
id="tspan61"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">SC 8</tspan></text>
<text
id="NCn-8"
x="781.7052"
y="328.48581"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan67"
x="781.7052"
y="328.48581"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NC</tspan><tspan
sodipodi:role="line"
id="tspan68"
x="781.7052"
y="345.15244"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">13</tspan></text>
<text
id="TNn-9"
x="655.9707"
y="340.83722"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan65"
x="655.9707"
y="340.83722"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">TN</tspan><tspan
sodipodi:role="line"
id="tspan66"
x="655.9707"
y="357.50385"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">11</tspan></text>
<text
id="KYn-4"
x="675.10925"
y="299.28769"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan69"
x="675.10925"
y="299.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">KY</tspan><tspan
sodipodi:role="line"
id="tspan70"
x="675.10925"
y="315.95432"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">11</tspan></text>
<text
id="INn-4"
x="644.74738"
y="248.48579"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan77"
x="644.74738"
y="248.48579"
style="text-align:center;text-anchor:middle;fill:#ffffff">IN</tspan><tspan
sodipodi:role="line"
id="tspan78"
x="644.74738"
y="265.1524"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">14</tspan></text>
<text
id="MIn-5"
x="663.32098"
y="183.08958"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan79"
x="663.32098"
y="183.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MI</tspan><tspan
sodipodi:role="line"
id="tspan80"
x="663.32098"
y="199.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">19</tspan></text>
<text
id="OHn-9"
x="700.31543"
y="235.38675"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan81"
x="700.31543"
y="235.38675"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">OH</tspan><tspan
sodipodi:role="line"
id="tspan82"
x="700.31543"
y="252.05338"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">26</tspan></text>
<text
id="WVn-3"
x="738.71716"
y="272.44101"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan83"
x="738.71716"
y="272.44101"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">WV</tspan><tspan
sodipodi:role="line"
id="tspan84"
x="738.71716"
y="289.10764"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">8</tspan></text>
<text
id="VAn-8"
x="771.05426"
y="282.73816"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan85"
x="771.05426"
y="282.73816"
style="font-size:13.3333px;fill:#ffffff">VA</tspan><tspan
sodipodi:role="line"
id="tspan86"
x="771.05426"
y="299.40479"
style="font-size:13.3333px;fill:#ffffff">11</tspan></text>
<text
id="PAn-6"
x="779.22137"
y="210.08958"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan87"
x="779.22137"
y="210.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">PA</tspan><tspan
sodipodi:role="line"
id="tspan88"
x="779.22137"
y="226.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">36</tspan></text>
<text
id="NYn-4"
x="811.52887"
y="153.03532"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan89"
x="811.52887"
y="153.03532"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NY</tspan><tspan
sodipodi:role="line"
x="811.52887"
y="169.70195"
id="tspan91"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">47</tspan></text>
<text
id="MEn-2"
x="893.95428"
y="77.998077"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan60"
x="893.95428"
y="77.998077"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">ME</tspan><tspan
sodipodi:role="line"
id="tspan62"
x="893.95428"
y="94.664703"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">5</tspan></text>
<text
id="DemL"
x="855"
y="425"
style="fill:#ffffff" />
<text
id="RepL"
x="855"
y="458"
style="fill:#ffffff" />
</g>
<g
font-size="22px"
id="g3"
style="fill:#ffffff">
<text
id="NHn-8"
x="817.56848"
y="56.648579"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan92">NH 4</tspan></text>
<text
id="VTn-3"
x="802.61328"
y="81.54953"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan93">VT 3</tspan></text>
<text
id="MAn-7"
x="927"
y="164"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan94">MA 17</tspan></text>
<text
id="RIn-0"
x="925"
y="199"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan95">RI 4</tspan></text>
<text
id="CTn-4"
x="918"
y="228"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan96">CT 8</tspan></text>
<text
id="NJn-5"
x="898"
y="260"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan97">NJ 16</tspan></text>
<text
id="DEn-6"
x="891"
y="284"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan98">DE 3</tspan></text>
<text
id="MDn-5"
x="883"
y="305"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan99">MD 8</tspan></text>
</g>
</g>
<path
id="lines"
d="m 830,58 13,29 m -25,-5 8,17 m 49,50 34,3 m -41,22 41,12 m -57,-6 51,33 m -72,13 50,22 m -58,-2 51,26 m -55,-15 46,33"
stroke="#ffffff"
stroke-width="1.6"
sodipodi:nodetypes="cccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -19,15 +19,16 @@
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="5.504224"
inkscape:cx="852.7996"
inkscape:cy="69.946281"
inkscape:window-width="1920"
inkscape:window-height="1018"
inkscape:window-x="-8"
inkscape:zoom="2.752112"
inkscape:cx="789.39375"
inkscape:cy="296.86292"
inkscape:window-width="1858"
inkscape:window-height="1058"
inkscape:window-x="54"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg3" />
inkscape:current-layer="svg3"
showgrid="false" />
<title
id="title1">1968 US presidential election results</title>
<defs
@ -671,7 +672,7 @@
id="tspan68"
x="781.7052"
y="345.15244"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">12</tspan></text>
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">13</tspan></text>
<text
id="TNn-9"
x="655.9707"
@ -761,7 +762,7 @@
id="tspan84"
x="738.71716"
y="289.10764"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">4</tspan></text>
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">7</tspan></text>
<text
id="VAn-8"
x="771.05426"

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

112
assets/ROC2024.svg Normal file
View file

@ -0,0 +1,112 @@
<?xml version="1.0"?>
<!--********* Copyright (c) 2024 Pareto Softare, LLC DBA Simplemaps.com ***************************************
************* Free for Commercial Use, full terms at https://simplemaps.com/resources/svg-license ************
************* Attribution is appreciated! https://simplemaps.com *******************************************-->
<svg baseprofile="tiny" height="1000" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" version="1.2" viewbox="0 0 1000 1000" width="1000" xmlns="http://www.w3.org/2000/svg">
<g id="features">
<path d="M181.2 423.5l0 0.1-1.1-0.4-0.3-0.4 0.2-0.4 0.4-0.8-1.3-0.9-0.2-0.3-0.1-0.1-2.5-1.9-1.8-1.9-2.7 1-1.3 1.6 0.2 0.7-0.1 0.6-0.3 0.2-0.3-0.1-0.4 2.4-5 5.9-11.4-4.1 0.2 1-0.2 1-0.3 0.1 1.1 1.1-0.4 8.2-3.3 2.6 2.5 2.7-1.4-0.6-1.9-0.2-1.7-0.7-0.9-1.5 0.3-0.6 1.6-1.9 0.5-1 0.1-1.4 0-1.8-0.6-3.1-1.2-3-0.2-1.6 1.1-0.6 5.5-2.7 7.2 4.7 5-0.6 0.8-6.3 1.7-3.9 5.3-1.1 5.2 4.7 2 5.3z m0.2 10.5l0.3-2.1 0.3 0-0.2 1.7-0.4 0.4z m0.9-5l-1-3 0.1-0.7 0.3-0.4 0.8 2.4-0.2 1.7z" id="TWKIN" name="Kinmen">
</path>
<path d="M406.3 605.4l3.4 6.2 0.9 2.9-0.4 2.2-1.4-1.4-1.9-1.3-2-0.4-2.8 1.6-2.1 0.3-1 0.5-0.5 1.1-0.8 2.9-0.5 0.9-3.4 2-3.4 0.5-3.5-1.4-3.5-3.5 0.9-1.8 1.9 2.3 2.9 0.6 3.1-0.8 2.6-2.1-1.8-0.7-1.4-0.8-1.1-1.2-1-1.6-0.4 0.7 0 0.2-0.2 0.2-0.7 0.4-0.2-2.9 0.2-2.9 1.3 0 1.5 0.4 5.3-3.4 3.4-1.1-0.9 3.2-0.4 0.9 2.9-0.9 2.2 0.3 1.6-0.2 1.2-1.9z" id="TWPEN" name="Penghu">
</path>
<path d="M471.2 47.6l0.1 0.6-0.3 0-0.7 0.1-0.5 0.1-0.1-0.9 0.3-0.4 0.1-0.1-0.1-0.3-0.1 0-0.1-0.1 0.4-0.5 0.2-0.1 0.4-0.2 0.2-0.3 0.6 1.3-0.6 0.7 0.2 0.1z m-12.4 22.5l-0.1-0.3-0.2 0.5 0.2 0.7 0.3 0.3 0.3 0.1 0.4 0.1 0.3 0 0.5 0.1 0.3 0.2 0.1 0.5 0.2-0.3 0.6-0.1 0.4-0.3 0.3-0.2 0-0.5 0.1-0.5 0.6-0.7 0.1 0 0.2-0.1 0.6 0.1 0.5 0 0.3 0.1 0.1 0 0.5 0 0.7 0.1 0.8-0.5 0 0.3-0.3 0.3-0.2 0.4-0.3 0-0.2 0.2-0.2 0.4 0 0.5-0.1 0.3 0 0.1-0.3 0.4-0.3 0.5-0.1 0.1-0.3 0.2-0.2-0.4-0.2 0-0.7 0.1-0.2 0.3-0.4 0.6-1 1-0.2 0-0.4-0.3-0.7-0.1-0.6 0.1-0.2 1.2-0.2 0.1-0.7 0.1-0.1-0.3-0.4-0.5-0.2-0.2-0.5 0.1-0.6 0.1-0.9-0.3-0.3-1 0.3-0.6 0.4-0.3 0.4-0.4 0.3-0.7-0.7-0.5 0.4-0.5 0.4 0 0.2 0 0.1-0.5-0.5-0.8 0-0.8 0.3-0.4 0.4 0 0.3 0.4 0.3 0.1 0.1 0 0.1 0 0.5 0.3-0.3 0.9-0.1 0.2z m12.6-10.9l-0.4 0-0.6 0-1.1-0.3-0.4 0.7-0.4 0.1-0.2 0.2-0.3 0.4 0 0.7 0.2 0.7 0 0.6-0.2 0.9 0.1 0.4 0.3 0.1 0.1 0.3-0.5 0.2-0.9-0.2-0.5 0.2 0-1 0.1-1.5 0.3-1.4 0.3-0.5-0.2-0.4 0-0.6 0.1-0.2 1.1-0.1 0.5-0.6 0.5-0.2 0.6-0.3 1-0.9 0.3-1 0.5-0.3 0.6-0.1 0.4-0.3 0.6 0.1 0.1 0.5 0.3 0.4 0.1 0 0.3 0 0 0.9 0 0.9 0.7-0.7 0.2 0 0.6 0 0.1 0.1 0 0.3 0 0.9-0.7 0.2 0.1 0.5 0.3 0.2 0 0.3 0 0.7-0.5-0.7-0.2-0.7-0.5-0.7-0.7 0-0.5 0-0.3 0.2-0.4 0.3-0.5 0.1-0.4 0.6z m2.1-5.6l-0.4 0.2-0.3 0-0.7 0 0.1-0.7 0.7-0.2 0.1-0.4 0.7-0.1 0.7-0.2-0.9 1.4z" id="TWLIE" name="Matsu Islands">
</path>
<path d="M657.2 325.1l6.4-10.3 5-5.9 5.2-4.4 13.2-4.4 3.1-1.9 2.7-2.4 3.3-1.8 6.4-2.3 14.5-2.6 3 3.3 4.6 2.2 3.4 2.2 2.3 2.1 2.9 0.7 3.1 1.6 3.7 5.4 0.3 2.9-0.7 3-2.4 2.5-9.4 2.8-2.7 2.9 0.2 4.5-0.8 4.1 0.8 3.7 3.8 3.7 0.8 3.7-1 4.8 3.7 2.1 5.3-0.3 3.7 1.4 6 8.9-1 3.8-2.3 2.7 0.6 3.7 1 4.1 6.4 6 1.8 4-2.2 0.6-3.9 2.8 2.3 9-1.6 2.7-2.5 1-2.3-0.5-2.9 1.1-0.3 1.1-3.5-1.5-5.2-3-2.9-2.1-4-0.7-4.5-2.6-3.7-2.9-0.4-3.1 3.3-4.7 1.4-5.6-1.2-5.2-0.2-3.6-2.5-1.9-3.1-1.6-1.9-3.3-2.4-2.5-2.8 0.2-2.8-0.5-2.2-2.2-3-2.2-4.8-1.5-2.4-2.7 0.8-4.2-2.6-3-4.9-1.6-3-1.4-3.1-0.9-3.6-1.4-2.9-6.3-3.3-2.2-9.8 0.7-2.3-0.8z" id="TWTAO" name="Taoyuan">
</path>
<path d="M646.3 345.6l0.1-0.1 1.1-1.6 0.4-2.7 0.6-2.1 1.5-2.1 1.9-1.6 1.8-0.6-0.1-0.9 0.5-2.1 1.6-4.4 1.5-2.3 2.3 0.8 9.8-0.7 3.3 2.2 2.9 6.3 3.6 1.4 3.1 0.9 3 1.4 4.9 1.6 2.6 3-0.8 4.2 2.4 2.7 4.8 1.5 3 2.2 2.2 2.2 2.8 0.5 2.8-0.2 2.4 2.5 1.9 3.3 3.1 1.6 2.5 1.9 0.2 3.6 1.2 5.2-1.4 5.6-3.3 4.7 0.4 3.1 3.7 2.9 4.5 2.6 4 0.7 2.9 2.1 5.2 3 3.5 1.5-1.7 4.7-1 3.4 0.4 3.2-2.7 4.2-10.1 10.2-3.1 7.5-2-0.5-7.7 0.7-0.5 0.4-0.5-3.5-3.3-5.6-2.3-2.4-1-3.1-3.6-2.9-9.1 2.3-3.4-0.4-4.9 0.4-5.5 1.5-3-0.7 0.7-3.7 0.9-3.3-0.7-2.9-0.7-2.1 0.7-2.3 0.5-2.4 0.3-2.8-0.6-3.8-2.7-2.4-8.8-4.2-4.3-3.2-2.8-3.2-3.2-8 1.8-2.2 1.6-4.1 2.5-3.1 4.2-1.7 3.7-0.6 1.7-1 0.7-2.7-1.3-2.6-2.8-2.8-3.9-2-10.9-3.5-6-2.6z" id="TWHSQ" name="Hsinchu">
</path>
<path d="M638.4 367.7l0.8-3 4-8.2 1.6-2.1 0.5-1.2 0-1.2-0.5-1.3-0.8-1.6 1.1-2.2 1.2-1.3 6 2.6 10.9 3.5 3.9 2 2.8 2.8 1.3 2.6-0.7 2.7-1.7 1-3.7 0.6-4.2 1.7-2.5 3.1-1.6 4.1-1.8 2.2-0.2 0.2-3.3 0.8-3.1-1.3-2-2.7-3-1.9-5-1.9z" id="TWHSZ" name="Hsinchu City">
</path>
<path d="M590.8 428.5l5.2-5.8 1.3-2.9 0.7-4.8 1.5-4 4.3-7.5 1.2-4.5 1.1-2 4.8-1.4 1.4-1.5 0.8-1.9 1-1.8 3-3.2 3.4-2.4 4-1.1 5.2 1-0.7-3.9 1.9-2.7 2.7-2.7 1.3-4.2 0.6-1.3 2.6-1.3 0.3-0.9 5 1.9 3 1.9 2 2.7 3.1 1.3 3.3-0.8 0.2-0.2 3.2 8 2.8 3.2 4.3 3.2 8.8 4.2 2.7 2.4 0.6 3.8-0.3 2.8-0.5 2.4-0.7 2.3 0.7 2.1 0.7 2.9-0.9 3.3-0.7 3.7 3 0.7 5.5-1.5 4.9-0.4 3.4 0.4 9.1-2.3 3.6 2.9 1 3.1 2.3 2.4 3.3 5.6 0.5 3.5-2.7 1.9-1.3 4-3.5 1.5-3.9-0.1-3 2.2-3.3 3.1-4.2 2.4-8.4 6.6-4.9 2-6.4 3.5-3.9-1.6-3.6-4-4.4-1.7-7.1-0.6-4 2.4-0.6 5.3-3.7 2-8.8 0.5-8.4-4.8-4.7-0.9-5.3-2.6-10.9-8-4.5-3.9-3.4-3.6-6.6-10.3z" id="TWMIA" name="Miaoli">
</path>
<path d="M563.1 480.3l0.5-0.6 0.5-2.4 2.4-1.9 1.6-4.7 1.9-8.8 6.7-11.7 2.1-7.1 2.4-4 9.6-10.6 6.6 10.3 3.4 3.6 4.5 3.9 10.9 8 5.3 2.6 4.7 0.9 8.4 4.8 8.8-0.5 3.7-2 0.6-5.3 4-2.4 7.1 0.6 4.4 1.7 3.6 4 3.9 1.6 6.4-3.5 4.9-2 8.4-6.6 4.2-2.4 3.3-3.1 3-2.2 3.9 0.1 3.5-1.5 1.3-4 2.7-1.9 0.5-0.4 7.7-0.7 2 0.5 2.6 0.8-0.5 4 1.1 2.6 3.5 0.8 3.2 1.9 2.7 1.8 2.8-0.4 3.4-1.7 3.6 0 4.2 3.4-3.4 3.5-0.3 3-1.7 4.5-5.4 3.4-2.2 3.6-0.9 3.7-2.2 2.7-2.5 1.3-0.9 1.4-2 1.5-9.6-0.9-3.4-0.8-3.4 0.2-8 3.2-4.5 0.7-4.4 0.2-6.4 3.3-3.2 0.6-3.6 2.1-5.7 5.5-3.6 1.4-4.8-0.1-3.4 2.8-1.9 3.9-2.5 0.7-6.4-4.8-2.2 1.4-4.2 5.5-4.3 0.2-7.3-1.1-4.6 2.2-2.7 6.1-5.4 10.4-3.6 3.4-3 0.5-13-1.8-3-0.1-0.1-1-3.9-2.6-3.1-0.5-0.9-2.5 0-2.8-1.4-2.9-2.3-3.6-3.2-2.6-8.5-2.5-3.3-3.9-0.7-5.5-1.9-4.6-2.9-2.5-4.2-1.3z" id="TWTXG" name="Taichung City">
</path>
<path d="M519.2 556.7l0.6-1 1.1-5.1 0.9-2.1 5.1-4.9 1.5-2.1 1.9-5.6 3-5.6 4.2-11.6 1.9-3.3 2.2-2.2 1.8-1.2 1.5-0.8 1.2-1 0.4-2.2 0.9-2 3.7-2.9 0.8-2.2 0.4-7.2 0.7-2 1.9-1.9 8.2-9.5 4.2 1.3 2.9 2.5 1.9 4.6 0.7 5.5 3.3 3.9 8.5 2.5 3.2 2.6 2.3 3.6 1.4 2.9 0 2.8 0.9 2.5 3.1 0.5 3.9 2.6 0.1 1 0 2.6-3.1 1.1-0.9 2.1 0.4 2.9-1.4 3.3-1.2 3.9-0.1 4.1-0.8 4.7-0.7 9.7 1.5 4.5 2.6 2.4 2.8 1 4.1 2.1-0.7 2.5-2.8 1.1-1.8 1.7-1.7 1.1-0.7 0.5-8.7-1.7-4.2 0.1-8.7-4.4-14.2-1.6-8.4-3.2-4.8-1.3-5.4-0.3-15.9 1.9-5.5-3.2z" id="TWCHA" name="Changhua">
</path>
<path d="M496.5 622.6l3.4-3.7-0.2-11.8 0.5-8.9 2-7 3.2-5.6 0.9-7.2 1.7-6.3 0.9-2.2 4.4-5.8 0.7-2 0.6-1.1 4-3.1 0.6-1.2 5.5 3.2 15.9-1.9 5.4 0.3 4.8 1.3 8.4 3.2 14.2 1.6 8.7 4.4 4.2-0.1 8.7 1.7 0.7-0.5 1.4 5.2-1.5 3.4-0.7 5.2 0.7 5.5-1.3 3.7-0.7 4.2 2.8 3.4 4.2 1.8 4.9-1.5 6-0.6 1.9 2.5-0.4 0-0.3 3.6 0 2.5-2.8 0.9-8.4 1.7-4.6 0.5-1.7-2.9-3.4-2.4-6 1.7-2.7 0.4-9.1-3.3-3.6-4.2-3.8-3.4-4.9 0.3-9.1 1.7-5.2 1.4-11.8 6.8-2.7 2.7-3.2 1.7-5 4.1-3.9 0.6-1.4 2.2-1.3 3.5-2.8 2.3-4.4-0.1-6-3.3-7.6 0.8-0.1 0.1-0.7 0z" id="TWYUN" name="Yunlin">
</path>
<path d="M495.1 664.4l2.8-0.2 2.3-1 1 0.3-0.6-2.3-1.6 1.2-1.3-0.4-1.8-0.1 0-2.3 1.8-4.1 2.6-0.2 3.9 0-2.6-7.5-3.1-5.8 1.4-2.6 0-1.4-2.2-1.1 0.3-1.2 1.3-1.5 0.6-1.9 3-3.8-6.2 0.4-0.2-6.3 0.7 0 0.1-0.1 7.6-0.8 6 3.3 4.4 0.1 2.8-2.3 1.3-3.5 1.4-2.2 3.9-0.6 5-4.1 3.2-1.7 2.7-2.7 11.8-6.8 5.2-1.4 9.1-1.7 4.9-0.3 3.8 3.4 3.6 4.2 9.1 3.3 2.7-0.4 6-1.7 3.4 2.4 1.7 2.9 4.6-0.5 8.4-1.7 2.8-0.9 0-2.5 0.3-3.6 0.4 0 4.4 0.5 4.8 1.9 3 0.8 3.7 2.1-0.3 3.8-2.1 3.7 0.9 3.4 1.9 4.7 0.3 4.2 0.8 2.8 5.5 1 18.4 0.1 0.6 0.2-13.3 6.8-6.1 4.8-2.5 4.9-3.1 3.7-5.5 3.1-5.8 4.4-3.2 3.8-8.9 5.3-4.2 0.4-4.9-0.5-2.6 2.6-0.1 3.5 1 3.3 0.7 4.8-6-0.7-2.7-0.8-3.6 0.5-3.8 1.7-2.7 0-3.3-2.5-1.1-3.3 1.2-10.3-0.7-5.4-7.1-7.3-1.3-3.6-1.5-3.1-2.9-1.7-5.1-1.7-6.1 0.3-11 2.1-5.6 2.5-4.4 3.3-3.4 3.4-4.8 3.7-4.1 2.6-1.8 3.6-4.5 2-5.3-1.3-6.3-1-3.8-1.4z m64.1-26.3l4.9-2 3.2-0.4 2.2-1.6-1.9-4.9-1.7-2.9-3-1.6-4-1.5-5.7 0.5-6.7 1.2-2.7 2.9 0.6 4.1 4.4 1.7 5.1 3.3 5.3 1.2z" id="TWCYQ" name="Chiayi">
</path>
<path d="M504.7 743.9l-0.7-4.5-1.3-2.6-2.8-2.8 3.5-2.5 1.9-4.3-0.8-3.8-4.6-0.7-0.8 1.4-0.8 2.4-1.3 1.9-2.4-0.1-0.9-1.6 0.3-5-0.5-1.8-3-1.3-1.6 1.5-1.4 2.1-1.9 0.5-2.1-1.8-0.6-2.5 0.5-2.4 0.9-1.7 2.1-1.1 2.7-0.4 2.2-0.7 0.7-2.2-1-1.1-6.7-1.7 0-1.4 5.6 0-0.5-1.9-3.1-2.7-2-2.3 0.5-2.9 1.8-1 1.9-0.7 1-1.8-0.6-2.8-1-2.3 0.7-2.2 1-2.6 1.6-1.9-0.3-1.7 0.3-1.6 2.4-6.5 1.2-1.2 1.8-0.5-2.7-1.8 1.2-2.9 3.8 1.4 6.3 1 5.3 1.3 4.5-2 1.8-3.6 4.1-2.6 4.8-3.7 3.4-3.4 4.4-3.3 5.6-2.5 11-2.1 6.1-0.3 5.1 1.7 2.9 1.7 1.5 3.1 1.3 3.6 7.1 7.3 0.7 5.4-1.2 10.3 1.1 3.3 3.3 2.5 2.7 0 3.8-1.7 3.6-0.5 2.7 0.8 6 0.7-1.6 4.8-7.5 10.9-7.2 12.2-4.7 6-5.4 5.3-4.6 3.9-4.5 4.6-3.8 5.1-2.1 3.7-1.7 4-4.6 3.2-4.6 1.9-2.6 1.8-3 1.1-6.1-0.7-5.9 0.6-11.3-1.6-3.5-1.8-2.8-6.2-0.1-0.3-4.5 2.6z" id="TWTNN" name="Tainan City">
</path>
<path d="M551.1 836.2l-1.9-0.8-1.1 0-1.4 0.5-1.5 0.1-9.4-7.4-8.8-12.4 9.2 11.1-1-5.2-1.6-2.9-1.2-2.3-3.8-4.4-6.5-6-2.5-3.1-1.2-3.4 1.6-3.3 0.8-3-1.1-4.1-1.9-4.1-3.6-5.5-3.3-7.4-0.7-3.3 0-2.1 1.1-2.6 0.3-1.7-0.4-0.9-1-0.7-0.9-0.9-0.4-1.7-2.1-3.5-0.5-1.4-1.6-9.9 4.5-2.6 0.1 0.3 2.8 6.2 3.5 1.8 11.3 1.6 5.9-0.6 6.1 0.7 3-1.1 2.6-1.8 4.6-1.9 4.6-3.2 1.7-4 2.1-3.7 3.8-5.1 4.5-4.6 4.6-3.9 5.4-5.3 4.7-6 7.2-12.2 7.5-10.9 1.6-4.8-0.7-4.8-1-3.3 0.1-3.5 2.6-2.6 4.9 0.5 4.2-0.4 8.9-5.3 3.2-3.8 5.8-4.4 5.5-3.1 3.1-3.7 2.5-4.9 6.1-4.8 13.3-6.8 3.2 0.7 4.2 1.6 3 4.2 0.5 1.5 1.4 4.2-2.2 3.5-4 1.8-1 2.3 0.7 2.9 4 2.6 4.6 3.7 2 5.5 0.2 1.8-11.2 2.8-4.7 2.9-2.9 2.8-5.6 3.7-0.6 4.1 1.6 4.3-1.9 3.5-5.3 2.9-0.7 5 1.6 7.1-2.2 9.5 0 8.1-3.1 4.2-6.2 5.3-1.7 7 1 5.9 2.2 3.3 4.4 4.6 0.9 3.5-2.8 0.4-3.8-0.7-3.1 0.2-6.1 4.8-4.3-4-5.4-6.4-5.2 1.3-4.8 4.3-9.4-4.8-6.8 3.2-4.6 5.1-5.7 2.1-12.9-0.8-1.3 3.5-0.9 5.2-1.9 5.7 0.4 5-0.1 6.9-4 15.3-0.2 5.1 2 5.4 0.3 5.9-5.8 14.8z" id="TWKHH" name="Kaohsiung City">
</path>
<path d="M639 886.4l0.6 37.2-1.1 5.3-1.8 4.3-2.4 1.8-2.9 2.7 0.1 6 1 6.6-0.2 4.2-3.3-4.9-4.9-3.7-5.7-2.5-5.7-1.4-0.2 4.7-1.7 1.7-2.4-0.6-2.7-2.2-0.1-1.7 0.9-5-4-6.7-0.3-1.8 0-1.4 0.3-2.4 0-7.7 0.4-2.3 1.8-2.5 0.4-2.2-14.4-37.2-1.1-2.1-4-4.9-3.2-7.1-1.4-2.1-5.9-4.6-2.3-1.3-0.8-0.3-0.8-0.6-0.7-2.6-0.5-1-3.1-2.1-7.3-3.4-3.2-2.3-3.5-3-1.6-1-0.2-0.1 5.8-14.8-0.3-5.9-2-5.4 0.2-5.1 4-15.3 0.1-6.9-0.4-5 1.9-5.7 0.9-5.2 1.3-3.5 12.9 0.8 5.7-2.1 4.6-5.1 6.8-3.2 9.4 4.8 4.8-4.3 5.2-1.3 5.4 6.4 4.3 4 6.1-4.8 3.1-0.2 3.8 0.7 2.5 4.7 0.5 3.5 3.9 1 4 2.6-2 9.9-0.1 3.8-1.5 3.5-7 3-3.5 2-5.5 1.2-3.9 3.2-1.7 4.7-2.6 4.8-2.2 5.4-0.6 10.6 0.9 4.7 1.4 4.4 0.8 5.1 0 3.8 1.9 3.7 3.3 4-1.8 2.7-3.8 2.3-1.5 2.8-0.4 3.3 2 2.8 2.4 1.2 2.3 3.2-0.1 4.1 0.4 4.4 2.3 4.3 3.3 3.5 7.4 3.4 3.2-0.3z" id="TWPIF" name="Pingtung">
</path>
<path d="M753.4 640.2l-3.3 19-1.6 3.5-5.1 6.8-1.9 3.5-1.5 4.4-1 8.3 0.1 7.3-0.8 6.9-3.5 7.2-1.5 1.6-3.4 2.5-1.5 1.6-0.8 1.6-1.2 4.2-3.5 6.1-2.1 9.4-1.5 4.2-7.4 10.7-0.9 2-10 8.4-2.4 2.8-0.4 1.9 0.5 4.5-0.1 2-0.9 2.3-1.6 2.6-3.4 4.3-3.4 3.2-11.6 7.8-7.8 8.5-1.9 1-1.5 2-3.8 9.7-1.8 3.6-5.8 7.3-2.4 4.3-1.3 8.8-3.5 12.1-6.9 12.1-1 4.1-1.2 11.6 0.2 10.5-3.2 0.3-7.4-3.4-3.3-3.5-2.3-4.3-0.4-4.4 0.1-4.1-2.3-3.2-2.4-1.2-2-2.8 0.4-3.3 1.5-2.8 3.8-2.3 1.8-2.7-3.3-4-1.9-3.7 0-3.8-0.8-5.1-1.4-4.4-0.9-4.7 0.6-10.6 2.2-5.4 2.6-4.8 1.7-4.7 3.9-3.2 5.5-1.2 3.5-2 7-3 1.5-3.5 0.1-3.8 2-9.9-4-2.6-3.9-1-0.5-3.5-2.5-4.7 2.8-0.4-0.9-3.5-4.4-4.6-2.2-3.3-1-5.9 1.7-7 6.2-5.3 3.1-4.2 0-8.1 2.2-9.5-1.6-7.1 0.7-5 5.3-2.9 1.9-3.5-1.6-4.3 0.6-4.1 5.6-3.7 2.9-2.8 4.7-2.9 11.2-2.8 0.8 5.3 3.7 5.9 5.6 2 4.4 2.1 3.6 3.4 4.5 0.7 4.1 1.1 6.6 11.5 8.5 7 5.9 0.8 4.7-2.7 0.6-4.4 0-4.9 2.2-4.3 3.5-9.6 2.6-5.5 1.8-6.1 1.9-4.8 2.5-3.7 2.6-5-0.4-4.9-1.3-5 2.8-3.9 7.8-3.8 2.5 0.8z" id="TWTTT" name="Taitung">
</path>
<path d="M807.2 455.6l0.5 0.5 0.6 1.1 0.5 1.1 0.2 0.7-1 1.7-4.2 4.1-4.6 6.3-3.3 2.7-1 1.4 0.5 1.5-0.6 1.1-4.9 3.6-1.8 1.8-2 4.3-2 8.8-5.4 7.8-1.1 3.2 0.2 3.4 1.3 3.8 1.1 1.6 0.9 0.7 0.6 1 0.1 2.3-0.8 2.7-2.7 4.1-0.5 2.5-0.3 4.6-2.3 11.7-4.6 12.4-5.8 28.8-3.4 7.1-8 46.2-2.5-0.8-7.8 3.8-2.8 3.9 1.3 5 0.4 4.9-2.6 5-2.5 3.7-1.9 4.8-1.8 6.1-2.6 5.5-3.5 9.6-2.2 4.3 0 4.9-0.6 4.4-4.7 2.7-5.9-0.8-8.5-7-6.6-11.5-4.1-1.1-4.5-0.7-3.6-3.4-4.4-2.1-5.6-2-3.7-5.9-0.8-5.3-0.2-1.8-2-5.5-4.6-3.7-4-2.6-0.7-2.9 1-2.3 4-1.8 2.2-3.5-1.4-4.2 4.3-2.5 2.2-2.1-1.2-4.4 1.1-1.9 1.1-3 3.7-2.7 5.4-1.2 5.3-0.2 3.8-3.4 1-6.2 2.8-3.7 5.5-2 3.3-2.3 1.1-3.6 2.3-9.1 0.9-6-0.7-5.2-0.8-3.9-2.3-2.9-1.5-2.9 4.1-6.8 0.1-2.7 1.8-5.1 2.8-6.1 2.2-6.3 1.1-7.2 0.5-5.4-1.3-3.2-1.5-2.4 1.7-5.5 3.7-7.7 5.8-7.6 0.1-2.7-1-3.3-3.8-2.4-2-2.2-0.2-7.2 2.7-2.1 4.7-1.6 3.8-1.7-0.2-2.6-1-4.5 2-1.5 0.9-1.4 2.5-1.3 2.2-2.7 0.9-3.7 2.2-3.6 5.4-3.4 1.7-4.5 0.3-3 3.4-3.5 1.8 1.5 4.7 2.2 10.8 2.8 6 2.3 4.7 0 3.5-3.3 1.7-4.3 2.7-0.6 13.4 7.9 8 1.3 0.8 0z" id="TWHUA" name="Hualien">
</path>
<path d="M846.8 317.7l-8.6 4.3-4 3.4-13.5 16.4-2.1 3.5-1.7 4.8-1.1 5.6-0.4 5.5 0.2 5.3 2.4 11.2-0.2 2.9-1 2.8 0.2 5.8 2.4 4.5 4.7 2.9 5.5 1.1 0 1.2-2.3-0.2-2.2 0.2-1.9 0.6-1.3 1 1.9 3.6 0.9 4.7-0.6 4.1-4.3 2.4-0.3 1.8 0.6 2.1 1.2 2 0.4 2-1.8 1.7-4.5 2.6-5 5.8-0.2 2.3 0.3 5-0.8 2-1 1.6-0.6 2.3-0.3 4.6-0.4 1.2-0.7 0.9-0.4 1 0.7 1.2 0.2 0.2-0.8 0-8-1.3-13.4-7.9-2.7 0.6-1.7 4.3-3.5 3.3-4.7 0-6-2.3-10.8-2.8-4.7-2.2-1.8-1.5-4.2-3.4-3.6 0-3.4 1.7-2.8 0.4-2.7-1.8-3.2-1.9-3.5-0.8-1.1-2.6 0.5-4-2.6-0.8 3.1-7.5 10.1-10.2 2.7-4.2-0.4-3.2 1-3.4 1.7-4.7 0.3-1.1 2.9-1.1 2.3 0.5 2.5-1 1.6-2.7-2.3-9 3.9-2.8 2.2-0.6 4.2-1.2 3.5-1.3 2.7-2.4 3.6-2.5 4.8-2.3 2.8-2-0.3-1.4-0.7-2.3-0.1-3 1.4-3.6 3.4-2.9 2.7-1.6 9.4-3.8 9.7-5.9 4.5-1.3 3.6-2.6 2.3-3.7 2.3-2.9 2.7-1.4 2.5-0.9 3.3-2.1 1.2-2.8-1.8-2.5 1-2.2 8.1-1.6 2.6-1.8 6-3.2 4.3-0.9 2.4 1.4 0.6 0.8z" id="TWILA" name="Yilan">
</path>
<path d="M806.8 285.1l24.9 6.1 2.4 1.5-1.2 2.6-0.3 2.1 0.5 3.8 1.7 6.2 1.9 3 1.6 0.7 5-0.8 2.6 0.3 3 0.8 2.7 1.3 1.5 1.9-6.3 3.1-0.6-0.8-2.4-1.4-4.3 0.9-6 3.2-2.6 1.8-8.1 1.6-1 2.2 1.8 2.5-1.2 2.8-3.3 2.1-2.5 0.9-2.7 1.4-2.3 2.9-2.3 3.7-3.6 2.6-4.5 1.3-9.7 5.9-9.4 3.8-2.7 1.6-3.4 2.9-1.4 3.6 0.1 3 0.7 2.3 0.3 1.4-2.8 2-4.8 2.3-3.6 2.5-2.7 2.4-3.5 1.3-4.2 1.2-1.8-4-6.4-6-1-4.1-0.6-3.7 2.3-2.7 1-3.8-6-8.9-3.7-1.4-5.3 0.3-3.7-2.1 1-4.8-0.8-3.7-3.8-3.7-0.8-3.7 0.8-4.1-0.2-4.5 2.7-2.9 9.4-2.8 2.4-2.5 0.7-3-0.3-2.9-3.7-5.4-3.1-1.6-2.9-0.7-2.3-2.1-3.4-2.2-4.6-2.2-3-3.3 8.1-1.5 3.4-1.3 4.5-3.7 1.3-0.7 1.6-0.3 2.2 0 2.6 0.8 1.3 1.9 0.9 2 1.1 1.1 2.5-1-2.6-4.1-4.2-4.2-2.2-1.4 0.7-1.9 1.3-1.1 1.3-0.7 0.6-0.6 1.5-3.8 2.3-4.2 4.7-4.3 7-3.5 7.9-1.8 7.8 0.9 3.2 2.5 7.3 10.1 2.5 5.4 0.9-0.3 1.9-0.6 2.3-0.2 1.5 0.4-0.1 0.7-0.7 0.9-0.7 1.3 0 1.5 0.8 0.9 1.6 1.2-3.1 2.1-5.2 2.3-2.3 1.5 0.4 2.1 2.1 2.7 1.2 2.5 2.1 2.5 2.6 2.5 2.2 1.6 7.6 3.1 3.7 0.5 2.9-1.1 1.8-1.3 0.3-1.8-2.7-2.8-0.1-2.2 0.2-8.6z m-30 36l3-1.2 5.5-7 1.4-3-2.7-2.3-3.3-1.9-0.1-3.6 1.1-4.8-1.1-3.2-2.8-2.5-1.8-7.2-1.2-2.6-1.1-2.4-0.3-2.4 0.4-2.6-1.5-1.6-2.8-0.9-2.9 1.4-2.1 1.8-7.8 4.7-2.6 2.9-1.5 3.3-1.3 1.7-1.2 2.1 2.7 3.1 4.2 4 0.8 4.5-1.1 5.3 2.9 4.9 4.1 3.2 2.8 3.2 2.6 2.3 3.5 0.8 4.2 0z" id="TWTPQ" name="New Taipei City">
</path>
<path d="M793.1 279.5l1.1 0.7 0.5 0.8 1.2 1.1 2.8 1.1 8.1 1.9-0.2 8.6 0.1 2.2 2.7 2.8-0.3 1.8-1.8 1.3-2.9 1.1-3.7-0.5-7.6-3.1-2.2-1.6-2.6-2.5-2.1-2.5-1.2-2.5-2.1-2.7-0.4-2.1 2.3-1.5 5.2-2.3 3.1-2.1z" id="TWKEE" name="Keelung City">
</path>
<path d="M406.3 605.4l3.4 6.2 0.9 2.9-0.4 2.2-1.4-1.4-1.9-1.3-2-0.4-2.8 1.6-2.1 0.3-1 0.5-0.5 1.1-0.8 2.9-0.5 0.9-3.4 2-3.4 0.5-3.5-1.4-3.5-3.5 0.9-1.8 1.9 2.3 2.9 0.6 3.1-0.8 2.6-2.1-1.8-0.7-1.4-0.8-1.1-1.2-1-1.6-0.4 0.7 0 0.2-0.2 0.2-0.7 0.4-0.2-2.9 0.2-2.9 1.3 0 1.5 0.4 5.3-3.4 3.4-1.1-0.9 3.2-0.4 0.9 2.9-0.9 2.2 0.3 1.6-0.2 1.2-1.9z" id="TWPEN" name="Penghu">
</path>
<path d="M599.5 519.1l3 0.1 13 1.8 3-0.5 3.6-3.4 5.4-10.4 2.7-6.1 4.6-2.2 7.3 1.1 4.3-0.2 4.2-5.5 2.2-1.4 6.4 4.8 2.5-0.7 1.9-3.9 3.4-2.8 4.8 0.1 3.6-1.4 5.7-5.5 3.6-2.1 3.2-0.6 6.4-3.3 4.4-0.2 4.5-0.7 8-3.2 3.4-0.2 3.4 0.8 9.6 0.9 1 4.5 0.2 2.6-3.8 1.7-4.7 1.6-2.7 2.1 0.2 7.2 2 2.2 3.8 2.4 1 3.3-0.1 2.7-5.8 7.6-3.7 7.7-1.7 5.5 1.5 2.4 1.3 3.2-0.5 5.4-1.1 7.2-2.2 6.3-2.8 6.1-1.8 5.1-0.1 2.7-4.1 6.8 1.5 2.9 2.3 2.9 0.8 3.9 0.7 5.2-0.9 6-2.3 9.1-1.1 3.6-3.3 2.3-5.5 2-2.8 3.7-1 6.2-3.8 3.4-5.3 0.2-5.4 1.2-3.7 2.7-1.1 3-1.1 1.9 1.2 4.4-2.2 2.1-4.3 2.5-0.5-1.5-3-4.2-4.2-1.6-3.2-0.7-0.6-0.2-18.4-0.1-5.5-1-0.8-2.8-0.3-4.2-1.9-4.7-0.9-3.4 2.1-3.7 0.3-3.8-3.7-2.1-3-0.8-4.8-1.9-4.4-0.5-1.9-2.5-6 0.6-4.9 1.5-4.2-1.8-2.8-3.4 0.7-4.2 1.3-3.7-0.7-5.5 0.7-5.2 1.5-3.4-1.4-5.2 1.7-1.1 1.8-1.7 2.8-1.1 0.7-2.5-4.1-2.1-2.8-1-2.6-2.4-1.5-4.5 0.7-9.7 0.8-4.7 0.1-4.1 1.2-3.9 1.4-3.3-0.4-2.9 0.9-2.1 3.1-1.1 0-2.6z" id="TWNAN" name="Nantou">
</path>
<path d="M776.8 321.1l-4.2 0-3.5-0.8-2.6-2.3-2.8-3.2-4.1-3.2-2.9-4.9 1.1-5.3-0.8-4.5-4.2-4-2.7-3.1 1.2-2.1 1.3-1.7 1.5-3.3 2.6-2.9 7.8-4.7 2.1-1.8 2.9-1.4 2.8 0.9 1.5 1.6-0.4 2.6 0.3 2.4 1.1 2.4 1.2 2.6 1.8 7.2 2.8 2.5 1.1 3.2-1.1 4.8 0.1 3.6 3.3 1.9 2.7 2.3-1.4 3-5.5 7-3 1.2z" id="TWTPE" name="Taipei City">
</path>
<path d="M559.2 638.1l-5.3-1.2-5.1-3.3-4.4-1.7-0.6-4.1 2.7-2.9 6.7-1.2 5.7-0.5 4 1.5 3 1.6 1.7 2.9 1.9 4.9-2.2 1.6-3.2 0.4-4.9 2z" id="TWCYI" name="Chiayi City">
</path>
</g>
<g id="points">
<circle class="22.123479637643072|118.46584311825282" cx="182.2" cy="909.8" id="0">
</circle>
<circle class="23.874448427495835|120.32875816495206" cx="535.3" cy="549.3" id="1">
</circle>
<circle class="26.06315941481179|121.81909020231146" cx="817.8" cy="91.7" id="2">
</circle>
</g>
<g id="label_points">
<circle class="Kinmen" cx="153.8" cy="422.9" id="TWKIN">
</circle>
<circle class="Penghu" cx="396" cy="612.1" id="TWPEN">
</circle>
<circle class="Matsu Islands" cx="472.2" cy="56.8" id="TWLIE">
</circle>
<circle class="Taoyuan" cx="703.6" cy="320.4" id="TWTAO">
</circle>
<circle class="Hsinchu" cx="693.7" cy="378.3" id="TWHSQ">
</circle>
<circle class="Hsinchu City" cx="652.4" cy="360.1" id="TWHSZ">
</circle>
<circle class="Miaoli" cx="640.8" cy="418.8" id="TWMIA">
</circle>
<circle class="Taichung City" cx="604.9" cy="482.7" id="TWTXG">
</circle>
<circle class="Changhua" cx="565" cy="532.6" id="TWCHA">
</circle>
<circle class="Yunlin" cx="536" cy="583.2" id="TWYUN">
</circle>
<circle class="Chiayi" cx="598.2" cy="640.2" id="TWCYQ">
</circle>
<circle class="Tainan City" cx="536.2" cy="699.7" id="TWTNN">
</circle>
<circle class="Kaohsiung City" cx="605.1" cy="724.8" id="TWKHH">
</circle>
<circle class="Pingtung" cx="585.8" cy="821.8" id="TWPIF">
</circle>
<circle class="Taitung" cx="675.1" cy="732.1" id="TWTTT">
</circle>
<circle class="Hualien" cx="739" cy="565" id="TWHUA">
</circle>
<circle class="Yilan" cx="783.8" cy="406.8" id="TWILA">
</circle>
<circle class="New Taipei City" cx="763.3" cy="342.8" id="TWTPQ">
</circle>
<circle class="Keelung City" cx="796.7" cy="291.6" id="TWKEE">
</circle>
<circle class="Penghu" cx="396" cy="612.1" id="TWPEN">
</circle>
<circle class="Nantou" cx="658.6" cy="552" id="TWNAN">
</circle>
<circle class="Taipei City" cx="768.5" cy="297.9" id="TWTPE">
</circle>
<circle class="Chiayi City" cx="556.7" cy="630.5" id="TWCYI">
</circle>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -4,7 +4,7 @@
height="593"
version="1.1"
id="svg2"
sodipodi:docname="SenateMap2024.svg"
sodipodi:docname="Senate2024.svg"
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@ -22,12 +22,12 @@
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#505050"
inkscape:zoom="1.4142136"
inkscape:cx="461.74073"
inkscape:cy="331.63308"
inkscape:window-width="1920"
inkscape:window-height="1018"
inkscape:window-x="-8"
inkscape:zoom="1.569697"
inkscape:cx="625.91697"
inkscape:cy="365.67566"
inkscape:window-width="1858"
inkscape:window-height="1058"
inkscape:window-x="54"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
@ -40,7 +40,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>2024 US presidential election results</dc:title>
<dc:title>2020 US presidential election results</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
@ -222,18 +222,9 @@
font-family="Helvetica Neue"
font-weight="bold">
<g
font-size="28"
id="g1">
<text
id="AKn"
x="121.59544"
y="493.18863"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan41"
x="121.59544"
y="493.18863"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
font-size="28px"
id="g1"
transform="translate(0.90094684,3.6037874)">
<text
id="HIn"
x="281.26047"
@ -249,136 +240,71 @@
x="117.53755"
y="49.386745"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan38"
x="117.53755"
y="49.386745"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WA</tspan><tspan
sodipodi:role="line"
id="tspan39"
x="117.53755"
y="66.053368"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
<text
id="ORn"
x="95.010078"
y="122.48579"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan37"
x="95.010078"
y="122.48579"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
y="49.386745"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WA</tspan></text>
<text
id="CAn"
x="69.726158"
y="279.08011"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan34"
x="69.726158"
y="279.08011"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">CA</tspan><tspan
sodipodi:role="line"
id="tspan35"
x="69.726158"
y="295.74673"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
y="279.08011"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">CA</tspan></text>
<text
id="NVn"
x="133.35632"
y="232.08958"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan32"
x="133.35632"
y="232.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">NV</tspan><tspan
sodipodi:role="line"
id="tspan33"
x="133.35632"
y="248.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
y="232.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">NV</tspan></text>
<text
id="AZn"
x="188.30663"
y="358.99054"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan27"
x="188.30663"
y="358.99054"
style="font-size:13.3333px;fill:#ffffff">AZ</tspan><tspan
sodipodi:role="line"
id="tspan28"
x="188.30663"
y="375.65717"
style="font-size:13.3333px;fill:#ffffff" /></text>
y="358.99054"
style="font-size:13.3333px;fill:#ffffff">AZ</tspan></text>
<text
id="UTn"
x="219.70537"
y="251.48579"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan25"
x="219.70537"
y="251.48579"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">UT</tspan><tspan
sodipodi:role="line"
id="tspan26"
x="219.70537"
y="268.1524"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
<text
id="IDn"
x="194.15645"
y="151.80695"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
x="194.15645"
y="151.80695"
id="tspan22"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
y="251.48579"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">UT</tspan></text>
<text
id="MTn"
x="279.21573"
y="85.347488"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan15"
x="279.21573"
y="85.347488"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MT</tspan><tspan
sodipodi:role="line"
id="tspan16"
x="279.21573"
y="102.01411"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
y="85.347488"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MT</tspan></text>
<text
id="WYn"
x="298.39981"
y="182.08109"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan18"
x="298.39981"
y="182.08109"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WY</tspan><tspan
sodipodi:role="line"
x="298.39981"
y="198.74771"
id="tspan19"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
<text
id="COn"
x="319.78827"
y="270.08292"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan24"
x="319.78827"
y="270.08292"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WY</tspan></text>
<text
id="NMn"
x="302.97266"
@ -399,24 +325,6 @@
x="415.85614"
y="451.69336"
style="font-size:13.3333px;fill:#ffffff;fill-opacity:1">TX</tspan></text>
<text
id="OKn"
x="461.73621"
y="358.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"><tspan
sodipodi:role="line"
id="tspan6"
x="461.73621"
y="358.28769" /></text>
<text
id="KSn"
x="441.22095"
y="289.62161"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"><tspan
sodipodi:role="line"
id="tspan8"
x="441.22095"
y="289.62161" /></text>
<text
id="NEn"
x="414.12476"
@ -427,16 +335,6 @@
x="414.12476"
y="221.48842"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NE</tspan></text>
<text
id="SDn"
x="415.85419"
y="157.25868"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan12"
x="415.85419"
y="157.25868"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
<text
id="NDn"
x="417.25748"
@ -467,26 +365,6 @@
x="579.54468"
y="159.84668"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WI</tspan></text>
<text
id="ILn"
x="596.69891"
y="249.73816"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan74"
x="596.69891"
y="249.73816"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
<text
id="IAn"
x="521.78705"
y="212.28769"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan44"
x="521.78705"
y="212.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
<text
id="MOn"
x="540.95941"
@ -497,26 +375,6 @@
x="540.95941"
y="292.93628"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MO</tspan></text>
<text
id="ARn"
x="547.24762"
y="374.0896"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan52"
x="547.24762"
y="374.0896"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
<text
id="LAn"
x="545.79749"
y="450.64859"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan54"
x="545.79749"
y="450.64859"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
<text
id="MSn"
x="597.98846"
@ -527,60 +385,16 @@
x="597.98846"
y="417.18863"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">MS</tspan></text>
<text
id="ALn"
x="650.66272"
y="409.38675"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan58"
x="650.66272"
y="409.38675"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
<text
id="GAn"
x="714.30121"
y="407.73816"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan50"
x="714.30121"
y="407.73816"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
<text
id="FLn"
x="763.43597"
y="504.54953"
x="763.88647"
y="510.85617"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan55"
x="763.43597"
y="504.54953"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#f8f8f8;fill-opacity:1">FL</tspan><tspan
sodipodi:role="line"
id="tspan56"
x="763.43597"
y="521.21613"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#f8f8f8;fill-opacity:1" /></text>
<text
id="SCn"
x="759.23254"
y="347.11545"><tspan
sodipodi:role="line"
x="759.23254"
y="347.11545"
id="tspan61"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
<text
id="NCn"
x="781.7052"
y="328.48581"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan68"
x="781.7052"
y="328.48581"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
x="763.88647"
y="510.85617"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#f8f8f8;fill-opacity:1">FL</tspan></text>
<text
id="TNn"
x="655.9707"
@ -591,16 +405,6 @@
x="655.9707"
y="340.83722"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">TN</tspan></text>
<text
id="KYn"
x="675.10925"
y="299.28769"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan70"
x="675.10925"
y="299.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
<text
id="INn"
x="644.74738"
@ -626,16 +430,11 @@
x="700.31543"
y="235.38675"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan81"
x="700.31543"
y="235.38675"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">OH</tspan><tspan
sodipodi:role="line"
id="tspan82"
x="700.31543"
y="252.05338"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1" /></text>
y="235.38675"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">OH</tspan></text>
<text
id="WVn"
x="738.71716"
@ -661,16 +460,11 @@
x="779.22137"
y="210.08958"
style="font-size:13.3333px"><tspan
sodipodi:role="line"
id="tspan87"
x="779.22137"
y="210.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">PA</tspan><tspan
sodipodi:role="line"
id="tspan88"
x="779.22137"
y="226.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff" /></text>
y="210.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">PA</tspan></text>
<text
id="NYn"
x="811.52887"
@ -683,50 +477,28 @@
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NY</tspan></text>
<text
id="MEn"
x="901.54358"
y="94.712509"
x="893.28827"
y="89.306831"
style="font-size:16px"><tspan
style="fill:#ffffff"
id="tspan101" /></text>
<text
id="MEn-9"
x="882.96747"
y="89.878593"
style="font-size:14.7521px;stroke-width:0.52686"><tspan
sodipodi:role="line"
id="tspan5"
x="882.96747"
y="89.878593"
style="fill:#ffffff;stroke-width:0.52686">ME</tspan></text>
<text
id="MEn-9-7"
x="877.93567"
y="111.5111"
style="font-size:14.7521px;stroke-width:0.52686"><tspan
sodipodi:role="line"
id="tspan4-0"
x="877.93567"
y="111.5111"
style="fill:#ffffff;stroke-width:0.52686" /><tspan
sodipodi:role="line"
id="tspan5-9"
x="877.93567"
y="129.95123"
style="fill:#ffffff;stroke-width:0.52686" /></text>
id="tspan4"
x="893.28827"
y="89.306831"
style="text-align:center;text-anchor:middle;fill:#ffffff">ME</tspan></text>
<text
id="MEn-9-0"
x="459.24854"
y="239.60818"
x="461.50092"
y="235.77916"
style="font-size:14.7521px;stroke-width:0.52686"><tspan
sodipodi:role="line"
id="tspan4-6"
x="459.24854"
y="239.60818"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.52686">II</tspan><tspan
x="461.50092"
y="235.77916"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.52686">S</tspan><tspan
sodipodi:role="line"
id="tspan5-2"
x="459.24854"
y="258.04831"
x="461.50092"
y="254.21928"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.52686" /></text>
<text
id="DemL"
@ -740,17 +512,10 @@
<g
font-size="22"
id="g2">
<text
id="NHn"
x="817.56848"
y="56.648579"
style="font-size:16px"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan92" /></text>
<text
id="VTn"
x="818.22137"
y="81.230995"
x="818.83032"
y="82"
style="font-size:16px"><tspan
style="fill:#ffffff"
id="tspan93">VT</tspan></text>
@ -802,7 +567,7 @@
y="327"
style="font-size:16px"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan100" /></text>
id="tspan100">DC 3</tspan></text>
</g>
</g>
<!--
@ -811,11 +576,11 @@
-->
<path
id="lines"
d="m 854.7108,74.76564 -0.002,-5.99e-4 M 832,86 l 8,17 m 49,50 34,3 m -41,22 41,12 m -57,-6 51,33 m -72,13 50,22 m -58,-2 51,26 m -55,-15 46,33 m -79,-43 0.002,7e-5"
d="m 832,86 8,17 m 49,50 34,3 m -41,22 41,12 m -57,-6 51,33 m -72,13 50,22 m -58,-2 51,26 m -55,-15 46,33"
stroke="#000"
stroke-width="1.6"
style="stroke:#fdfdfd;stroke-opacity:1"
sodipodi:nodetypes="cccccccccccccccccc" />
sodipodi:nodetypes="cccccccccccccc" />
<path
id="frames"
d="M215,493v55l36,45 M0,425h147l68,68h85l54,54v46"

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 39 KiB

3
config.example.json Normal file
View file

@ -0,0 +1,3 @@
{
"token": "INSERT_TOKEN_HERE"
}

View file

@ -0,0 +1,185 @@
{
"Venezuelan Presidential election :flag_ve:": {
"date": "July 28"
},
"Arizona Primary elections :flag_us:": {
"date": "July 30"
},
"GA Republican Party First Vice Chairman :flag_us:": {
"date": "August 1"
},
"Missouri Primary elections :flag_us:": {
"date": "August 6"
},
"Hawaii Primary elections :flag_us:": {
"date": "August 10"
},
"Democratic National Convention <:a:1261373557976469626> :flag_us:": {
"date": "August 19"
},
"Sint Maarten general elections :flag_mf:": {
"date": "August 19"
},
"Florida Primary elections :flag_us:": {
"date": "August 20"
},
"Northern Territory general election :flag_au:": {
"date": "August 24"
},
"Azerbaijani presidential election :flag_az:": {
"date": "September 1"
},
"Saxony state election :flag_de:": {
"date": "September 1"
},
"Thuringian state election :flag_de:": {
"date": "September 1"
},
"Algerian presidential election :flag_dz:": {
"date": "September 7"
},
"Russian State Duma elections :flag_ru:": {
"date": "September 8"
},
"Russian Gubernatorial elections :flag_ru:": {
"date": "September 8"
},
"Russian Legislative elections :flag_ru:": {
"date": "September 8"
},
"Russian Legislative by-elections :flag_ru:": {
"date": "September 8"
},
"Russian Mayoral elections :flag_ru:": {
"date": "September 8"
},
"Russian Municipal Council elections :flag_ru:": {
"date": "September 8"
},
"New Hampshire District 02 Primary :flag_us:": {
"date": "September 10"
},
"Jordanian general election :flag_jo:": {
"date": "September 10"
},
"Quebec Parliament - LaSalle—Émard—Verdun By-election :flag_ca:": {
"date": "September 16"
},
"New Jersey District 10 - Special Election :flag_us:": {
"date": "September 18"
},
"Czech regional elections :flag_cz:": {
"date": "September 20"
},
"Czech Senate elections :flag_cz:": {
"date": "September 20"
},
"Brandenburg state election :flag_de:": {
"date": "September 22"
},
"Austrian legislative election :flag_at:": {
"date": "September 29"
},
"Brazilian municipal elections :flag_br:": {
"date": "October 6"
},
"Brazilian municipal elections :flag_br:": {
"date": "October 6"
},
"Bosnian municipal elections :flag_ba:": {
"date": "October 6"
},
"Rio de Janeiro mayoral election :flag_br:": {
"date": "October 6"
},
"Tunisian presidential election :flag_tn:": {
"date": "October 6"
},
"Mozambican general election :flag_mz:": {
"date": "October 9"
},
"Belgian local elections :flag_be:": {
"date": "October 13"
},
"Lithuanian parliamentary election :flag_lt:": {
"date": "October 13"
},
"Vorarlberg state election :flag_at:": {
"date": "October 13"
},
"Australian Capital Territory general election :flag_au:": {
"date": "October 19"
},
"Moldovan presidential election :flag_md:": {
"date": "October 20"
},
"Moldovan European Union membership referendum :flag_md:": {
"date": "October 20"
},
"Georgian parliamentary election :flag_ge:": {
"date": "October 26"
},
"Queensland general election :flag_au:": {
"date": "October 26"
},
"Chilean municipal elections :flag_cl:": {
"date": "October 27"
},
"Chilean regional elections :flag_cl:": {
"date": "October 27"
},
"Uruguay general election :flag_uy:": {
"date": "October 27"
},
"United States presidential election :flag_us:": {
"date": "November 5"
},
"United States gubernatorial elections :flag_us:": {
"date": "November 5"
},
"United States House of Representatives elections :flag_us:": {
"date": "November 5"
},
"United States Senate elections :flag_us:": {
"date": "November 5"
},
"United States state legislative elections :flag_us:": {
"date": "November 5"
},
"Palau general election :flag_pw:": {
"date": "November 12"
},
"Somaliland presidential election <:a:1261546974608621628>": {
"date": "November 13"
},
"Umbrian region election :flag_it:": {
"date": "November 18"
},
"Romanian presidential election :flag_ro:": {
"date": "November 24"
},
"Styrian state election :flag_at:": {
"date": "November 24"
},
"Indonesian local elections :flag_id:": {
"date": "November 27"
},
"Namibian general election :flag_na:": {
"date": "November 27"
},
"Mauritian general election :flag_mr:": {
"date": "November 30"
},
"Romanian parliamentary election :flag_ro:": {
"date": "December 1"
},
"Ghanaian general election :flag_gh:": {
"date": "December 7"
},
"United States Electoral Vote :flag_us:": {
"date": "December 16"
},
"South Sudanese general election :flag_ss:": {
"date": "December 22"
}
}

View file

@ -1,6 +1,7 @@
enum VoteType {
Electoral,
Popular,
Senate,
}
export default VoteType;

54
src/candidateEmojis.ts Normal file
View file

@ -0,0 +1,54 @@
let CandidateEmojis: { [key: string]: string } = {
// Discord Emojis
// Democrats
"Biden": "<:a:1261373557976469626>",
"Harris": "<:a:1261373557976469626>",
"Newsom": "<:a:1261373557976469626>",
"Whitmer": "<:a:1261373557976469626>",
// Republicans
"Trump": "<:a:1261373559159132251>",
// Independents
"Kennedy": ":regional_indicator_i:",
"West": ":regional_indicator_i:",
// Greens
"Stein": "<:a:1261394099731169372>",
// Libertarians
"Oliver": "<:a:1261397002952904825>",
// Disapprove/Approve
"Disapprove": ":x:",
"Approve": ":white_check_mark:",
// Parties - Afghanistan
"Taliban": "<:Taliban:1263010744925032538>",
// Parties - US
"Democratic": "<:a:1261373557976469626>",
"Democratic-Farmer-Labor": "<:a:1261373557976469626>", // minnesota's name for dems
"Republican": "<:a:1261373559159132251>",
"Green": "<:a:1261394099731169372>",
"Libertarian": "<:a:1261397002952904825>",
// Parties - UK
"Labour UK": "<:Labour:1262149539796615209>",
"Conservative UK": "<:Conservative:1262158432941903922>",
"Liberal Democrats": ":yellow_circle:",
"Democratic Unionists": ":red_circle:",
"Plaid Cymru": "<:PlaidCymru:1262160165709418599>",
"Ulster Unionist": ":blue_circle:",
"Bishop": ":white_circle:",
"Nonaffilated": ":regional_indicator_n:",
"Crossbenchers": ":regional_indicator_c:",
"Greens UK": "<:a:1262159187320766474>",
"Speaker": ":green_circle:",
// Generic parties
"Conservative": ":blue_circle:",
"Independent": ":regional_indicator_i:",
};
export default CandidateEmojis;

View file

@ -26,6 +26,126 @@ const commands = [
}
],
},
{
name: 'help',
description: "Get help with the bot",
options: [
{
name: 'command',
description: 'The command to get help with',
type: ApplicationCommandOptionType.String,
required: false
},
],
},
{
name: 'test',
description: "election api test",
options: [
{
name: 'country',
description: 'The country to view',
type: ApplicationCommandOptionType.String,
required: true
},
{
name: 'type',
description: 'The type of election',
type: ApplicationCommandOptionType.String,
required: true
},
{
name: 'year',
description: 'The year to view',
type: ApplicationCommandOptionType.String,
required: true
},
{
name: 'state',
description: 'The state to view',
type: ApplicationCommandOptionType.String,
required: false
}
],
},
{
name: 'predictions',
description: "election api test",
options: [
{
name: 'source',
description: 'The source to use for the predictions',
type: ApplicationCommandOptionType.String,
required: true,
choices: [
{
name: '338Canada',
value: '338canada',
},
{
name: 'JHK Forecasts',
value: 'jhk',
},
{
name: 'Polymarket Odds',
value: 'polymarket',
},
{
name: 'RealClearPolling',
value: 'realclearpolling',
},
{
name: 'USElectionAtlas Polling Aggregate',
value: 'usatlas',
},
{
name: 'Based on current governor map',
value: 'governor_map',
},
{
name: 'CNalysis (OUTDATED)',
value: 'cnalysis',
},
{
name: 'CNN (OUTDATED)',
value: 'cnn',
},
{
name: 'Cook Political Report (OUTDATED)',
value: 'cook',
},
{
name: 'DDHQ/The Hill (OUTDATED)',
value: 'ddhq',
},
{
name: 'FiveThirtyEight (OUTDATED)',
value: 'fivethirtyeight',
},
{
name: 'Fox News (OUTDATED)',
value: 'foxnews',
},
{
name: 'Inside Elections (OUTDATED)',
value: 'inside',
},
{
name: 'Saboto\'s Crystal Ball (OUTDATED)',
value: 'saboto',
},
{
name: 'Split Ticket (OUTDATED)',
value: 'splitticket',
},
{
name: 'The Economist (OUTDATED)',
value: 'economist',
}
]
}
],
},
{
name: 'simulate',
description: "Simulate an election",
@ -60,6 +180,16 @@ const commands = [
description: 'The odds of the candidate to win in any state',
type: ApplicationCommandOptionType.Number
},
{
name: 'image_overlay',
description: 'Overlay an image',
type: ApplicationCommandOptionType.Attachment
},
{
name: 'image_opacity',
description: 'Image overlay opacity',
type: ApplicationCommandOptionType.Number
},
...Elections[e].candidates.flatMap(c => [
{
name: c.party.toLowerCase().replace(/ /g, "_") + "_candidate",
@ -77,6 +207,17 @@ const commands = [
})
},
],
},
{
name: 'upcoming',
description: "View upcoming things",
options: [
{
name: 'elections',
description: 'View upcoming elections',
type: ApplicationCommandOptionType.Subcommand
}
],
}
];

View file

@ -9,7 +9,8 @@ export default interface Election {
candidates : {
name : string,
party : string,
color : string
color : string,
startingSeats? : number
}[],
states : {
[key : string] : {

View file

@ -17,60 +17,70 @@ const Presidential_1789 = {
],
states: {
"CT": {
population: 0,
electoralVotes: 7,
odds: {
"Independent": 1,
}
},
"DE": {
population: 522,
electoralVotes: 3,
odds: {
"Independent": 1,
}
},
"GA": {
population: 0,
electoralVotes: 5,
odds: {
"Independent": 1,
}
},
"MD": {
population: 15829,
electoralVotes: 6,
odds: {
"Independent": 1,
}
},
"MA": {
population: 3880,
electoralVotes: 10,
odds: {
"Independent": 1,
}
},
"NH": {
population: 1764,
electoralVotes: 5,
odds: {
"Independent": 1,
}
},
"NJ": {
population: 0,
electoralVotes: 6,
odds: {
"Independent": 1,
}
},
"PA": {
population: 7383,
electoralVotes: 10,
odds: {
"Independent": 1,
}
},
"SC": {
population: 0,
electoralVotes: 7,
odds: {
"Independent": 1,
}
},
"VA": {
population: 668,
electoralVotes: 10,
odds: {
"Independent": 1,

View file

@ -27,6 +27,7 @@ const Presidential_1848 = {
],
states: {
"AL": {
population: 61655,
electoralVotes: 9,
odds: {
"Whig": 0.45,
@ -35,6 +36,7 @@ const Presidential_1848 = {
}
},
"AR": {
population: 16888,
electoralVotes: 3,
odds: {
"Whig": 0.05,
@ -43,6 +45,7 @@ const Presidential_1848 = {
}
},
"CT": {
population: 62398,
electoralVotes: 6,
odds: {
"Whig": 0.9,
@ -51,6 +54,7 @@ const Presidential_1848 = {
}
},
"DE": {
population: 12423,
electoralVotes: 3,
odds: {
"Whig": 0.7,
@ -59,6 +63,7 @@ const Presidential_1848 = {
}
},
"FL": {
population: 7203,
electoralVotes: 3,
odds: {
"Whig": 0.9,
@ -67,6 +72,7 @@ const Presidential_1848 = {
}
},
"GA": {
population: 92317,
electoralVotes: 10,
odds: {
"Whig": 0.8,
@ -75,6 +81,7 @@ const Presidential_1848 = {
}
},
"IL": {
population: 124596,
electoralVotes: 9,
odds: {
"Whig": 0.4,
@ -83,6 +90,7 @@ const Presidential_1848 = {
}
},
"IN": {
population: 152752,
electoralVotes: 12,
odds: {
"Whig": 0.3,
@ -91,6 +99,7 @@ const Presidential_1848 = {
}
},
"IA": {
population: 22271,
electoralVotes: 4,
odds: {
"Whig": 0.25,
@ -99,6 +108,7 @@ const Presidential_1848 = {
}
},
"KY": {
population: 116865,
electoralVotes: 12,
odds: {
"Whig": 0.9,
@ -107,6 +117,7 @@ const Presidential_1848 = {
}
},
"LA": {
population: 33866,
electoralVotes: 6,
odds: {
"Whig": 0.9,
@ -115,6 +126,7 @@ const Presidential_1848 = {
}
},
"ME": {
population: 87625,
electoralVotes: 9,
odds: {
"Whig": 0.3,
@ -123,6 +135,7 @@ const Presidential_1848 = {
}
},
"MD": {
population: 72359,
electoralVotes: 8,
odds: {
"Whig": 0.6,
@ -131,6 +144,7 @@ const Presidential_1848 = {
}
},
"MA": {
population: 134748,
electoralVotes: 12,
odds: {
"Whig": 0.92,
@ -139,6 +153,7 @@ const Presidential_1848 = {
}
},
"MI": {
population: 65082,
electoralVotes: 5,
odds: {
"Whig": 0.2,
@ -147,6 +162,7 @@ const Presidential_1848 = {
}
},
"MS": {
population: 52456,
electoralVotes: 6,
odds: {
"Whig": 0.48,
@ -155,6 +171,7 @@ const Presidential_1848 = {
}
},
"MO": {
population: 72748,
electoralVotes: 7,
odds: {
"Whig": 0.1,
@ -163,6 +180,7 @@ const Presidential_1848 = {
}
},
"NH": {
population: 50104,
electoralVotes: 6,
odds: {
"Whig": 0.05,
@ -171,6 +189,7 @@ const Presidential_1848 = {
}
},
"NJ": {
population: 77735,
electoralVotes: 7,
odds: {
"Whig": 0.8,
@ -179,6 +198,7 @@ const Presidential_1848 = {
}
},
"NY": {
population: 455944,
electoralVotes: 36,
odds: {
"Whig": 0.8,
@ -187,6 +207,7 @@ const Presidential_1848 = {
}
},
"NC": {
population: 79826,
electoralVotes: 11,
odds: {
"Whig": 0.9,
@ -195,6 +216,7 @@ const Presidential_1848 = {
}
},
"OH": {
population: 328479,
electoralVotes: 23,
odds: {
"Whig": 0.3,
@ -203,6 +225,7 @@ const Presidential_1848 = {
}
},
"PA": {
population: 368552,
electoralVotes: 26,
odds: {
"Whig": 0.7,
@ -211,6 +234,7 @@ const Presidential_1848 = {
}
},
"RI": {
population: 11155,
electoralVotes: 4,
odds: {
"Whig": 0.98,
@ -219,6 +243,7 @@ const Presidential_1848 = {
}
},
"SC": {
population: 0,
electoralVotes: 9,
odds: {
"Whig": 0,
@ -227,6 +252,7 @@ const Presidential_1848 = {
}
},
"TN": {
population: 122463,
electoralVotes: 13,
odds: {
"Whig": 0.7,
@ -235,6 +261,7 @@ const Presidential_1848 = {
}
},
"TX": {
population: 15177,
electoralVotes: 4,
odds: {
"Whig": 0.02,
@ -243,6 +270,7 @@ const Presidential_1848 = {
}
},
"VT": {
population: 47922,
electoralVotes: 3,
odds: {
"Whig": 0.9,
@ -251,6 +279,7 @@ const Presidential_1848 = {
}
},
"VA": {
population: 92004,
electoralVotes: 17,
odds: {
"Whig": 0.45,
@ -259,6 +288,7 @@ const Presidential_1848 = {
}
},
"WI": {
population: 39166,
electoralVotes: 4,
odds: {
"Whig": 0.4,

377
src/elections/1860.ts Normal file
View file

@ -0,0 +1,377 @@
import { readFile } from "node:fs/promises";
import Election from "../election.js";
import VoteType from "../VoteType.js";
const Presidential_1860 = {
title: "1860 United States Presidential Election Simulator",
shortname: "1860",
description: "The CalubViem Press has rewritten history and called the 1860 United States Presidential Election for $WINNER!",
voteType: VoteType.Electoral,
svg: await readFile("assets/ElectoralCollege1860.svg", "utf-8"),
candidates: [
{
name: "Abraham Lincoln",
party: "Republican",
color: "#BF1D29",
},
{
name: "Stephen A. Douglas",
party: "Democratic",
color: "#1C408C",
},
{
name: "John C. Breckinridge",
party: "Southern Democratic",
color: "#4F990C",
},
{
name: "John Bell",
party: "Constitutional Union",
color: "#F59100",
},
],
states: {
"AL": {
population: 90122,
electoralVotes: 9,
odds: {
"Republican": 0,
"Democratic": 0.02,
"Southern Democratic": 0.94,
"Constitutional Union": 0.04,
}
},
"AR": {
population: 54152,
electoralVotes: 4,
odds: {
"Republican": 0,
"Democratic": 0.01,
"Southern Democratic": 0.94,
"Constitutional Union": 0.06,
}
},
"CA": {
population: 119827,
electoralVotes: 4,
odds: {
"Republican": 0.39,
"Democratic": 0.3,
"Southern Democratic": 0.3,
"Constitutional Union": 0.01,
}
},
"CT": {
population: 80745,
electoralVotes: 6,
odds: {
"Republican": 0.8,
"Democratic": 0.1,
"Southern Democratic": 0.1,
"Constitutional Union": 0,
}
},
"DE": {
population: 16115,
electoralVotes: 3,
odds: {
"Republican": 0.09,
"Democratic": 0.01,
"Southern Democratic": 0.7,
"Constitutional Union": 0.2,
}
},
"FL": {
population: 13301,
electoralVotes: 3,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.95,
"Constitutional Union": 0.05,
}
},
"GA": {
population: 106717,
electoralVotes: 10,
odds: {
"Republican": 0,
"Democratic": 0.01,
"Southern Democratic": 0.6,
"Constitutional Union": 0.39,
}
},
"IA": {
population: 128739,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"IL": {
population: 339666,
electoralVotes: 11,
odds: {
"Republican": 0.75,
"Democratic": 0.25,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"IN": {
population: 272143,
electoralVotes: 13,
odds: {
"Republican": 0.75,
"Democratic": 0.25,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"KY": {
population: 146216,
electoralVotes: 12,
odds: {
"Republican": 0,
"Democratic": 0.01,
"Southern Democratic": 0.19,
"Constitutional Union": 0.8,
}
},
"LA": {
population: 50510,
electoralVotes: 6,
odds: {
"Republican": 0,
"Democratic": 0.02,
"Southern Democratic": 0.55,
"Constitutional Union": 0.43,
}
},
"MA": {
population: 169876,
electoralVotes: 13,
odds: {
"Republican": 0.99,
"Democratic": 0.01,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"MD": {
population: 92502,
electoralVotes: 8,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.50,
"Constitutional Union": 0.50,
}
},
"ME": {
population: 100918,
electoralVotes: 8,
odds: {
"Republican": 0.97,
"Democratic": 0.02,
"Southern Democratic": 0,
"Constitutional Union": 0.01,
}
},
"MI": {
population: 154549,
electoralVotes: 6,
odds: {
"Republican": 0.97,
"Democratic": 0.03,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"MN": {
population: 34787,
electoralVotes: 4,
odds: {
"Republican": 0.99,
"Democratic": 0.01,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"MO": {
population: 165563,
electoralVotes: 9,
odds: {
"Republican": 0.02,
"Democratic": 0.47,
"Southern Democratic": 0.02,
"Constitutional Union": 0.49,
}
},
"MS": {
population: 69095,
electoralVotes: 7,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.98,
"Constitutional Union": 0.02,
}
},
"NH": {
population: 65943,
electoralVotes: 5,
odds: {
"Republican": 0.98,
"Democratic": 0.02,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"NJ": {
population: 121215,
electoralVotes: 4,
odds: {
"Republican": 0.60,
"Democratic": 0.40,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"NJ-01": {
population: 0,
electoralVotes: 3,
odds: {
"Republican": 0,
"Democratic": 1,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"NY": {
population: 675156,
electoralVotes: 35,
odds: {
"Republican": 0.80,
"Democratic": 0.20,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"NC": {
population: 96712,
electoralVotes: 10,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.65,
"Constitutional Union": 0.35,
}
},
"OH": {
population: 432862,
electoralVotes: 23,
odds: {
"Republican": 0.75,
"Democratic": 0.25,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"OR": {
population: 14761,
electoralVotes: 3,
odds: {
"Republican": 0.55,
"Democratic": 0.15,
"Southern Democratic": 0.3,
"Constitutional Union": 0,
}
},
"PA": {
population: 476442,
electoralVotes: 27,
odds: {
"Republican": 0.95,
"Democratic": 0.05,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"RI": {
population: 19951,
electoralVotes: 4,
odds: {
"Republican": 0.98,
"Democratic": 0.02,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"SC": {
population: 0,
electoralVotes: 8,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 1,
"Constitutional Union": 0,
}
},
"TN": {
population: 146106,
electoralVotes: 12,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.3,
"Constitutional Union": 0.7,
}
},
"TX": {
population: 63004,
electoralVotes: 4,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.99,
"Constitutional Union": 0.01,
}
},
"VA": {
population: 166891,
electoralVotes: 15,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.5,
"Constitutional Union": 0.5,
}
},
"VT": {
population: 44566,
electoralVotes: 5,
odds: {
"Republican": 0.99,
"Democratic": 0.01,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"WI": {
population: 152179,
electoralVotes: 5,
odds: {
"Republican": 0.97,
"Democratic": 0.03,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
}
}
export default Presidential_1860 as Election;

View file

@ -22,6 +22,7 @@ const Presidential_1864 = {
],
states: {
"CA": {
population: 105890,
electoralVotes: 5,
odds: {
"National Union": 0.7,
@ -29,6 +30,7 @@ const Presidential_1864 = {
}
},
"CT": {
population: 86981,
electoralVotes: 6,
odds: {
"National Union": 0.6,
@ -36,6 +38,7 @@ const Presidential_1864 = {
}
},
"DE": {
population: 16922,
electoralVotes: 3,
odds: {
"National Union": 0.5,
@ -43,20 +46,23 @@ const Presidential_1864 = {
}
},
"IA": {
population: 138025,
electoralVotes: 8,
odds: {
"National Union": 0.95,
"Democratic": 0.05,
"National Union": 0.9,
"Democratic": 0.1,
}
},
"IL": {
population: 348236,
electoralVotes: 16,
odds: {
"National Union": 0.8,
"Democratic": 0.2,
"Democratic": 0.3,
}
},
"IN": {
population: 280655,
electoralVotes: 13,
odds: {
"National Union": 0.6,
@ -64,69 +70,79 @@ const Presidential_1864 = {
}
},
"KS": {
population: 21580,
electoralVotes: 3,
odds: {
"National Union": 1,
"Democratic": 0,
"Democratic": 0.15,
}
},
"KY": {
population: 92088,
electoralVotes: 11,
odds: {
"National Union": 0.2,
"Democratic": 0.8,
"National Union": 0.1,
"Democratic": 0.9,
}
},
"LA": {
electoralVotes: 7,
odds: {
"National Union": 0.2,
"Democratic": 0.8,
}
},
"MA": {
electoralVotes: 12,
population: 0,
electoralVotes: 0,
odds: {
"National Union": 1,
"Democratic": 0,
}
},
"MA": {
population: 175490,
electoralVotes: 12,
odds: {
"National Union": 1,
"Democratic": 0.4,
}
},
"MD": {
population: 72892,
electoralVotes: 7,
odds: {
"National Union": 0.7,
"Democratic": 0.3,
"Democratic": 0.4,
}
},
"ME": {
population: 114797,
electoralVotes: 7,
odds: {
"National Union": 0.9,
"Democratic": 0.1,
"Democratic": 0.2,
}
},
"MI": {
population: 147662,
electoralVotes: 8,
odds: {
"National Union": 0.7,
"Democratic": 0.3,
"Democratic": 0.4,
}
},
"MN": {
population: 42422,
electoralVotes: 4,
odds: {
"National Union": 0.8,
"National Union": 0.9,
"Democratic": 0.2,
}
},
"MO": {
population: 104346,
electoralVotes: 11,
odds: {
"National Union": 0.99,
"Democratic": 0.01,
"National Union": 1,
"Democratic": 0.3,
}
},
"NH": {
population: 69630,
electoralVotes: 5,
odds: {
"National Union": 0.6,
@ -134,20 +150,23 @@ const Presidential_1864 = {
}
},
"NV": {
population: 16420,
electoralVotes: 2,
odds: {
"National Union": 0.9,
"Democratic": 0.1,
"National Union": 0.8,
"Democratic": 0.3,
}
},
"NJ": {
population: 128747,
electoralVotes: 7,
odds: {
"National Union": 0.4,
"Democratic": 0.6,
"National Union": 0.2,
"Democratic": 0.8,
}
},
"NY": {
population: 730721,
electoralVotes: 33,
odds: {
"National Union": 0.55,
@ -155,59 +174,67 @@ const Presidential_1864 = {
}
},
"OH": {
population: 471253,
electoralVotes: 21,
odds: {
"National Union": 0.7,
"National Union": 0.8,
"Democratic": 0.3,
}
},
"OR": {
population: 18345,
electoralVotes: 3,
odds: {
"National Union": 0.7,
"National Union": 0.8,
"Democratic": 0.3,
}
},
"PA": {
population: 572707,
electoralVotes: 26,
odds: {
"National Union": 0.6,
"Democratic": 0.4,
"National Union": 0.8,
"Democratic": 0.3,
}
},
"RI": {
population: 22432,
electoralVotes: 4,
odds: {
"National Union": 0.95,
"Democratic": 0.05,
"National Union": 1,
"Democratic": 0.3,
}
},
"TN": {
electoralVotes: 10,
population: 0,
electoralVotes: 0,
odds: {
"National Union": 1,
"Democratic": 0,
}
},
"VT": {
population: 55742,
electoralVotes: 5,
odds: {
"National Union": 1,
"Democratic": 0,
}
},
"WI": {
electoralVotes: 8,
odds: {
"National Union": 0.7,
"Democratic": 0.3,
}
},
"WI": {
population: 34877,
electoralVotes: 8,
odds: {
"National Union": 0.9,
"Democratic": 0.2,
}
},
"WV": {
population: 149342,
electoralVotes: 5,
odds: {
"National Union": 0.99,
"Democratic": 0.01,
"National Union": 1,
"Democratic": 0.2,
}
},
}

View file

@ -2,191 +2,164 @@ import { readFile } from "node:fs/promises";
import Election from "../election.js";
import VoteType from "../VoteType.js";
const Presidential_1968 = {
title: "1968 United States Presidential Election Simulator",
shortname: "1968",
description: "The CalubViem Press has rewritten history and called the 1968 United States Presidential Election for $WINNER!",
const Presidential_1940 = {
title: "1940 United States Presidential Election Simulator",
shortname: "1940",
description: "The CalubViem Press has rewritten history and called the 1940 United States Presidential Election for $WINNER!",
voteType: VoteType.Electoral,
svg: await readFile("assets/ElectoralCollege1968.svg", "utf-8"),
svg: await readFile("assets/ElectoralCollege1940.svg", "utf-8"),
candidates: [
{
name: "Hubert Humphrey",
name: "Franklin D. Roosevelt",
party: "Democratic",
color: "#1C408C",
},
{
name: "Richard Nixon",
name: "Wendell Wilkie",
party: "Republican",
color: "#BF1D29",
},
{
name: "George Wallace",
party: "American Independent",
color: "#ffa400",
}
],
states: {
"AL": {
electoralVotes: 10,
population: 294219,
electoralVotes: 11,
odds: {
"Republican": 0.1,
"Democratic": 0.1,
"American Independent": 0.8,
}
},
"AK": {
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.2,
"Democratic": 1
}
},
"AZ": {
electoralVotes: 5,
population: 150039,
electoralVotes: 3,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.2,
"Democratic": 0.95,
}
},
"AR": {
electoralVotes: 6,
population: 200743,
electoralVotes: 9,
odds: {
"Republican": 0.2,
"Democratic": 0.2,
"American Independent": 0.6,
"Democratic": 1
}
},
"CA": {
electoralVotes: 40,
population: 3268791,
electoralVotes: 22,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 1,
}
},
"CO": {
population: 549004,
electoralVotes: 6,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.8,
"Democratic": 0.2,
}
},
"CT": {
population: 781502,
electoralVotes: 8,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
"Republican": 0.4,
"Democratic": 0.7,
}
},
"DE": {
population: 136374,
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
}
},
"DC": {
electoralVotes: 3,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
"Republican": 0.4,
"Democratic": 0.7,
}
},
"FL": {
electoralVotes: 14,
population: 485492,
electoralVotes: 7,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"Republican": 0.2,
"Democratic": 1,
}
},
"GA": {
population: 312551,
electoralVotes: 12,
odds: {
"Republican": 0.2,
"Democratic": 0.2,
"American Independent": 0.6,
}
},
"HI": {
electoralVotes: 4,
odds: {
"Republican": 0.2,
"Democratic": 0.8,
"American Independent": 0,
}
},
"ID": {
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
}
},
"IL": {
electoralVotes: 26,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
}
},
"IN": {
electoralVotes: 13,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Democratic": 1,
}
},
"IA": {
population: 1215430,
electoralVotes: 11,
odds: {
"Republican": 0.7,
"Democratic": 0.3,
}
},
"ID": {
population: 235168,
electoralVotes: 4,
odds: {
"Republican": 0.3,
"Democratic": 0.7,
}
},
"IL": {
population: 4217935,
electoralVotes: 29,
odds: {
"Republican": 0.4,
"Democratic": 1,
}
},
"IN": {
population: 1782747,
electoralVotes: 14,
odds: {
"Republican": 0.5,
"Democratic": 0.5,
}
},
"KS": {
population: 860297,
electoralVotes: 9,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
}
},
"KS": {
electoralVotes: 7,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
}
},
"KY": {
electoralVotes: 9,
population: 970063,
electoralVotes: 11,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.2,
"Democratic": 0.8,
}
},
"LA": {
population: 372305,
electoralVotes: 10,
odds: {
"Republican": 0.1,
"Democratic": 0.1,
"American Independent": 0.8,
"Democratic": 1,
}
},
"ME": {
electoralVotes: 4,
population: 320840,
electoralVotes: 5,
odds: {
"Republican": 0.4,
"Democratic": 0.6,
"American Independent": 0,
"Republican": 0.55,
"Democratic": 0.45,
}
},
"MD": {
electoralVotes: 10,
population: 660117,
electoralVotes: 8,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
@ -194,246 +167,247 @@ const Presidential_1968 = {
}
},
"MA": {
electoralVotes: 14,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
}
},
"MI": {
electoralVotes: 21,
odds: {
"Republican": 0.5,
"Democratic": 0.5,
"American Independent": 0,
}
},
"MN": {
electoralVotes: 10,
population: 2026993,
electoralVotes: 17,
odds: {
"Republican": 0.4,
"Democratic": 0.6,
"American Independent": 0,
}
},
"MI": {
population: 2085929,
electoralVotes: 19,
odds: {
"Republican": 0.5,
"Democratic": 0.5,
}
},
"MN": {
population: 1251188,
electoralVotes: 11,
odds: {
"Republican": 0.3,
"Democratic": 0.7,
}
},
"MS": {
electoralVotes: 7,
population: 175824,
electoralVotes: 9,
odds: {
"Republican": 0.1,
"Democratic": 0.1,
"American Independent": 0.8,
"Republican": 0.05,
"Democratic": 0.95,
}
},
"MO": {
electoralVotes: 12,
population: 1833729,
electoralVotes: 15,
odds: {
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0,
"Republican": 0.35,
"Democratic": 0.75,
}
},
"MT": {
population: 247873,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.2,
"Democratic": 1,
}
},
"NE": {
electoralVotes: 5,
population: 615878,
electoralVotes: 7,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.4,
}
},
"NV": {
population: 53174,
electoralVotes: 3,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.9,
}
},
"NH": {
population: 235419,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.4,
"Democratic": 0.6,
}
},
"NJ": {
population: 1974214,
electoralVotes: 17,
odds: {
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0,
"Republican": 0.4,
"Democratic": 0.6,
}
},
"NM": {
electoralVotes: 4,
population: 183258,
electoralVotes: 3,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.7,
}
},
"NY": {
electoralVotes: 43,
population: 6301596,
electoralVotes: 47,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
"Republican": 0.44,
"Democratic": 0.56,
}
},
"NC": {
population: 822648,
electoralVotes: 13,
odds: {
"Republican": 0.43,
"Democratic": 0.33,
"American Independent": 0.23,
"Republican": 0.2,
"Democratic": 0.8,
}
},
"ND": {
population: 280775,
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"Republican": 0.8,
"Democratic": 0.4,
"American Independent": 0,
}
},
"OH": {
population: 3319912,
electoralVotes: 26,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.35,
"Democratic": 0.8,
}
},
"OK": {
electoralVotes: 8,
population: 826212,
electoralVotes: 11,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.35,
"Democratic": 0.8,
}
},
"OR": {
electoralVotes: 6,
population: 481240,
electoralVotes: 5,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.4,
"Democratic": 0.7,
}
},
"PA": {
electoralVotes: 29,
population: 4078714,
electoralVotes: 36,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
"Republican": 0.4,
"Democratic": 0.7,
}
},
"RI": {
population: 321148,
electoralVotes: 4,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.7,
}
},
"SC": {
population: 99832,
electoralVotes: 8,
odds: {
"Republican": 0.43,
"Democratic": 0.33,
"American Independent": 0.23,
"Republican": 0.1,
"Democratic": 1,
}
},
"SD": {
population: 308427,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.4,
}
},
"TN": {
population: 522823,
electoralVotes: 11,
odds: {
"Republican": 0.43,
"Democratic": 0.23,
"American Independent": 0.33,
"Republican": 0.3,
"Democratic": 0.7,
}
},
"TX": {
electoralVotes: 25,
population: 1124531,
electoralVotes: 23,
odds: {
"Republican": 0.4,
"Democratic": 0.6,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.8,
}
},
"UT": {
population: 247819,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.2,
"Democratic": 0.8,
}
},
"VT": {
population: 143062,
electoralVotes: 3,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.9,
"Democratic": 0.3,
}
},
"VA": {
electoralVotes: 12,
population: 346607,
electoralVotes: 11,
odds: {
"Republican": 0.4,
"Democratic": 0.3,
"American Independent": 0.3,
"Republican": 0.3,
"Democratic": 0.8,
}
},
"WA": {
electoralVotes: 9,
population: 793833,
electoralVotes: 8,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.8,
}
},
"WV": {
electoralVotes: 7,
population: 868076,
electoralVotes: 8,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.9,
}
},
"WI": {
population: 1405522,
electoralVotes: 12,
odds: {
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0,
"Republican": 0.45,
"Democratic": 0.55,
}
},
"WY": {
electoralVotes: 3,
population: 112240,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.5,
"Democratic": 0.5,
}
}
}
}
export default Presidential_1968 as Election;
export default Presidential_1940 as Election;

View file

@ -27,325 +27,367 @@ const Presidential_1968 = {
],
states: {
"AL": {
population: 1049917,
electoralVotes: 10,
odds: {
"Republican": 0.1,
"Democratic": 0.1,
"American Independent": 0.8,
"Republican": 0.3,
"Democratic": 0.3,
"American Independent": 1,
}
},
"AK": {
population: 83035,
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.5,
"Democratic": 0.4,
"American Independent": 0.1,
}
},
"AZ": {
population: 486936,
electoralVotes: 5,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"American Independent": 0.3,
}
},
"AR": {
population: 609590,
electoralVotes: 6,
odds: {
"Republican": 0.2,
"Democratic": 0.2,
"American Independent": 0.6,
"Republican": 0.3,
"Democratic": 0.3,
"American Independent": 0.4,
}
},
"CA": {
population: 7251587,
electoralVotes: 40,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0.07,
}
},
"CO": {
population: 811199,
electoralVotes: 6,
odds: {
"Republican": 0.6,
"Republican": 0.7,
"Democratic": 0.4,
"American Independent": 0,
"American Independent": 0.1,
}
},
"CT": {
population: 1256232,
electoralVotes: 8,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
"Republican": 0.4,
"Democratic": 0.6,
"American Independent": 0.2,
}
},
"DE": {
population: 214367,
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0.06,
}
},
"DC": {
population: 170578,
electoralVotes: 3,
odds: {
"Republican": 0,
"Democratic": 1,
"Republican": 0.2,
"Democratic": 0.7,
"American Independent": 0,
}
},
"FL": {
population: 2187805,
electoralVotes: 14,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0.25,
}
},
"GA": {
population: 1250266,
electoralVotes: 12,
odds: {
"Republican": 0.2,
"Democratic": 0.2,
"Republican": 0.4,
"Democratic": 0.3,
"American Independent": 0.6,
}
},
"HI": {
population: 236218,
electoralVotes: 4,
odds: {
"Republican": 0.2,
"Democratic": 0.8,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.7,
"American Independent": 0.1,
}
},
"ID": {
population: 291183,
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Democratic": 0.4,
"American Independent": 0.2,
}
},
"IL": {
population: 4619749,
electoralVotes: 26,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0.2,
}
},
"IN": {
population: 2123597,
electoralVotes: 13,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.45,
"American Independent": 0.3,
}
},
"IA": {
population: 1167931,
electoralVotes: 9,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.4,
"American Independent": 0.05,
}
},
"KS": {
population: 872783,
electoralVotes: 7,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.4,
"American Independent": 0.1,
}
},
"KY": {
population: 1055893,
electoralVotes: 9,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.3,
"American Independent": 0.1,
}
},
"LA": {
population: 1097450,
electoralVotes: 10,
odds: {
"Republican": 0.1,
"Democratic": 0.1,
"American Independent": 0.8,
"Republican": 0.3,
"Democratic": 0.3,
"American Independent": 0.6,
}
},
"ME": {
population: 392936,
electoralVotes: 4,
odds: {
"Republican": 0.4,
"Democratic": 0.6,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.7,
"American Independent": 0.08,
}
},
"MD": {
population: 1235039,
electoralVotes: 10,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
"American Independent": 0.07,
}
},
"MA": {
population: 2331752,
electoralVotes: 14,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.7,
"American Independent": 0.05,
}
},
"MI": {
population: 3306250,
electoralVotes: 21,
odds: {
"Republican": 0.5,
"Democratic": 0.5,
"American Independent": 0,
"Republican": 0.45,
"Democratic": 0.6,
"American Independent": 0.05,
}
},
"MN": {
population: 1588510,
electoralVotes: 10,
odds: {
"Republican": 0.4,
"Republican": 0.42,
"Democratic": 0.6,
"American Independent": 0,
"American Independent": 0.05,
}
},
"MS": {
population: 654509,
electoralVotes: 7,
odds: {
"Republican": 0.1,
"Democratic": 0.1,
"American Independent": 0.8,
"Republican": 0.2,
"Democratic": 0.45,
"American Independent": 0.6,
}
},
"MO": {
population: 1809502,
electoralVotes: 12,
odds: {
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0,
"Republican": 0.65,
"Democratic": 0.35,
"American Independent": 0.1,
}
},
"MT": {
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
}
},
"NE": {
electoralVotes: 5,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
}
},
"NV": {
electoralVotes: 3,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
}
},
"NH": {
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
}
},
"NJ": {
electoralVotes: 17,
odds: {
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0,
}
},
"NM": {
population: 274404,
electoralVotes: 4,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"American Independent": 0.09,
}
},
"NE": {
population: 536851,
electoralVotes: 5,
odds: {
"Republican": 0.6,
"Democratic": 0.3,
"American Independent": 0.09,
}
},
"NV": {
population: 154218,
electoralVotes: 3,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0.1,
}
},
"NH": {
population: 297298,
electoralVotes: 4,
odds: {
"Republican": 0.7,
"Democratic": 0.4,
"American Independent": 0.04,
}
},
"NJ": {
population: 2875395,
electoralVotes: 17,
odds: {
"Republican": 0.55,
"Democratic": 0.4,
"American Independent": 0.05,
}
},
"NM": {
population: 327281,
electoralVotes: 4,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0.05,
}
},
"NY": {
population: 6790066,
electoralVotes: 43,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
"American Independent": 0.06,
}
},
"NC": {
population: 1587493,
electoralVotes: 13,
odds: {
"Republican": 0.43,
"Democratic": 0.33,
"American Independent": 0.23,
"Republican": 0.5,
"Democratic": 0.3,
"American Independent": 0.3,
}
},
"ND": {
population: 247882,
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.3,
"American Independent": 0.04,
}
},
"OH": {
population: 3959698,
electoralVotes: 26,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"American Independent": 0.1,
}
},
"OK": {
population: 943086,
electoralVotes: 8,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.4,
"American Independent": 0.18,
}
},
"OR": {
population: 819622,
electoralVotes: 6,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"American Independent": 0.03,
}
},
"PA": {
population: 4747928,
electoralVotes: 29,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
"American Independent": 0.05,
}
},
"RI": {
population: 385000,
electoralVotes: 4,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
"Republican": 0.3,
"Democratic": 0.6,
"American Independent": 0.04,
}
},
"SC": {
population: 666982,
electoralVotes: 8,
odds: {
"Republican": 0.43,
@ -354,83 +396,93 @@ const Presidential_1968 = {
}
},
"SD": {
population: 281264,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.7,
"Democratic": 0.4,
"American Independent": 0.04,
}
},
"TN": {
population: 1248617,
electoralVotes: 11,
odds: {
"Republican": 0.43,
"Democratic": 0.23,
"American Independent": 0.33,
"Republican": 0.4,
"Democratic": 0.2,
"American Independent": 0.3,
}
},
"TX": {
population: 3079406,
electoralVotes: 25,
odds: {
"Republican": 0.4,
"Democratic": 0.6,
"American Independent": 0,
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0.1,
}
},
"UT": {
population: 422568,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0.09,
}
},
"VT": {
population: 161404,
electoralVotes: 3,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
"American Independent": 0.02,
}
},
"VA": {
electoralVotes: 12,
odds: {
"Republican": 0.4,
"Democratic": 0.3,
"American Independent": 0.3,
}
},
"WA": {
electoralVotes: 9,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
}
},
"WV": {
electoralVotes: 7,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
}
},
"WI": {
population: 1361491,
electoralVotes: 12,
odds: {
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0,
"American Independent": 0.2,
}
},
"WA": {
population: 1304281,
electoralVotes: 9,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0.07,
}
},
"WV": {
population: 754206,
electoralVotes: 7,
odds: {
"Republican": 0.45,
"Democratic": 0.6,
"American Independent": 0.04,
}
},
"WI": {
population: 1691538,
electoralVotes: 12,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0.07,
}
},
"WY": {
population: 127205,
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
"Republican": 0.6,
"Democratic": 0.3,
"American Independent": 0.04,
}
}
}

View file

@ -10,7 +10,7 @@ const Presidential_2024 = {
svg: await readFile("assets/ElectoralCollege2024.svg", "utf-8"),
candidates: [
{
name: "Joseph R. Biden Jr.",
name: "Kamala Harris",
party: "Democratic",
color: "#1C408C",
},
@ -25,7 +25,7 @@ const Presidential_2024 = {
electoralVotes: 9,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 2323282
},
@ -33,7 +33,7 @@ const Presidential_2024 = {
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 359530
},
@ -49,14 +49,14 @@ const Presidential_2024 = {
electoralVotes: 6,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 1219069
},
"CA": {
electoralVotes: 54,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 17501380
@ -64,7 +64,7 @@ const Presidential_2024 = {
"CO": {
electoralVotes: 10,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 3256980
@ -72,7 +72,7 @@ const Presidential_2024 = {
"CT": {
electoralVotes: 7,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 3256980
@ -80,7 +80,7 @@ const Presidential_2024 = {
"DE": {
electoralVotes: 3,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 504346
@ -88,7 +88,7 @@ const Presidential_2024 = {
"DC": {
electoralVotes: 3,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 344356
@ -112,7 +112,7 @@ const Presidential_2024 = {
"HI": {
electoralVotes: 4,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 574469
@ -121,14 +121,14 @@ const Presidential_2024 = {
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 867934
},
"IL": {
electoralVotes: 19,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 6033744
@ -137,7 +137,7 @@ const Presidential_2024 = {
electoralVotes: 11,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 3033210
},
@ -153,7 +153,7 @@ const Presidential_2024 = {
electoralVotes: 6,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 1373986
},
@ -161,7 +161,7 @@ const Presidential_2024 = {
electoralVotes: 8,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 1373986
},
@ -169,7 +169,7 @@ const Presidential_2024 = {
electoralVotes: 8,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 2148062
},
@ -184,7 +184,7 @@ const Presidential_2024 = {
"ME-01": {
electoralVotes: 1,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 443286
@ -200,7 +200,7 @@ const Presidential_2024 = {
"MD": {
electoralVotes: 10,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 3037030
@ -208,7 +208,7 @@ const Presidential_2024 = {
"MA": {
electoralVotes: 11,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 3631402
@ -233,7 +233,7 @@ const Presidential_2024 = {
electoralVotes: 6,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
popultion: 1313759
},
@ -241,7 +241,7 @@ const Presidential_2024 = {
electoralVotes: 10,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 3025962
},
@ -249,7 +249,7 @@ const Presidential_2024 = {
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 603674
},
@ -257,7 +257,7 @@ const Presidential_2024 = {
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 956383
},
@ -288,7 +288,7 @@ const Presidential_2024 = {
"NJ": {
electoralVotes: 14,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 4549457
@ -296,7 +296,7 @@ const Presidential_2024 = {
"NM": {
electoralVotes: 5,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 923965
@ -304,7 +304,7 @@ const Presidential_2024 = {
"NY": {
electoralVotes: 28,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 8616861
@ -321,7 +321,7 @@ const Presidential_2024 = {
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 362024
},
@ -337,14 +337,14 @@ const Presidential_2024 = {
electoralVotes: 7,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 1560699
},
"OR": {
electoralVotes: 8,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 2374321
@ -360,7 +360,7 @@ const Presidential_2024 = {
"RI": {
electoralVotes: 4,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 517757
@ -369,7 +369,7 @@ const Presidential_2024 = {
electoralVotes: 9,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 2513329
},
@ -377,7 +377,7 @@ const Presidential_2024 = {
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 422609
},
@ -385,7 +385,7 @@ const Presidential_2024 = {
electoralVotes: 11,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 3053851
},
@ -401,14 +401,14 @@ const Presidential_2024 = {
electoralVotes: 6,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 1488289
},
"VT": {
electoralVotes: 3,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 367428
@ -424,7 +424,7 @@ const Presidential_2024 = {
"WA": {
electoralVotes: 12,
odds: {
"Republican": 0,
"Republican": 0.3,
"Democratic": 1,
},
population: 4087631
@ -433,7 +433,7 @@ const Presidential_2024 = {
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 794731
},
@ -449,7 +449,7 @@ const Presidential_2024 = {
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"Democratic": 0.3,
},
population: 276765
}

View file

@ -0,0 +1,307 @@
import { readFile } from "node:fs/promises";
import Election from "../election.js";
import VoteType from "../VoteType.js";
const Senate_2024 = {
title: "2024 United States Senate Election Simulator",
shortname: "2024",
description: "The CalubViem Press has called the 2024 United States Senate for $WINNER!",
voteType: VoteType.Senate,
svg: await readFile("assets/Senate2024.svg", "utf-8"),
candidates: [
{
name: "Democrats",
party: "Democratic",
color: "#1C408C",
startingSeats: 29,
},
{
name: "Republicans",
party: "Republican",
color: "#BF1D29",
startingSeats: 37,
},
{
name: "Independent",
party: "Independent",
color: "#BFAB22",
startingSeats: 0,
}
],
states: {
"AZ": {
odds: {
"Democratic": 0.51,
"Republican": 0.48,
"Independent": 0.01,
},
population: 2326300 // using 2018 turnout for all of these
},
"CA": {
odds: {
"Democratic": 0.67,
"Republican": 0.33,
"Independent": 0,
},
population: 11113364
},
"CT": {
odds: {
"Democratic": 0.65,
"Republican": 0.37,
"Independent": 0,
},
population: 1371296
},
"DE": {
odds: {
"Democratic": 0.65,
"Republican": 0.37,
"Independent": 0,
},
population: 354512
},
"FL": {
odds: {
"Republican": 0.57,
"Democratic": 0.44,
"Independent": 0,
},
population: 8188977
},
"HI": {
odds: {
"Democratic": 0.70,
"Republican": 0.34,
"Independent": 0,
},
population: 388351
},
"IN": {
odds: {
"Republican": 0.63,
"Democratic": 0.39,
"Independent": 0,
},
population: 2181553
},
"ME": {
odds: {
"Independent": 0.60,
"Republican": 0.30,
"Democratic": 0.15,
},
population: 634345
},
"MD": {
odds: {
"Democratic": 0.61,
"Republican": 0.37,
"Independent": 0,
},
population: 2188631
},
"MA": {
odds: {
"Democratic": 0.65,
"Republican": 0.34,
"Independent": 0.01,
},
population: 2612581
},
"MI": {
odds: {
"Democratic": 0.52,
"Republican": 0.47,
"Independent": 0,
},
population: 4153296
},
"MN": {
odds: {
"Democratic": 0.64,
"Republican": 0.34,
"Independent": 0,
},
population: 2506611
},
"MS": {
odds: {
"Republican": 0.60,
"Democratic": 0.37,
"Independent": 0,
},
population: 917186
},
"MO": {
odds: {
"Republican": 0.60,
"Democratic": 0.36,
"Independent": 0,
},
population: 2367862
},
"MT": {
odds: {
"Republican": 0.51,
"Democratic": 0.49,
"Independent": 0,
},
population: 489839
},
"NE": {
odds: {
"Republican": 0.61,
"Independent": 0.34,
"Democratic": 0.34,
},
population: 673068
},
"NE-02": {
odds: {
"Republican": 0.60,
"Democratic": 0.36,
"Independent": 0,
},
population: 673068
},
"NV": {
odds: {
"Democratic": 0.51,
"Republican": 0.48,
"Independent": 0,
},
population: 931273
},
"NJ": {
odds: {
"Democratic": 0.61,
"Republican": 0.30,
"Independent": 0.20,
},
population: 3069009
},
"NM": {
odds: {
"Democratic": 0.62,
"Republican": 0.37,
"Independent": 0.01,
},
population: 697012
},
"NY": {
odds: {
"Democratic": 0.65,
"Republican": 0.33,
"Independent": 0,
},
population: 6055151
},
"ND": {
odds: {
"Republican": 0.61,
"Democratic": 0.34,
"Independent": 0,
},
population: 324096
},
"OH": {
odds: {
"Democratic": 0.54,
"Republican": 0.46,
"Independent": 0,
},
population: 4409887
},
"PA": {
odds: {
"Democratic": 0.52,
"Republican": 0.48,
"Independent": 0,
},
population: 4927285
},
"RI": {
odds: {
"Democratic": 0.62,
"Republican": 0.37,
"Independent": 0,
},
population: 375898
},
"TN": {
odds: {
"Republican": 0.62,
"Democratic": 0.37,
"Independent": 0,
},
population: 2212933
},
"TX": {
odds: {
"Republican": 0.59,
"Democratic": 0.40,
"Independent": 0.01,
},
population: 8306185
},
"UT": {
odds: {
"Republican": 0.64,
"Democratic": 0.31,
"Independent": 0,
},
population: 993756
},
"VT": {
odds: {
"Independent": 0.70,
"Republican": 0.25,
"Democratic": 0,
},
population: 258464
},
"VA": {
odds: {
"Democratic": 0.58,
"Republican": 0.40,
"Independent": 0,
},
population: 3284683
},
"WA": {
odds: {
"Democratic": 0.60,
"Republican": 0.38,
"Independent": 0,
},
population: 3086168
},
"WV": {
odds: {
"Republican": 0.62,
"Democratic": 0.33,
"Independent": 0,
},
population: 561623
},
"WI": {
odds: {
"Democratic": 0.55,
"Republican": 0.46,
"Independent": 0,
},
population: 2657799
},
"WY": {
odds: {
"Republican": 0.75,
"Democratic": 0.2,
"Independent": 0,
},
population: 197437
},
}
}
export default Senate_2024 as Election;

View file

@ -12,7 +12,7 @@ const NK_2019 = {
{
name: "Kim Jong-Un",
party: "Democratic Front FTRF",
color: "#FF0000",
color: "#DE0000",
},
],
states: {

200
src/elections/ROC2024.ts Normal file
View file

@ -0,0 +1,200 @@
import { readFile } from "fs/promises";
import VoteType from "../VoteType.js";
import Election from "../election.js"
const ROC_2024 = {
title: "2024 Taiwanese presidential election",
shortname: "tw2024",
description: "The CalubViem Press has called the 2024 Taiwanese presidential election for $WINNER!",
voteType: VoteType.Popular,
svg: await readFile("assets/ROC2024.svg", "utf-8"),
candidates: [
{
name: "Lai Ching-te",
party: "DPP",
color: "#1B9431",
},
{
name: "Hou Yu-ih",
party: "KMT",
color: "#000099",
},
{
name: "Ko Wen-je",
party: "TPP",
color: "#28C7C7",
},
],
states: {
"TWTPE": {
population: 1542011,
odds: {
"DPP": 0.5,
"KMT": 0.5,
"TPP": 0.2,
}
},
"TWTPQ": {
population: 2458480,
odds: {
"DPP": 0.55,
"KMT": 0.48,
"TPP": 0.2,
}
},
"TWTAO": {
population: 1350792,
odds: {
"DPP": 0.52,
"KMT": 0.46,
"TPP": 0.3,
}
},
"TWTXG": {
population: 1707203,
odds: {
"DPP": 0.55,
"KMT": 0.45,
"TPP": 0.2,
}
},
"TWTNN": {
population: 1120238,
odds: {
"DPP": 0.6,
"KMT": 0.3,
"TPP": 0.2,
}
},
"TWKHH": {
population: 1636962,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWKEE": {
population: 216726,
odds: {
"DPP": 0.4,
"KMT": 0.6,
"TPP": 0.2,
}
},
"TWHSZ": {
population: 266389,
odds: {
"DPP": 0.5,
"KMT": 0.4,
"TPP": 0.4,
}
},
"TWHSQ": {
population: 339283,
odds: {
"DPP": 0.2,
"KMT": 0.7,
"TPP": 0.3,
}
},
"TWMIA": {
population: 318665,
odds: {
"DPP": 0.2,
"KMT": 0.7,
"TPP": 0.3,
}
},
"TWCHA": {
population: 741368,
odds: {
"DPP": 0.6,
"KMT": 0.3,
"TPP": 0.2,
}
},
"TWNAN": {
population: 287296,
odds: {
"DPP": 0.4,
"KMT": 0.6,
"TPP": 0.2,
}
},
"TWYUN": {
population: 380619,
odds: {
"DPP": 0.6,
"KMT": 0.3,
"TPP": 0.2,
}
},
"TWCYI": {
population: 157656,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWCYQ": {
population: 292534,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWPIF": {
population: 474805,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWILA": {
population: 267129,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWHUA": {
population: 174157,
odds: {
"DPP": 0.2,
"KMT": 0.8,
"TPP": 0.2,
}
},
"TWTTT": {
population: 109941,
odds: {
"DPP": 0.2,
"KMT": 0.8,
"TPP": 0.2,
}
},
"TWPEN": {
population: 49277,
odds: {
"DPP": 0.5,
"KMT": 0.5,
"TPP": 0.2,
}
},
"TWKIN": {
population: 51771,
odds: {
"DPP": 0.1,
"KMT": 0.9,
"TPP": 0.2,
}
},
}
}
export default ROC_2024 as Election;

View file

@ -1,28 +1,35 @@
import Election from "../election.js";
import Presidential_1789 from "./1789.js";
import Presidential_1848 from "./1848.js";
import Presidential_1860 from "./1860.js";
import Presidential_1864 from "./1864.js";
import Presidential_1940 from "./1940.js";
import Presidential_1968 from "./1968.js";
import Presidential_1992 from "./1992.js";
import Presidential_2000 from "./2000.js";
import Presidential_2004 from "./2004.js";
import Presidential_2008 from "./2008.js";
import Presidential_2024 from "./2024.js";
import Senate_2024 from "./2024_senate.js";
import NK_2019 from "./NK2019.js";
import ROC_2024 from "./ROC2024.js";
const Elections = {
// US
"1789": Presidential_1789,
"1848": Presidential_1848,
"1860": Presidential_1860,
"1864": Presidential_1864,
"1940": Presidential_1940,
"1968": Presidential_1968,
/*
"1992": Presidential_1992,
"2000": Presidential_2000,
"2004": Presidential_2004,
"2008": Presidential_2008,
*/
"2024": Presidential_2024,
"senate_2024": Senate_2024,
// Other
"nk2019": NK_2019,
"roc2024": ROC_2024,
}
export default (Elections as {[key : string] : Election})

View file

@ -1,9 +1,9 @@
import {REST, Routes, Client, GatewayIntentBits, CommandInteraction, EmbedBuilder, CommandInteractionOption, CommandInteractionOptionResolver } from "discord.js";
import {ActionRowBuilder, ButtonBuilder, ButtonStyle, REST, Routes, Client, Guild, GatewayIntentBits, CommandInteraction, EmbedBuilder, CommandInteractionOption, CommandInteractionOptionResolver } from "discord.js";
import * as fs from "node:fs";
import commands from "./commands.js";
import {MakePrediction} from "./predictor.js";
import Election from "./election.js";
import Presidential_2024 from "./elections/2024.js";
import CandidateEmojis from "./candidateEmojis.js";
import Elections from "./elections/elections.js";
import VoteType from "./VoteType.js";
@ -19,15 +19,20 @@ if (!config.token) {
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.on('ready', async () => {
console.log(`Logged in as ${client.user!.tag}!`);
console.log('\x1b[32m', `Logged in as ${client.user!.tag}! Bot is currently in ${client.guilds.cache.size} servers`, '\x1b[0m');
await publishSlashCommands(client.application!.id);
});
client.on('guildCreate', async (guild: Guild) => {
console.log('\x1b[32m', `Bot joined ${guild.name}`, '\x1b[0m');
});
client.on('interactionCreate', async i => {
if (i instanceof CommandInteraction) {
await i.deferReply();
switch (i.commandName) {
case "approval":
// TODO: Replace this with API!
let poll_data = JSON.parse(fs.readFileSync('data/approval_rating.json', "utf-8"));
let polls = "";
var source = i.options.get('source')?.value as string
@ -56,8 +61,164 @@ if (!config.token) {
}
await i.editReply(`${polls}`);
break;
case "help":
var command = i.options.get('command')?.value as string
let help_command_json = JSON.parse(fs.readFileSync('data/help.json', "utf-8"));
let help_command = help_command_json[command];
console.log('\x1b[33m', `Help command executed by ${i.user.username} (${i.user.id})`, '\x1b[0m');
function minTwoDigits(n: number) {
return (n < 10 ? '0' : '') + n;
}
if (command === undefined) {
// uptime (is there a better way to do this?)
let totalSeconds = (client.uptime! / 1000);
let days = Math.floor(totalSeconds / 86400);
totalSeconds %= 86400;
let hours = Math.floor(totalSeconds / 3600);
totalSeconds %= 3600;
let minutes = Math.floor(totalSeconds / 60);
let seconds = Math.floor(totalSeconds % 60);
// add list of commands to help
let description = "Civics is a non-partisan bot that lets you view live election results, polls, predictions, and more.\nType /help (command) for help with a command.\nList of commands:\n";
const categories: { [key: string]: string[] } = {};
Object.entries(help_command_json).forEach(([cmd, details]: [string, any]) => {
const category = details[0].category;
if (!categories[category]) {
categories[category] = [];
}
categories[category].push(`\`${cmd}\``);
});
Object.entries(categories).forEach(([category, cmds]) => {
description += `:blue_circle: **${category}**: ${cmds.join(', ')}\n`;
});
var embed = new EmbedBuilder()
.setTitle(`Civics`)
.setDescription(description)
.addFields(
{ name: 'Bot Version', value: 'v1.04', inline: true },
{ name: 'Total Servers', value: `${client.guilds.cache.size}`, inline: true },
// @ts-ignore
{ name: 'Uptime', value: `${days} days, ${minTwoDigits(hours)}:${minTwoDigits(minutes)}:${minTwoDigits(seconds)}`, inline: true }
);
await i.editReply({embeds: [embed]});
break;
}
if (!Object.keys(help_command_json).includes(command)) {
await i.editReply(`Invalid command!`);
break;
} else {
await i.editReply('```c\n' + `# usage\n${help_command[0].usage}\n# description\n${help_command[0].description}\n# examples\n${help_command[0].examples}` + '```\n```md\n' + `${help_command[0].notes}` + '```');
break;
}
break;
case "predictions":
var source = i.options.get('source')?.value as string
let prediction_query = await fetch(`http://127.0.0.1:3000/api/v1/predictions/presidential/${source}`); // temp test url
let prediction_results = await prediction_query.json();
console.log('\x1b[33m', `Predictions ${source} command executed by ${i.user.username} (${i.user.id})`, '\x1b[0m');
if (prediction_query.ok) {
if(prediction_results[source] != undefined) {
var embed = new EmbedBuilder()
.setTitle(`${prediction_results[source][0].name}`)
.setDescription(`${prediction_results[source][0].before_biden_dropout ? ":red_circle: **NOTE**: This prediction was done BEFORE Joe Biden dropped out of the race. It may not reflect the current environment!\n" : ""} [Link to source](${prediction_results[source][0].url}) - last updated ${prediction_results[source][0].last_updated}\nShade is lighter based on margin of victory`)
.addFields(Object.values(prediction_results[source][0].candidates).map((candidate: any) => ({
name: `${candidate.winner ? ":white_check_mark:" : ""} ${CandidateEmojis[candidate.party] ?? ""} ${candidate.name} ${candidate.incumbent ? "(I)" : ""} (${candidate.party})`,
value: `${candidate.electoral_votes} electoral votes`,
inline: true
})))
.setTimestamp();
const map = await fetch(`http://127.0.0.1:3000/api/v1/predictions/presidential/${source}/map`); // temp test url
if (map.ok) {
const arrayBuffer = await map.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);
embed.setImage("attachment://map.png");
await i.editReply({embeds: [embed], files: [{attachment: buffer, name: "map.png"}]});
break;
} else {
await i.editReply("An error occurred fetching the data");
break;
}
} else {
await i.editReply("Source not found");
break;
}
} else {
await i.editReply("An error occurred fetching the data");
break;
}
break;
case "test":
var country = i.options.get('country')?.value as string
var election_type = i.options.get('type')?.value as string
var year = Number(i.options.get('year')?.value)
var state = i.options.get('state')?.value as string
// check if the state option exists when querying
const queryURL = state
? `http://127.0.0.1:3000/api/v1/election/${country}/${election_type}/${year}/${state}`
: `http://127.0.0.1:3000/api/v1/election/${country}/${election_type}/${year}`;
const query = await fetch(queryURL);
let results = await query.json();
console.log('\x1b[33m', `Election command executed by ${i.user.username} (${i.user.id})`, '\x1b[0m');
if (query.ok) {
if(results[year] != undefined) {
var embed = new EmbedBuilder()
.setTitle(` ${results[year][0].election_name}`)
.setDescription(`${results[year][0].is_ongoing ? ":red_circle: **LIVE**: This election is currently ongoing, results may change!\n" : ""}API test`)
.addFields(Object.values(results[year][0].candidates).map((candidate: any) => ({
name: `${candidate.winner ? ":white_check_mark:" : ""} ${CandidateEmojis[candidate.party] ?? ""} ${candidate.name} ${candidate.incumbent ? "(I)" : ""} (${candidate.party})`,
value: `${results[year][0].election_type === "electoral" ? `${candidate.electoral_votes} electoral votes\n` : ""}${results[year][0].election_type === "parliament" ? `${candidate.seats_won} seats\n` : ""}${candidate.states_carried !== null && candidate.states_carried !== undefined ? `${candidate.states_carried} states carried\n` : ""}${candidate.delegates !== null && candidate.delegates !== undefined ? `${candidate.delegates.toLocaleString()} delegates\n` : ""}${candidate.delegates !== null && candidate.contests_won !== undefined ? `${candidate.contests_won} contests won\n` : ""}${candidate.votes !== null && candidate.votes !== undefined ? `${candidate.votes.toLocaleString()} votes (${candidate.percent}%)` : ""}`,
inline: true
})))
.setTimestamp();
if(results[year][0].has_map === true) {
const mapUrl = state
? `http://127.0.0.1:3000/api/v1/election/${country}/${election_type}/${year}/${state}/map`
: `http://127.0.0.1:3000/api/v1/election/${country}/${election_type}/${year}/map`;
const map = await fetch(mapUrl);
if (map.ok) {
const arrayBuffer = await map.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);
embed.setImage("attachment://map.png");
await i.editReply({embeds: [embed], files: [{attachment: buffer, name: "map.png"}]});
break;
} else {
await i.editReply({embeds: [embed]});
break;
}
} else {
await i.editReply({embeds: [embed]});
break;
}
} else {
await i.editReply("Election not found");
break;
}
} else {
await i.editReply("An error occurred fetching the data");
break;
}
break;
case "simulate":
var electionname = (i.options as CommandInteractionOptionResolver).getSubcommand();
var overlayimage = (i.options as CommandInteractionOptionResolver).getAttachment('image_overlay');
var overlayopacity = Number(i.options.get('image_opacity')?.value);
console.log('\x1b[33m', `Simulate ${electionname} command executed by ${i.user.username} (${i.user.id})`, '\x1b[0m');
var election = structuredClone(Elections[electionname]);
for (const candidate of election.candidates) {
@ -67,6 +228,7 @@ if (!config.token) {
}
var bias = (i.options as CommandInteractionOptionResolver).getNumber(candidate.party.toLowerCase().replace(/ /g, "_") + "_bias");
if (bias) {
if (bias > 1500) { bias = 1500; } else if (bias < -1500) { bias = -1500; }
for (const state of Object.keys(election.states)) {
election.states[state].odds[candidate.party] += bias;
}
@ -78,6 +240,7 @@ if (!config.token) {
var party = (i.options as CommandInteractionOptionResolver).getString("with_party") || "Independent";
var color = (i.options as CommandInteractionOptionResolver).getString("with_color") || "#bfab22";
var odds = (i.options as CommandInteractionOptionResolver).getNumber("with_odds") || 0.33;
if (odds > 1500) { odds = 1500; } else if (odds < -1500) { odds = -1500; }
if (!/^#[0-9A-Fa-f]{3,6}$/.test(color)) {
await i.editReply("Please provide a valid hex color code");
return;
@ -94,20 +257,104 @@ if (!config.token) {
for (const state of Object.keys(election.states))
election.states[state].odds[party] = odds;
}
var result = await MakePrediction(election);
if (overlayimage !== null) {
if (overlayimage.size > 5000000) {
await i.editReply("Keep images under 5 MB please!");
return;
}
if (overlayimage.contentType?.substring(0, 5) != "image") {
await i.editReply("Invalid image!");
return;
}
}
if (overlayopacity > 100 || overlayopacity < 0) {
await i.editReply("Invalid opacity!");
return;
}
var result = await MakePrediction(election, overlayimage?.url, overlayopacity ? Math.round((overlayopacity / 100) * 255) : 255);
var embed = new EmbedBuilder()
.setTitle(election.title)
.setDescription(election.description.replace("$WINNER", result.winner))
.addFields(result.candidates.map(c => {
return {
name: `${(result.winner === c.name ? ":white_check_mark:" : "")} ${c.name} (${c.party})`,
value: `${election.voteType === VoteType.Electoral ? `${c.electoralVotes} Electoral Votes, ` : ""}${c.votes} votes (${((c.votes / result.totalVotes) * 100).toFixed(2)}%)`,
value: `${election.voteType === VoteType.Electoral ? `${c.electoralVotes} electoral votes\n` : ""}${election.voteType === VoteType.Senate ? `${c.seats} seats\n` : ""}${c.votes.toLocaleString()} votes (${((c.votes / result.totalVotes) * 100).toFixed(2)}%)`,
inline: true
}
}))
.setImage("attachment://election.png")
.setTimestamp();
await i.editReply({embeds: [embed], files: [{attachment: result.png, name: "election.png"}]});
case "upcoming":
console.log('\x1b[33m', `Upcoming elections command executed by ${i.user.username} (${i.user.id})`, '\x1b[0m');
function parseDate(dateStr: string) {
return new Date(Date.parse(dateStr + " 2024"));
}
const elections = JSON.parse(fs.readFileSync(`data/upcoming_elections.json`, "utf-8"));
const currentDate = new Date();
const electionsArray = Object.keys(elections).map(key => ({
name: key,
date: parseDate(elections[key].date),
dateString: elections[key].date
})).filter(election => election.date >= currentDate);
electionsArray.sort((a, b) => a.date.getTime() - b.date.getTime());
function generatePageEmbed(electionsArray: { name: string; date: Date; dateString: string }[], page: number): EmbedBuilder {
return new EmbedBuilder()
.setTitle("Upcoming elections")
.setFooter({ text: `Page ${page + 1}/${Math.ceil(electionsArray.length / 6)}`})
.setDescription(
electionsArray.slice(page * 6, page * 6 + 6)
.map((election) => `:green_circle: ${election.dateString} - **${election.name}**`)
.join('\n')
)
.setTimestamp();
}
const maxPage = Math.ceil(electionsArray.length / 6) - 1;
let currentPage = 0;
const pageButtons = new ActionRowBuilder<ButtonBuilder>().addComponents(
new ButtonBuilder().setCustomId('electionsPrev').setLabel('⏮️').setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId('electionsNext').setLabel('⏭️').setStyle(ButtonStyle.Primary)
);
const message = await i.editReply({
embeds: [generatePageEmbed(electionsArray, currentPage)],
components: [pageButtons]
});
const buttonCollector = message.createMessageComponentCollector({
filter: i => i.user.id === i.user.id,
time: 1000 * 60 * 2
});
buttonCollector.on('collect', async (i) => {
switch (i.customId) {
case 'electionsPrev':
currentPage = currentPage === 0 ? maxPage : currentPage - 1;
break;
case 'electionsNext':
currentPage = currentPage === maxPage ? 0 : currentPage + 1;
break;
}
await i.update({embeds: [generatePageEmbed(electionsArray, currentPage)], components: [pageButtons]});
});
buttonCollector.on('end', async () => {
try {
await message.edit({ components: [] });
} catch (e) {
// this seems to fail in DMs for some reason...?
console.log('\x1b[31m', 'Could not delete buttons in DM!', '\x1b[0m');
}
});
break;
}
}
});
@ -118,5 +365,5 @@ if (!config.token) {
async function publishSlashCommands(clientid : string) {
const rest = new REST({ version: '10' }).setToken(config.token);
await rest.put(Routes.applicationCommands(clientid), {body: commands});
console.log("Successfully registered slash commands");
console.log('\x1b[32m', 'Successfully registered slash commands!', '\x1b[0m');
}

View file

@ -5,7 +5,7 @@ import crypto from "crypto";
import Election from "./election.js";
import VoteType from './VoteType.js';
export function MakePrediction(election : Election) : Promise<Prediction> {
export function MakePrediction(election : Election, overlay_image?: string, overlay_opacity?: number) : Promise<Prediction> {
return new Promise(async res => {
const window = createSVGWindow();
registerWindow(window, window.document);
@ -19,6 +19,7 @@ export function MakePrediction(election : Election) : Promise<Prediction> {
party: candidate.party,
votes: 0,
electoralVotes: 0,
seats: candidate.startingSeats,
});
}
@ -32,6 +33,9 @@ export function MakePrediction(election : Election) : Promise<Prediction> {
if (election.voteType === VoteType.Electoral) {
pred.candidates.find((c : any) => c.party === winner).electoralVotes += election.states[state].electoralVotes;
}
if (election.voteType === VoteType.Senate) {
pred.candidates.find((c : any) => c.party === winner).seats += 1;
}
for (const candidate of election.candidates) {
pred.candidates.find((c : any) => c.party === candidate.party).votes += votes[candidate.party];
}
@ -41,10 +45,41 @@ export function MakePrediction(election : Election) : Promise<Prediction> {
var s = sharp(Buffer.from(draw.svg()));
var png = await s.png().toBuffer();
//overlay image
if (overlay_image !== undefined) {
const url = await fetch(overlay_image);
const arrayBuffer = await url.arrayBuffer();
const overlayBuffer = Buffer.from(arrayBuffer);
const { width, height } = await sharp(png).metadata();
const overlay = await sharp(overlayBuffer)
.composite([{
input: Buffer.from([0, 0, 0, overlay_opacity !== undefined ? overlay_opacity : 255]),
raw: {
width: 1,
height: 1,
channels: 4,
},
tile: true,
blend: 'dest-in',
}])
.resize(width, height)
.png()
.toBuffer();
png = await sharp(png)
.composite([{ input: overlay, blend: 'over' }])
.png()
.toBuffer();
}
if (election.voteType === VoteType.Electoral)
pred.winner = pred.candidates.sort((a : any, b : any) => b.electoralVotes - a.electoralVotes)[0].name;
else if (election.voteType === VoteType.Popular)
pred.winner = pred.candidates.sort((a : any, b : any) => b.votes - a.votes)[0].name;
else if (election.voteType === VoteType.Senate)
pred.winner = pred.candidates.sort((a : any, b : any) => b.seats - a.seats)[0].name;
pred.totalVotes = pred.candidates.reduce((a : any, b : any) => a + b.votes, 0);
pred.svg = draw.svg();
pred.png = png;
@ -58,6 +93,7 @@ export interface Prediction {
name : string,
party : string,
electoralVotes : number,
seats : number,
votes : number,
}[],
winner: string,