mapwright 0.21.0__tar.gz → 0.23.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mapwright-0.21.0 → mapwright-0.23.0}/CHANGELOG.md +54 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/PKG-INFO +25 -7
- {mapwright-0.21.0 → mapwright-0.23.0}/README.md +24 -6
- mapwright-0.23.0/docs/gallery/age-old.png +0 -0
- mapwright-0.23.0/docs/gallery/age-old.svg +1 -0
- mapwright-0.23.0/docs/gallery/age-young.png +0 -0
- mapwright-0.23.0/docs/gallery/age-young.svg +1 -0
- mapwright-0.23.0/docs/gallery/arctic.png +0 -0
- mapwright-0.23.0/docs/gallery/arctic.svg +1 -0
- mapwright-0.23.0/docs/gallery/citadel.png +0 -0
- mapwright-0.23.0/docs/gallery/citadel.svg +1 -0
- mapwright-0.23.0/docs/gallery/continent.png +0 -0
- mapwright-0.23.0/docs/gallery/continent.svg +1 -0
- mapwright-0.23.0/docs/gallery/desert.png +0 -0
- mapwright-0.23.0/docs/gallery/desert.svg +1 -0
- mapwright-0.23.0/docs/gallery/fortress-town.png +0 -0
- mapwright-0.23.0/docs/gallery/fortress-town.svg +1 -0
- mapwright-0.23.0/docs/gallery/grid-city.png +0 -0
- mapwright-0.23.0/docs/gallery/grid-city.svg +1 -0
- mapwright-0.23.0/docs/gallery/highlands.png +0 -0
- mapwright-0.23.0/docs/gallery/highlands.svg +1 -0
- mapwright-0.23.0/docs/gallery/metropolis.png +0 -0
- mapwright-0.23.0/docs/gallery/metropolis.svg +1 -0
- mapwright-0.23.0/docs/gallery/pangaea.png +0 -0
- mapwright-0.23.0/docs/gallery/pangaea.svg +1 -0
- mapwright-0.23.0/docs/gallery/port.png +0 -0
- mapwright-0.23.0/docs/gallery/port.svg +1 -0
- mapwright-0.23.0/docs/gallery/regions.png +0 -0
- mapwright-0.23.0/docs/gallery/regions.svg +1 -0
- mapwright-0.23.0/docs/gallery/roads.png +0 -0
- mapwright-0.23.0/docs/gallery/roads.svg +1 -0
- mapwright-0.23.0/docs/gallery/shantytown.png +0 -0
- mapwright-0.23.0/docs/gallery/shantytown.svg +1 -0
- mapwright-0.23.0/docs/gallery/terrain-town.png +0 -0
- mapwright-0.23.0/docs/gallery/terrain-town.svg +1 -0
- mapwright-0.23.0/docs/gallery/theme-blueprint.png +0 -0
- mapwright-0.23.0/docs/gallery/theme-blueprint.svg +1 -0
- mapwright-0.23.0/docs/gallery/theme-citadel-neon.png +0 -0
- mapwright-0.23.0/docs/gallery/theme-citadel-neon.svg +1 -0
- mapwright-0.23.0/docs/gallery/theme-dune.png +0 -0
- mapwright-0.23.0/docs/gallery/theme-dune.svg +1 -0
- mapwright-0.23.0/docs/gallery/theme-neon.png +0 -0
- mapwright-0.23.0/docs/gallery/theme-neon.svg +1 -0
- mapwright-0.23.0/docs/gallery/theme-parchment.png +0 -0
- mapwright-0.23.0/docs/gallery/theme-parchment.svg +1 -0
- mapwright-0.23.0/docs/gallery/town.png +0 -0
- mapwright-0.23.0/docs/gallery/town.svg +1 -0
- mapwright-0.23.0/docs/gallery/tropical.png +0 -0
- mapwright-0.23.0/docs/gallery/tropical.svg +1 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/examples/gallery.py +24 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/pyproject.toml +1 -1
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/__init__.py +7 -1
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/settlement.py +389 -55
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/settlement_renderer.py +22 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/terrain.py +81 -13
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_api_contract.py +4 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_settlement.py +172 -5
- mapwright-0.21.0/docs/gallery/age-old.png +0 -0
- mapwright-0.21.0/docs/gallery/age-old.svg +0 -1
- mapwright-0.21.0/docs/gallery/age-young.png +0 -0
- mapwright-0.21.0/docs/gallery/age-young.svg +0 -1
- mapwright-0.21.0/docs/gallery/arctic.png +0 -0
- mapwright-0.21.0/docs/gallery/arctic.svg +0 -1
- mapwright-0.21.0/docs/gallery/citadel.png +0 -0
- mapwright-0.21.0/docs/gallery/citadel.svg +0 -1
- mapwright-0.21.0/docs/gallery/continent.png +0 -0
- mapwright-0.21.0/docs/gallery/continent.svg +0 -1
- mapwright-0.21.0/docs/gallery/desert.png +0 -0
- mapwright-0.21.0/docs/gallery/desert.svg +0 -1
- mapwright-0.21.0/docs/gallery/grid-city.png +0 -0
- mapwright-0.21.0/docs/gallery/grid-city.svg +0 -1
- mapwright-0.21.0/docs/gallery/highlands.png +0 -0
- mapwright-0.21.0/docs/gallery/highlands.svg +0 -1
- mapwright-0.21.0/docs/gallery/metropolis.png +0 -0
- mapwright-0.21.0/docs/gallery/metropolis.svg +0 -1
- mapwright-0.21.0/docs/gallery/pangaea.png +0 -0
- mapwright-0.21.0/docs/gallery/pangaea.svg +0 -1
- mapwright-0.21.0/docs/gallery/port.png +0 -0
- mapwright-0.21.0/docs/gallery/port.svg +0 -1
- mapwright-0.21.0/docs/gallery/regions.png +0 -0
- mapwright-0.21.0/docs/gallery/regions.svg +0 -1
- mapwright-0.21.0/docs/gallery/roads.png +0 -0
- mapwright-0.21.0/docs/gallery/roads.svg +0 -1
- mapwright-0.21.0/docs/gallery/shantytown.png +0 -0
- mapwright-0.21.0/docs/gallery/shantytown.svg +0 -1
- mapwright-0.21.0/docs/gallery/theme-blueprint.png +0 -0
- mapwright-0.21.0/docs/gallery/theme-blueprint.svg +0 -1
- mapwright-0.21.0/docs/gallery/theme-citadel-neon.png +0 -0
- mapwright-0.21.0/docs/gallery/theme-citadel-neon.svg +0 -1
- mapwright-0.21.0/docs/gallery/theme-dune.png +0 -0
- mapwright-0.21.0/docs/gallery/theme-dune.svg +0 -1
- mapwright-0.21.0/docs/gallery/theme-neon.png +0 -0
- mapwright-0.21.0/docs/gallery/theme-neon.svg +0 -1
- mapwright-0.21.0/docs/gallery/theme-parchment.png +0 -0
- mapwright-0.21.0/docs/gallery/theme-parchment.svg +0 -1
- mapwright-0.21.0/docs/gallery/town.png +0 -0
- mapwright-0.21.0/docs/gallery/town.svg +0 -1
- mapwright-0.21.0/docs/gallery/tropical.png +0 -0
- mapwright-0.21.0/docs/gallery/tropical.svg +0 -1
- {mapwright-0.21.0 → mapwright-0.23.0}/.github/workflows/ci.yml +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/.github/workflows/publish.yml +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/.gitignore +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/LICENSE +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/NOTICE +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/archipelago.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/archipelago.svg +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/README.md +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_castle_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_large_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_town_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/city_village_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/decoration_compass_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/decoration_creature_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/decoration_ship_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/dune_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/hill_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/hill_2.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/manifest.json +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_mid_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_old_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_old_2.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_young_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/mountain_young_2.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_cactus_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_deciduous_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_deciduous_2.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_pine_1.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/atlas_pack/tree_pine_2.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/dungeon.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/dungeon.svg +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/hint.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/hint.svg +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/islands.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/islands.svg +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-atoll.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-atoll.svg +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-isthmus.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/template-isthmus.svg +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/theme-dungeon-blueprint.png +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/docs/gallery/theme-dungeon-blueprint.svg +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/examples/benchmark.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/_geometry.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/_graph.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/_serde.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/affordances.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/atlas_renderer.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/config.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/dungeon.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/dungeon_renderer.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/names.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/regions.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/rng.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/roads.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/svg_renderer.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/src/mapwright/themes.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_affordances.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_atlas_renderer.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_config.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_dungeon.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_dungeon_renderer.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_geometry.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_graph.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_names.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_properties.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_regions.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_rng.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_roads.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_serialize.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_svg_renderer.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_terrain.py +0 -0
- {mapwright-0.21.0 → mapwright-0.23.0}/tests/test_themes.py +0 -0
|
@@ -8,6 +8,60 @@ All notable changes to mapwright are documented here. The format follows
|
|
|
8
8
|
`tests/test_api_contract.py`). While the version is `0.x`, minor versions may
|
|
9
9
|
make breaking changes; these will always be noted here.
|
|
10
10
|
|
|
11
|
+
## [0.23.0] — 2026-06-05
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- **Terrain-shaped settlements — a town takes the shape of its ground.**
|
|
15
|
+
`SettlementGenerator.generate` accepts an optional `terrain=` field (a callable
|
|
16
|
+
over normalised canvas coords `(xn, yn) -> elevation`, negative = water, or a 2D
|
|
17
|
+
grid). The footprint is then grown out from the core, each ray stopping at water
|
|
18
|
+
or ground too high to build — so a coastal town hugs its shore, a town between
|
|
19
|
+
lakes grows fingers, and a town on open flats spreads round. The shoreline is
|
|
20
|
+
derived from the real terrain (no synthetic straight coast needed); docks/harbour
|
|
21
|
+
follow it.
|
|
22
|
+
- New public `world_terrain_field(terrain, region=None)` builds such a field from
|
|
23
|
+
a generated `RegionalTerrain`, mapping the town's canvas onto a world rectangle.
|
|
24
|
+
- New public `TerrainField` type alias. Gallery **`terrain-town`** showcase.
|
|
25
|
+
- `terrain=None` is **unchanged** from before.
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- **Continents are no longer roughly circular.** The single-continent heightmap no
|
|
29
|
+
longer frames the map with a radial distance-from-centre falloff (which forced a
|
|
30
|
+
disk). Instead it picks a per-world ocean-facing direction, offsets the landmass
|
|
31
|
+
toward the far (passive) margin, seeds it from two cratonic sub-plates, and frames
|
|
32
|
+
the sea with a **noise-warped, directional** term — so the coastline is ragged and
|
|
33
|
+
the continent sits off-centre, running off one edge like a real continental
|
|
34
|
+
margin. Multi-continent / template / hint worlds keep the prior radial frame and
|
|
35
|
+
are byte-identical (`archipelago`/`islands` unchanged).
|
|
36
|
+
- **Organic town outlines are concave, not oval.** The procedural footprint drops
|
|
37
|
+
the convex hull in favour of a star-shaped polar curve with several harmonics
|
|
38
|
+
(arms + bays); wards are clipped back to it so the fill matches. Planned (`grid`)
|
|
39
|
+
towns stay convex by design. The seeded RNG stream for settlements changed, so
|
|
40
|
+
exact organic-town geometry differs from 0.22.0.
|
|
41
|
+
|
|
42
|
+
## [0.22.0] — 2026-06-02
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
- **Settlement `purpose` + landmarks — what a town exists for.** A new
|
|
46
|
+
`SettlementConfig.purpose` field (`"general"` default, or `"trade"`,
|
|
47
|
+
`"fortress"`, `"religious"`, `"harbor"`, `"extraction"`, `"transit"`). Anything
|
|
48
|
+
but `"general"`:
|
|
49
|
+
- promotes the central ward to a purpose-specific **landmark** kind
|
|
50
|
+
(fortress→`citadel`, religious→`temple`, trade→`market`, harbor→`docks`,
|
|
51
|
+
extraction→`mine`, transit→`plaza`), recorded on the new
|
|
52
|
+
`Settlement.landmark` field (a new public `Landmark` type);
|
|
53
|
+
- focuses the **main roads** on that landmark (they radiate from it to the
|
|
54
|
+
gates);
|
|
55
|
+
- **biases the ward-kind mix** toward the purpose (e.g. fortress → more
|
|
56
|
+
garrison wards).
|
|
57
|
+
- The renderer draws a star glyph over the landmark ward.
|
|
58
|
+
- New presets **`fortress_town`**, **`pilgrimage_site`**, **`mining_camp`**;
|
|
59
|
+
gallery `fortress-town` showcase.
|
|
60
|
+
- `"general"` output is **byte-identical** to before (no landmark, unchanged
|
|
61
|
+
ward bag and roads). New `Landmark` public type; `Settlement` serialisation
|
|
62
|
+
bumps to `mapwright/settlement@5` (back-compatible — older payloads load with
|
|
63
|
+
no landmark and `purpose="general"`).
|
|
64
|
+
|
|
11
65
|
## [0.21.0] — 2026-06-02
|
|
12
66
|
|
|
13
67
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mapwright
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.23.0
|
|
4
4
|
Summary: Domain-neutral procedural fantasy map & world generation: Voronoi terrain, hydraulic erosion, biomes, rivers, Markov place-names, and shaded-relief SVG.
|
|
5
5
|
Project-URL: Homepage, https://github.com/sligara7/mapwright
|
|
6
6
|
Project-URL: Repository, https://github.com/sligara7/mapwright
|
|
@@ -100,6 +100,14 @@ produced by [`examples/gallery.py`](examples/gallery.py):
|
|
|
100
100
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/grid-city.png" alt="planned town with a geometric street grid"><br><sub><code>layout="grid"</code> (grid_city)</sub></td>
|
|
101
101
|
</tr>
|
|
102
102
|
<tr>
|
|
103
|
+
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/fortress-town.png" alt="walled fortress town with a central citadel landmark"><br><sub><code>purpose="fortress"</code> (fortress_town)</sub></td>
|
|
104
|
+
<td align="center" colspan="2"><sub>A <code>purpose</code> seeds a central <b>landmark</b> (★) the main roads focus on — citadel, temple, mine, … — and biases the ward mix toward what the town is for.</sub></td>
|
|
105
|
+
</tr>
|
|
106
|
+
<tr>
|
|
107
|
+
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/terrain-town.png" alt="a coastal town whose outline is carved by the world's shoreline"><br><sub><code>terrain=…</code> (terrain-shaped)</sub></td>
|
|
108
|
+
<td colspan="2" align="left"><sub>Pass a <code>terrain</code> field and the town <b>takes the shape of its ground</b> — grown out from the core until it meets water or ground too high to build. A coast hugs its shore, land between lakes grows fingers, open flats spread round. <code>world_terrain_field(world, region)</code> derives the field from a generated map, so a town seated on a real coastline follows that coastline.</sub></td>
|
|
109
|
+
</tr>
|
|
110
|
+
<tr>
|
|
103
111
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/roads.png" alt="settlements linked by terrain-routed roads"><br><sub><code>RegionalRoadGenerator</code></sub></td>
|
|
104
112
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/regions.png" alt="land partitioned into named territories"><br><sub><code>RegionGenerator</code></sub></td>
|
|
105
113
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/template-isthmus.png" alt="isthmus heightmap template"><br><sub><code>template="isthmus"</code></sub></td>
|
|
@@ -223,14 +231,24 @@ town = SettlementGenerator(SeededRNG(7)).generate(90, 90)
|
|
|
223
231
|
port = SettlementGenerator(SeededRNG(5)).generate(90, 90, SettlementConfig.preset("port"))
|
|
224
232
|
citadel = SettlementGenerator(SeededRNG(3)).generate(90, 90, SettlementConfig.preset("citadel"))
|
|
225
233
|
open("town.svg", "w").write(SettlementSVGRenderer().render(town))
|
|
234
|
+
|
|
235
|
+
# Let the town take the shape of real terrain: seat it on a stretch of a world.
|
|
236
|
+
from mapwright import RegionalTerrainGenerator, world_terrain_field
|
|
237
|
+
|
|
238
|
+
world = RegionalTerrainGenerator(SeededRNG(103)).generate(64, 44)
|
|
239
|
+
field = world_terrain_field(world, region=(43, 14, 16, 16)) # a 16×16 world patch
|
|
240
|
+
coastal_town = SettlementGenerator(SeededRNG(5)).generate(90, 90, terrain=field)
|
|
226
241
|
```
|
|
227
242
|
|
|
228
243
|
Settlement presets: `hamlet`, `village`, `town`, `city`, `port`, `citadel`,
|
|
229
|
-
`shantytown`, `metropolis`, `grid_city
|
|
230
|
-
(
|
|
231
|
-
mix, and block regularity. The
|
|
232
|
-
|
|
233
|
-
aligned to the town's long axis,
|
|
244
|
+
`shantytown`, `metropolis`, `grid_city`, `fortress_town`, `pilgrimage_site`,
|
|
245
|
+
`mining_camp`. The `wealth` (poor ⇄ rich) and `era` (ancient ⇄ modern) knobs drive
|
|
246
|
+
the shanty↔skyscraper axis — plot size, ward-kind mix, and block regularity. The
|
|
247
|
+
`layout` knob picks the street pattern: `"organic"` (winding ward-to-ward roads,
|
|
248
|
+
the default) or `"grid"` (a geometric street grid aligned to the town's long axis,
|
|
249
|
+
with grid-aligned lots). The `purpose` knob (`"fortress"`, `"religious"`,
|
|
250
|
+
`"extraction"`, …) gives the town a central **landmark** the main roads focus on
|
|
251
|
+
and biases its ward mix toward what it's for.
|
|
234
252
|
|
|
235
253
|
## What's inside
|
|
236
254
|
|
|
@@ -248,7 +266,7 @@ aligned to the town's long axis, with grid-aligned lots).
|
|
|
248
266
|
| `RegionGenerator` | Partitions land into named factions/territories: spread capitals seed a flood fill over the land graph (sea divides them); each `Region` is Markov-named. |
|
|
249
267
|
| `DungeonGenerator` | BSP-partitioned rooms + minimum-spanning-tree corridors → rooms, corridor cells, and a walkable grid (with `Dungeon.ascii()`). |
|
|
250
268
|
| `DungeonSVGRenderer` | Renders a `Dungeon` to SVG: walls, carved floor, room outlines, optional tile grid and per-room labels. Takes a `theme=`. |
|
|
251
|
-
| `SettlementGenerator` |
|
|
269
|
+
| `SettlementGenerator` | Town layout: an organic (concave, lobed) footprint divided into named Voronoi **wards** (market, docks, …), each subdivided into building **lots**, a **street** network (`layout="organic"` → MST over ward adjacency + gate-to-hub roads; `layout="grid"` → a geometric street grid + grid-aligned lots), an optional defensive **wall** (towers + gate gaps, opened at the harbour when coastal), an optional **`purpose`** that places a central **landmark** (citadel/temple/mine/…) the main roads focus on, and optional coastline. Pass an optional **`terrain`** field (or `world_terrain_field(world, region)`) to make the footprint **take the shape of its ground** — hugging shores, fingering between lakes, spreading round on flats. |
|
|
252
270
|
| `SettlementSVGRenderer` | Renders a `Settlement` to SVG: sea, footprint, kind-coloured wards, building lots, streets, wall with towers/gatehouses, labels. Takes a `theme=`. |
|
|
253
271
|
|
|
254
272
|
Everything is neutral: `RegionalTerrainGenerator` returns a `TerrainResult` of `TerrainCell`s
|
|
@@ -73,6 +73,14 @@ produced by [`examples/gallery.py`](examples/gallery.py):
|
|
|
73
73
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/grid-city.png" alt="planned town with a geometric street grid"><br><sub><code>layout="grid"</code> (grid_city)</sub></td>
|
|
74
74
|
</tr>
|
|
75
75
|
<tr>
|
|
76
|
+
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/fortress-town.png" alt="walled fortress town with a central citadel landmark"><br><sub><code>purpose="fortress"</code> (fortress_town)</sub></td>
|
|
77
|
+
<td align="center" colspan="2"><sub>A <code>purpose</code> seeds a central <b>landmark</b> (★) the main roads focus on — citadel, temple, mine, … — and biases the ward mix toward what the town is for.</sub></td>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/terrain-town.png" alt="a coastal town whose outline is carved by the world's shoreline"><br><sub><code>terrain=…</code> (terrain-shaped)</sub></td>
|
|
81
|
+
<td colspan="2" align="left"><sub>Pass a <code>terrain</code> field and the town <b>takes the shape of its ground</b> — grown out from the core until it meets water or ground too high to build. A coast hugs its shore, land between lakes grows fingers, open flats spread round. <code>world_terrain_field(world, region)</code> derives the field from a generated map, so a town seated on a real coastline follows that coastline.</sub></td>
|
|
82
|
+
</tr>
|
|
83
|
+
<tr>
|
|
76
84
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/roads.png" alt="settlements linked by terrain-routed roads"><br><sub><code>RegionalRoadGenerator</code></sub></td>
|
|
77
85
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/regions.png" alt="land partitioned into named territories"><br><sub><code>RegionGenerator</code></sub></td>
|
|
78
86
|
<td align="center"><img width="240" src="https://raw.githubusercontent.com/sligara7/mapwright/main/docs/gallery/template-isthmus.png" alt="isthmus heightmap template"><br><sub><code>template="isthmus"</code></sub></td>
|
|
@@ -196,14 +204,24 @@ town = SettlementGenerator(SeededRNG(7)).generate(90, 90)
|
|
|
196
204
|
port = SettlementGenerator(SeededRNG(5)).generate(90, 90, SettlementConfig.preset("port"))
|
|
197
205
|
citadel = SettlementGenerator(SeededRNG(3)).generate(90, 90, SettlementConfig.preset("citadel"))
|
|
198
206
|
open("town.svg", "w").write(SettlementSVGRenderer().render(town))
|
|
207
|
+
|
|
208
|
+
# Let the town take the shape of real terrain: seat it on a stretch of a world.
|
|
209
|
+
from mapwright import RegionalTerrainGenerator, world_terrain_field
|
|
210
|
+
|
|
211
|
+
world = RegionalTerrainGenerator(SeededRNG(103)).generate(64, 44)
|
|
212
|
+
field = world_terrain_field(world, region=(43, 14, 16, 16)) # a 16×16 world patch
|
|
213
|
+
coastal_town = SettlementGenerator(SeededRNG(5)).generate(90, 90, terrain=field)
|
|
199
214
|
```
|
|
200
215
|
|
|
201
216
|
Settlement presets: `hamlet`, `village`, `town`, `city`, `port`, `citadel`,
|
|
202
|
-
`shantytown`, `metropolis`, `grid_city
|
|
203
|
-
(
|
|
204
|
-
mix, and block regularity. The
|
|
205
|
-
|
|
206
|
-
aligned to the town's long axis,
|
|
217
|
+
`shantytown`, `metropolis`, `grid_city`, `fortress_town`, `pilgrimage_site`,
|
|
218
|
+
`mining_camp`. The `wealth` (poor ⇄ rich) and `era` (ancient ⇄ modern) knobs drive
|
|
219
|
+
the shanty↔skyscraper axis — plot size, ward-kind mix, and block regularity. The
|
|
220
|
+
`layout` knob picks the street pattern: `"organic"` (winding ward-to-ward roads,
|
|
221
|
+
the default) or `"grid"` (a geometric street grid aligned to the town's long axis,
|
|
222
|
+
with grid-aligned lots). The `purpose` knob (`"fortress"`, `"religious"`,
|
|
223
|
+
`"extraction"`, …) gives the town a central **landmark** the main roads focus on
|
|
224
|
+
and biases its ward mix toward what it's for.
|
|
207
225
|
|
|
208
226
|
## What's inside
|
|
209
227
|
|
|
@@ -221,7 +239,7 @@ aligned to the town's long axis, with grid-aligned lots).
|
|
|
221
239
|
| `RegionGenerator` | Partitions land into named factions/territories: spread capitals seed a flood fill over the land graph (sea divides them); each `Region` is Markov-named. |
|
|
222
240
|
| `DungeonGenerator` | BSP-partitioned rooms + minimum-spanning-tree corridors → rooms, corridor cells, and a walkable grid (with `Dungeon.ascii()`). |
|
|
223
241
|
| `DungeonSVGRenderer` | Renders a `Dungeon` to SVG: walls, carved floor, room outlines, optional tile grid and per-room labels. Takes a `theme=`. |
|
|
224
|
-
| `SettlementGenerator` |
|
|
242
|
+
| `SettlementGenerator` | Town layout: an organic (concave, lobed) footprint divided into named Voronoi **wards** (market, docks, …), each subdivided into building **lots**, a **street** network (`layout="organic"` → MST over ward adjacency + gate-to-hub roads; `layout="grid"` → a geometric street grid + grid-aligned lots), an optional defensive **wall** (towers + gate gaps, opened at the harbour when coastal), an optional **`purpose`** that places a central **landmark** (citadel/temple/mine/…) the main roads focus on, and optional coastline. Pass an optional **`terrain`** field (or `world_terrain_field(world, region)`) to make the footprint **take the shape of its ground** — hugging shores, fingering between lakes, spreading round on flats. |
|
|
225
243
|
| `SettlementSVGRenderer` | Renders a `Settlement` to SVG: sea, footprint, kind-coloured wards, building lots, streets, wall with towers/gatehouses, labels. Takes a `theme=`. |
|
|
226
244
|
|
|
227
245
|
Everything is neutral: `RegionalTerrainGenerator` returns a `TerrainResult` of `TerrainCell`s
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="576" height="396" viewBox="0 0 576 396"><rect width="576" height="396" fill="#183e56"/><g stroke-linejoin="round"><polygon points="0.0,0.0 13.2,0.0 16.3,18.3 0.0,27.9" fill="#d5c398" stroke="#d5c398" stroke-width="0.5"/><polygon points="13.2,0.0 41.2,0.0 41.5,8.2 24.3,21.4 16.3,18.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="41.2,0.0 70.8,0.0 66.9,20.2 51.0,19.4 41.5,8.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="70.8,0.0 89.5,0.0 95.2,15.0 90.7,21.5 66.7,21.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="89.5,0.0 117.5,0.0 111.8,15.0 95.2,15.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="117.5,0.0 133.2,0.0 139.4,21.5 116.3,21.5 111.8,15.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="133.2,0.0 157.1,0.0 154.5,18.1 139.3,21.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="157.1,0.0 177.1,0.0 175.9,19.0 153.5,25.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="177.1,0.0 196.3,0.0 198.2,17.1 183.9,24.0 175.9,19.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="196.3,0.0 220.0,0.0 221.2,20.9 210.5,23.6 198.2,17.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="220.0,0.0 245.4,0.0 243.9,14.4 221.2,20.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="245.4,0.0 267.8,0.0 267.8,21.4 253.7,24.2 243.9,14.4" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="267.8,0.0 290.2,0.0 293.3,14.2 287.5,21.5 272.2,24.0 267.8,21.4" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="290.2,0.0 316.8,0.0 311.7,16.3 293.3,14.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="316.8,0.0 335.7,0.0 335.0,21.4 314.5,20.3 311.7,16.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="335.7,0.0 350.5,0.0 357.6,15.9 353.4,20.8 335.0,21.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="350.5,0.0 374.5,0.0 374.0,14.0 357.6,15.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="374.5,0.0 398.2,0.0 398.2,13.9 395.3,16.3 374.1,13.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="398.2,0.0 420.2,0.0 415.8,17.5 398.2,14.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="420.2,0.0 438.8,0.0 438.8,20.2 418.0,20.2 415.8,17.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="438.8,0.0 463.7,0.0 466.1,14.0 464.0,17.5 442.6,24.1 438.8,20.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="463.7,0.0 494.1,0.0 490.2,15.6 466.1,14.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="494.1,0.0 515.3,0.0 516.2,17.3 508.7,24.0 494.4,22.8 490.2,15.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.3,0.0 535.5,0.0 535.5,21.6 516.2,17.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="535.5,0.0 553.5,0.0 553.5,21.0 547.8,24.2 535.5,21.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="553.5,0.0 576.0,0.0 576.0,23.9 553.5,21.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,33.3 0.0,27.9 16.3,18.3 24.3,21.4 29.9,35.0 21.9,45.5" fill="#cfbd94" stroke="#cfbd94" stroke-width="0.5"/><polygon points="29.9,35.0 24.3,21.4 41.5,8.2 51.0,19.4 42.8,35.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="42.8,35.9 51.0,19.4 68.0,20.2 68.6,38.4 49.1,44.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="68.6,37.8 68.0,21.5 90.7,21.5 93.6,36.1 86.9,41.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="93.6,36.1 90.7,21.5 95.2,15.0 111.8,15.0 116.3,21.5 113.3,36.7 106.8,41.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="113.3,36.7 116.3,21.5 138.9,21.5 137.8,45.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="137.8,45.0 138.9,21.1 161.6,16.7 161.9,40.4 155.6,47.5 147.5,49.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="161.9,40.4 161.7,22.8 175.9,19.0 183.9,24.0 185.4,42.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="185.1,39.8 183.9,24.0 198.2,17.1 210.5,23.6 201.5,45.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="202.2,44.3 210.5,23.6 221.1,20.9 230.4,39.0 220.7,52.7" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="230.4,39.0 221.1,20.8 243.9,14.4 253.7,24.2 246.5,40.9" fill="#edf7e3" stroke="#edf7e3" stroke-width="0.5"/><polygon points="246.5,40.9 253.7,24.2 267.8,21.4 272.2,24.0 273.3,45.7 266.1,51.3 248.8,44.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="273.3,45.7 272.2,24.0 287.5,21.5 297.3,41.1 290.5,49.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="297.3,41.1 287.5,21.5 293.3,14.2 311.7,16.3 314.5,20.3 310.7,39.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="310.5,40.5 314.5,20.3 335.2,21.4 335.2,40.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="335.2,42.8 335.2,21.6 353.4,20.8 358.9,42.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="357.9,38.8 353.4,20.8 357.6,15.9 373.7,14.1 375.1,36.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="373.6,13.6 395.3,16.3 393.8,41.1 380.4,40.6 375.1,36.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="393.7,42.2 395.3,16.3 398.2,14.0 415.8,17.5 418.1,20.2 414.9,36.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="414.9,36.0 418.1,20.2 438.8,20.2 442.6,24.1 442.4,31.9 425.3,45.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="442.4,31.9 442.6,24.1 464.0,17.5 470.2,37.3 464.8,43.6 452.4,44.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="470.2,37.3 464.0,17.5 466.1,14.0 490.2,15.6 494.4,22.8 487.5,38.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="494.4,22.8 508.7,24.0 515.8,41.3 512.6,47.3 491.2,46.0 487.5,38.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.8,41.3 508.7,24.0 516.2,17.3 534.7,21.4 527.3,38.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="534.9,20.9 547.8,24.2 548.8,41.7 537.6,47.3 527.3,38.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,23.9 576.0,44.6 555.8,46.3 548.8,41.7 547.8,24.2 553.5,21.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,58.5 0.0,33.3 21.9,45.5 21.9,58.5" fill="#d7c599" stroke="#d7c599" stroke-width="0.5"/><polygon points="21.9,59.4 21.9,45.5 29.9,35.0 42.8,35.9 49.1,44.2 47.6,57.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="47.3,60.2 49.1,44.2 68.1,38.5 71.7,64.0" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="70.8,57.4 68.0,37.7 86.9,41.1 85.2,60.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="85.2,60.8 86.9,41.1 93.6,36.1 106.8,41.4 107.3,60.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="107.3,59.4 106.8,41.4 113.3,36.7 136.9,45.4 123.9,61.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="137.3,44.8 147.5,49.3 147.5,74.1 131.7,78.8 123.9,61.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="155.6,47.5 161.9,40.4 181.4,42.3 176.4,65.4 172.6,65.7" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="182.2,38.7 199.8,45.3 195.2,65.1 176.7,63.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="200.2,43.4 220.7,52.7 224.1,68.9 195.0,65.9" fill="#61a05b" stroke="#61a05b" stroke-width="0.5"/><polygon points="222.8,62.9 220.7,52.7 230.4,39.0 246.5,40.9 248.8,44.9 240.0,68.3" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="248.8,44.9 266.1,51.3 266.6,63.5 258.8,70.9 241.4,64.5" fill="#6b8e5a" stroke="#6b8e5a" stroke-width="0.5"/><polygon points="266.6,63.5 266.1,51.3 273.3,45.7 290.5,49.1 292.6,61.3 283.2,71.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="292.6,61.3 290.5,49.1 297.3,41.1 311.4,39.6 316.6,61.7 311.3,68.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="316.6,61.7 311.7,40.5 337.5,40.5 333.6,59.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="333.6,59.8 337.1,42.8 354.6,42.8 358.7,58.5 353.4,66.1 340.7,67.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="358.7,58.5 353.7,39.3 375.1,36.6 380.4,40.6 372.5,58.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="372.5,58.5 380.4,40.6 394.6,41.1 396.8,49.8 392.6,61.3 379.7,67.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="396.8,49.8 394.8,41.9 414.9,36.0 425.3,45.6 426.2,56.6 416.8,61.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="426.2,56.6 425.3,45.6 442.4,31.9 452.4,44.5 446.2,57.6 434.4,61.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="446.2,57.6 452.4,44.5 464.8,43.6 471.4,62.3 464.2,72.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="471.4,62.3 464.8,43.6 470.2,37.3 487.5,38.2 491.2,46.0 487.7,59.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="487.7,59.1 491.2,46.0 512.6,47.3 514.1,52.9 497.0,70.0 496.2,70.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="514.1,52.9 512.6,47.3 515.8,41.3 527.3,38.7 537.6,47.3 534.9,59.3 525.3,64.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="534.9,59.3 537.6,47.3 548.8,41.7 555.8,46.3 551.3,67.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,44.6 576.0,59.6 551.7,65.7 555.8,46.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,81.3 0.0,58.5 22.5,58.5 22.5,78.8" fill="#d8c69b" stroke="#d8c69b" stroke-width="0.5"/><polygon points="22.5,73.2 22.5,59.3 50.4,57.7 45.4,81.1 45.1,81.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="45.4,81.1 49.8,60.6 62.9,62.6 70.6,88.0" fill="#decc9f" stroke="#decc9f" stroke-width="0.5"/><polygon points="69.2,83.4 60.7,55.3 85.4,60.6 82.8,79.0" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="82.8,79.0 85.4,60.8 105.8,60.8 104.7,81.0 92.9,85.7" fill="#f0dcab" stroke="#f0dcab" stroke-width="0.5"/><polygon points="104.7,81.0 105.9,59.2 123.9,61.9 131.7,78.8 129.3,83.3 112.8,85.6" fill="#f9e5b2" stroke="#f9e5b2" stroke-width="0.5"/><polygon points="147.5,74.1 147.5,49.3 155.6,47.5 172.6,65.7 157.2,78.8" fill="#64a45e" stroke="#64a45e" stroke-width="0.5"/><polygon points="159.0,85.2 157.2,78.8 172.6,65.7 173.8,65.6 184.6,89.3 183.5,91.3" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="184.6,89.3 172.8,63.5 195.9,65.2 195.4,82.7" fill="#63a25c" stroke="#63a25c" stroke-width="0.5"/><polygon points="195.4,82.7 195.9,66.0 217.5,68.3 214.4,89.9" fill="#62a15c" stroke="#62a15c" stroke-width="0.5"/><polygon points="218.5,61.6 236.2,67.1 238.2,85.5 234.8,90.0 228.8,91.6 214.9,86.8" fill="#609e5a" stroke="#609e5a" stroke-width="0.5"/><polygon points="235.7,62.4 258.8,70.9 258.8,85.5 238.2,85.5" fill="#88b471" stroke="#88b471" stroke-width="0.5"/><polygon points="258.8,85.9 258.8,70.9 266.6,63.5 283.2,71.9 284.1,83.9 272.2,88.6" fill="#467241" stroke="#467241" stroke-width="0.5"/><polygon points="284.2,85.2 283.2,71.9 292.6,61.3 311.3,68.1 312.0,75.3 302.4,86.4" fill="#477543" stroke="#477543" stroke-width="0.5"/><polygon points="312.0,75.3 311.3,68.1 316.6,61.7 333.6,59.8 340.7,67.6 335.6,83.3 328.7,86.1" fill="#446f3f" stroke="#446f3f" stroke-width="0.5"/><polygon points="335.6,83.3 340.7,67.6 353.4,66.1 361.5,79.0 353.7,95.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="361.5,79.0 353.4,66.1 358.7,58.5 372.5,58.5 379.7,67.8 378.3,77.5" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="378.1,78.8 379.7,67.8 392.6,61.3 406.0,78.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="405.2,77.8 392.6,61.3 396.8,49.8 416.8,61.5 409.5,76.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="409.5,76.6 416.8,61.5 426.2,56.6 434.4,61.3 436.9,83.9 425.2,87.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="436.9,83.9 434.4,61.3 446.2,57.6 464.2,72.3 464.2,73.4 442.7,86.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="473.7,85.3 464.2,73.4 464.2,72.3 471.4,62.3 487.7,59.1 496.2,70.0 488.6,82.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="497.0,70.0 514.1,52.9 525.3,64.0 525.2,64.2 506.9,75.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="506.9,75.2 525.2,64.2 530.8,89.1 512.1,86.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="530.6,88.1 525.2,64.2 525.3,64.0 534.9,59.3 550.4,67.3 551.5,77.1 532.7,88.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,59.6 576.0,79.0 551.6,78.2 550.2,66.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,101.3 0.0,81.3 18.4,79.2 23.2,97.5 19.8,102.3" fill="#52874d" stroke="#52874d" stroke-width="0.5"/><polygon points="23.2,97.5 16.2,70.9 45.1,81.3 39.3,96.2" fill="#dcca9d" stroke="#dcca9d" stroke-width="0.5"/><polygon points="39.3,96.2 45.1,81.3 45.4,81.1 66.4,86.8 66.6,92.1 46.6,105.8" fill="#dfcd9f" stroke="#dfcd9f" stroke-width="0.5"/><polygon points="66.6,92.1 66.3,84.3 82.8,79.0 92.9,85.7 91.6,101.4 87.1,106.0 72.7,102.6" fill="#e2cfa2" stroke="#e2cfa2" stroke-width="0.5"/><polygon points="91.6,101.4 92.9,85.7 104.7,81.0 112.8,85.6 110.1,104.3" fill="#558c50" stroke="#558c50" stroke-width="0.5"/><polygon points="109.1,111.4 112.8,85.6 129.3,83.3 132.5,93.8" fill="#5d9a57" stroke="#5d9a57" stroke-width="0.5"/><polygon points="132.5,93.8 129.3,83.3 131.7,78.8 147.5,74.1 157.2,78.8 159.0,85.2 154.1,103.4 150.7,106.2 139.8,102.1" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="154.1,103.4 159.0,85.2 183.5,91.3 184.0,107.5" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="183.9,104.5 183.5,91.3 184.6,89.3 195.4,82.7 211.4,88.8 206.8,104.5" fill="#62a25c" stroke="#62a25c" stroke-width="0.5"/><polygon points="211.3,111.5 206.8,104.5 212.2,85.9 228.8,91.6 225.2,110.9" fill="#c3bc7a" stroke="#c3bc7a" stroke-width="0.5"/><polygon points="234.8,90.0 238.3,85.5 259.3,85.5 254.4,105.3 244.8,105.0" fill="#9ed184" stroke="#9ed184" stroke-width="0.5"/><polygon points="254.4,105.3 259.2,86.0 272.2,88.6 272.2,110.0 264.5,116.6" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="272.2,110.0 272.2,88.7 285.9,83.2 288.1,107.6" fill="#b6af72" stroke="#b6af72" stroke-width="0.5"/><polygon points="288.1,107.6 286.1,85.4 302.4,86.4 309.5,104.7 292.3,110.3" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="309.1,103.7 302.4,86.4 312.0,75.3 328.7,86.1 323.2,101.7" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="323.2,101.7 328.7,86.1 335.6,83.3 353.7,95.9 355.3,101.5 331.9,110.9" fill="#416a3d" stroke="#416a3d" stroke-width="0.5"/><polygon points="354.8,99.6 353.7,95.9 361.5,79.0 379.0,77.5 381.7,98.1" fill="#5a9454" stroke="#5a9454" stroke-width="0.5"/><polygon points="381.7,97.6 379.2,78.8 404.2,78.8 399.2,95.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="399.2,95.1 404.5,78.0 409.5,76.6 425.2,87.8 418.4,105.3 408.3,105.1" fill="#5c9756" stroke="#5c9756" stroke-width="0.5"/><polygon points="418.4,105.3 425.2,87.8 436.9,83.9 442.7,86.6 448.6,101.5 437.4,112.7 420.8,108.3" fill="#53894e" stroke="#53894e" stroke-width="0.5"/><polygon points="448.6,101.5 442.7,86.6 464.2,73.4 473.7,85.3 471.0,101.5 463.5,106.5" fill="#395d35" stroke="#395d35" stroke-width="0.5"/><polygon points="471.0,101.5 473.7,85.3 488.6,82.3 499.6,97.9 484.9,107.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="488.6,82.3 496.2,70.0 497.0,70.0 506.9,75.2 512.1,86.4 500.0,98.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="511.1,111.4 500.5,98.0 512.1,86.4 529.4,88.9 524.6,105.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="532.7,88.1 552.8,76.3 559.1,101.7 551.9,106.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,79.0 576.0,101.7 559.1,101.7 553.3,78.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,123.1 0.0,101.3 19.8,102.3 23.3,121.6" fill="#548a4f" stroke="#548a4f" stroke-width="0.5"/><polygon points="23.3,121.5 19.8,102.3 23.2,97.5 39.3,96.2 46.6,105.8 47.4,112.4 40.3,121.5" fill="#4f834a" stroke="#4f834a" stroke-width="0.5"/><polygon points="47.4,112.4 46.6,105.8 66.6,92.1 72.7,102.6 63.7,116.4" fill="#6e7f4c" stroke="#6e7f4c" stroke-width="0.5"/><polygon points="63.7,116.4 72.7,102.6 87.1,106.0 88.6,116.2 84.7,124.0 69.6,128.9" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="88.6,116.2 87.1,106.0 91.6,101.4 112.5,104.7 116.8,123.2" fill="#748550" stroke="#748550" stroke-width="0.5"/><polygon points="115.9,119.5 113.3,108.2 132.5,93.8 139.8,102.1 119.6,120.7" fill="#609f5a" stroke="#609f5a" stroke-width="0.5"/><polygon points="119.6,120.7 139.8,102.1 150.7,106.2 150.8,118.0 129.0,129.5" fill="#64a45e" stroke="#64a45e" stroke-width="0.5"/><polygon points="150.8,118.0 150.7,106.2 154.1,103.4 182.1,107.2 182.4,119.2 173.0,128.6 157.7,127.0" fill="#609f5a" stroke="#609f5a" stroke-width="0.5"/><polygon points="182.4,119.2 182.0,104.5 206.8,104.5 211.3,111.5 207.7,122.7 199.0,128.5" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="207.7,122.7 211.3,111.5 231.9,110.6 234.7,123.2 221.3,131.8" fill="#a8a269" stroke="#a8a269" stroke-width="0.5"/><polygon points="221.7,129.3 228.8,91.6 234.8,90.0 244.8,105.0" fill="#a8a269" stroke="#a8a269" stroke-width="0.5"/><polygon points="234.7,123.2 233.3,117.1 244.8,105.0 254.4,105.3 264.5,116.6 264.1,121.4 240.5,127.7" fill="#93c27a" stroke="#93c27a" stroke-width="0.5"/><polygon points="264.3,119.2 264.5,116.6 272.3,110.0 288.1,107.6 292.3,110.3 292.0,131.4 285.9,131.9" fill="#b9b274" stroke="#b9b274" stroke-width="0.5"/><polygon points="292.0,131.0 292.3,110.3 307.9,105.3 313.8,131.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="312.9,127.8 307.6,103.9 323.2,101.7 331.9,110.9 331.3,120.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="331.3,120.9 331.9,110.9 354.0,102.1 359.6,120.4 349.9,131.1 339.2,130.1" fill="#457140" stroke="#457140" stroke-width="0.5"/><polygon points="359.6,120.4 353.2,99.7 381.3,98.2 383.0,114.0 372.1,123.1" fill="#53894e" stroke="#53894e" stroke-width="0.5"/><polygon points="383.0,114.0 381.2,97.7 399.2,95.1 408.3,105.1 396.8,119.9" fill="#599354" stroke="#599354" stroke-width="0.5"/><polygon points="396.8,119.9 408.3,105.1 418.4,105.3 420.8,108.3 417.6,128.6 411.8,132.2 399.0,126.0" fill="#50834b" stroke="#50834b" stroke-width="0.5"/><polygon points="420.8,108.3 437.4,112.7 441.8,134.6 417.6,128.6" fill="#436f3f" stroke="#436f3f" stroke-width="0.5"/><polygon points="440.3,126.8 437.4,112.7 448.6,101.5 463.5,106.5 463.5,118.1 453.5,129.4" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="463.5,118.1 463.5,106.5 471.0,101.5 484.9,107.1 489.5,123.7 481.5,131.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="489.5,123.7 484.9,107.1 500.1,97.6 511.1,111.4 507.8,124.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="507.8,124.1 511.1,111.4 524.6,105.6 538.5,119.1 532.2,130.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="538.5,119.1 524.6,105.6 529.7,88.1 532.7,88.1 551.9,106.1 547.7,116.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,101.7 576.0,127.8 558.8,127.2 547.7,116.0 551.9,106.1 559.1,101.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,142.3 0.0,123.1 23.2,121.6 20.7,144.6" fill="#52874d" stroke="#52874d" stroke-width="0.5"/><polygon points="20.6,145.2 23.2,121.5 40.3,121.5 46.8,135.4 39.1,146.8" fill="#4f824a" stroke="#4f824a" stroke-width="0.5"/><polygon points="46.8,135.4 40.3,121.5 47.4,112.4 63.7,116.4 69.6,128.9 65.8,137.8" fill="#50844b" stroke="#50844b" stroke-width="0.5"/><polygon points="65.2,139.1 69.6,128.9 84.7,124.0 96.5,140.5 87.0,150.0" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="96.5,140.5 84.7,124.0 88.6,116.2 111.7,122.0 101.4,140.0" fill="#788a53" stroke="#788a53" stroke-width="0.5"/><polygon points="101.4,140.0 113.6,118.7 119.6,120.7 129.0,129.5 130.3,138.6 113.0,149.7" fill="#599354" stroke="#599354" stroke-width="0.5"/><polygon points="130.3,138.6 129.0,129.5 150.8,118.0 157.7,127.0 150.1,145.8 141.7,148.5" fill="#609e5a" stroke="#609e5a" stroke-width="0.5"/><polygon points="150.1,145.8 157.7,127.0 173.0,128.6 176.5,143.4 160.2,151.3" fill="#5f9c59" stroke="#5f9c59" stroke-width="0.5"/><polygon points="176.5,143.4 173.0,128.6 182.4,119.2 199.0,128.5 199.0,139.8 190.5,149.5 185.1,150.0" fill="#bab374" stroke="#bab374" stroke-width="0.5"/><polygon points="199.0,139.8 199.0,128.5 207.7,122.7 221.3,131.8 219.9,147.4" fill="#bab375" stroke="#bab375" stroke-width="0.5"/><polygon points="219.8,148.3 221.3,131.8 234.7,123.2 240.5,127.7 242.0,146.0 227.0,150.7" fill="#908b5a" stroke="#908b5a" stroke-width="0.5"/><polygon points="242.0,146.0 240.5,127.7 262.1,122.0 262.1,139.7 246.5,148.6" fill="#b0aa6e" stroke="#b0aa6e" stroke-width="0.5"/><polygon points="262.1,117.9 285.9,131.9 272.4,147.0 262.1,139.7" fill="#bfb878" stroke="#bfb878" stroke-width="0.5"/><polygon points="294.2,156.7 291.5,131.0 310.4,131.7 314.8,141.8 306.3,155.3" fill="#6f6961" stroke="#6f6961" stroke-width="0.5"/><polygon points="314.8,141.8 309.3,129.2 331.3,120.9 339.2,130.1 328.9,146.4" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="333.9,157.2 328.9,146.4 339.2,130.1 349.9,131.1 355.2,144.3 342.9,156.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="355.2,144.3 349.9,131.1 359.6,120.4 372.1,123.1 378.4,140.7 371.6,149.2 368.8,149.7" fill="#487744" stroke="#487744" stroke-width="0.5"/><polygon points="378.4,140.7 372.1,123.1 383.0,114.0 396.8,119.9 399.0,126.0 387.7,140.2" fill="#578f52" stroke="#578f52" stroke-width="0.5"/><polygon points="399.0,126.0 411.8,132.2 411.8,147.5 401.8,154.3 387.7,140.2" fill="#487743" stroke="#487743" stroke-width="0.5"/><polygon points="411.7,147.5 411.7,132.2 417.6,128.6 434.2,132.8 434.2,143.9 423.4,151.8" fill="#395e36" stroke="#395e36" stroke-width="0.5"/><polygon points="434.2,143.9 434.2,125.5 453.5,129.4 458.8,143.0 455.5,150.4 446.3,151.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="458.8,143.0 453.5,129.4 463.5,118.1 481.5,131.6 480.4,138.5" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="480.4,138.5 481.5,131.6 489.5,123.7 507.8,124.2 507.4,146.8 488.4,152.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="507.8,124.1 532.2,130.2 534.2,141.7 516.2,152.0 507.4,146.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="534.2,141.7 532.2,130.2 538.5,119.1 547.7,116.0 558.8,127.2 550.1,144.6 542.2,146.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,127.8 576.0,142.5 558.0,148.5 550.1,144.6 558.8,127.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,166.7 0.0,142.3 21.3,144.6 18.4,164.8" fill="#4e8049" stroke="#4e8049" stroke-width="0.5"/><polygon points="17.1,173.8 21.2,145.3 39.1,146.8 44.2,157.5" fill="#4d7f48" stroke="#4d7f48" stroke-width="0.5"/><polygon points="44.2,157.5 39.1,146.8 46.8,135.4 67.1,138.0 60.6,157.9 49.4,160.9" fill="#50834b" stroke="#50834b" stroke-width="0.5"/><polygon points="60.6,157.9 66.5,139.8 87.0,150.0 87.0,159.8 70.9,167.2" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="87.0,159.8 87.0,150.0 96.5,140.5 101.4,140.0 113.0,149.7 113.8,162.8 96.2,168.6" fill="#788a53" stroke="#788a53" stroke-width="0.5"/><polygon points="113.8,162.8 113.0,149.7 130.3,138.6 141.7,148.5 140.3,153.5 120.9,168.1" fill="#609e5a" stroke="#609e5a" stroke-width="0.5"/><polygon points="140.3,153.5 141.7,148.5 150.1,145.8 160.2,151.3 164.3,165.9 149.6,174.3" fill="#5a9454" stroke="#5a9454" stroke-width="0.5"/><polygon points="164.3,165.9 160.2,151.3 176.5,143.4 185.1,150.0 175.1,169.4" fill="#5c9857" stroke="#5c9857" stroke-width="0.5"/><polygon points="177.9,174.5 175.1,169.4 185.1,150.0 190.5,149.5 205.5,168.4 201.2,174.5" fill="#cac27e" stroke="#cac27e" stroke-width="0.5"/><polygon points="205.3,168.2 190.5,149.5 199.0,139.8 221.1,147.8" fill="#bdb676" stroke="#bdb676" stroke-width="0.5"/><polygon points="232.7,176.4 227.0,150.7 242.0,146.0 246.5,148.6 250.6,158.6 239.7,175.7" fill="#aea76c" stroke="#aea76c" stroke-width="0.5"/><polygon points="250.6,158.6 246.5,148.6 262.1,139.7 272.4,147.0 274.5,156.9 266.8,163.7" fill="#bcb576" stroke="#bcb576" stroke-width="0.5"/><polygon points="272.4,147.0 285.9,131.9 291.5,131.4 294.7,161.2 274.5,156.9" fill="#c7c07c" stroke="#c7c07c" stroke-width="0.5"/><polygon points="292.9,178.4 289.9,157.2 306.3,155.3 319.1,169.9 317.7,172.9" fill="#988f84" stroke="#988f84" stroke-width="0.5"/><polygon points="306.3,155.3 314.8,141.8 328.9,146.4 333.9,157.2 329.4,165.1 319.1,169.9" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="342.9,156.6 355.2,144.3 368.7,149.7 357.8,171.5" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="358.2,173.5 357.9,171.5 368.8,149.7 371.6,149.2 383.5,165.6 375.1,176.2" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="383.5,165.6 371.6,149.2 378.4,140.7 387.7,140.2 401.8,154.3 398.6,165.6" fill="#487643" stroke="#487643" stroke-width="0.5"/><polygon points="398.4,166.3 401.8,154.3 411.8,147.5 423.4,151.8 427.2,167.3 419.7,176.2" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="427.2,167.3 423.4,151.8 434.2,143.9 446.3,151.6 437.7,167.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="437.7,167.0 446.3,151.6 455.5,150.4 464.4,165.7 464.1,167.0 450.7,178.4" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="464.4,165.7 455.5,150.4 458.8,143.0 480.4,138.5 488.4,152.6 487.6,155.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="487.6,155.0 488.4,152.6 507.4,146.8 516.2,152.0 518.7,166.8 509.1,176.4 493.7,171.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="518.7,166.8 516.2,152.0 534.2,141.7 542.2,146.6 542.2,163.1 531.8,170.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="542.2,163.1 542.2,146.6 550.1,144.6 558.0,148.5 561.8,159.8 553.0,168.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,142.5 576.0,162.6 561.8,159.8 558.0,148.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,185.7 0.0,166.7 21.6,164.5 25.7,177.6 20.7,188.7" fill="#487744" stroke="#487744" stroke-width="0.5"/><polygon points="25.7,177.6 23.3,170.1 44.2,157.5 49.4,160.9 47.2,180.0" fill="#4c7e48" stroke="#4c7e48" stroke-width="0.5"/><polygon points="47.2,180.0 49.4,160.9 60.6,157.9 70.9,167.2 69.1,184.5 50.8,184.5" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="69.2,183.4 70.9,167.2 87.0,159.8 96.2,168.6 94.0,183.1 86.5,187.5" fill="#7f9258" stroke="#7f9258" stroke-width="0.5"/><polygon points="94.0,183.1 96.2,168.6 113.8,162.8 120.9,168.1 122.7,173.2 121.5,179.8 108.1,191.0" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="121.5,179.8 122.7,173.2 148.7,176.4 149.7,183.6 134.2,195.0" fill="#64a55e" stroke="#64a55e" stroke-width="0.5"/><polygon points="122.7,173.2 120.9,168.1 140.3,153.5 150.6,176.6" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="149.7,183.6 148.5,174.9 164.3,165.9 175.1,169.4 177.9,174.5 174.9,187.4 157.7,190.6" fill="#c9c17e" stroke="#c9c17e" stroke-width="0.5"/><polygon points="174.9,187.4 177.9,174.5 201.2,174.5 202.3,189.2 195.8,195.8 177.5,191.2" fill="#cbc37f" stroke="#cbc37f" stroke-width="0.5"/><polygon points="220.5,196.3 202.3,189.2 201.2,174.5 205.3,168.6 230.8,177.7 225.5,193.7" fill="#b2ac70" stroke="#b2ac70" stroke-width="0.5"/><polygon points="205.0,168.5 220.5,148.5 227.0,150.7 233.2,178.6" fill="#a7a168" stroke="#a7a168" stroke-width="0.5"/><polygon points="239.7,175.7 250.6,158.6 266.8,163.7 266.8,183.8 256.0,186.8" fill="#afa86d" stroke="#afa86d" stroke-width="0.5"/><polygon points="266.8,183.8 266.8,163.7 274.5,156.9 290.3,160.2 292.9,178.4 291.0,182.9 271.3,186.2" fill="#b7b173" stroke="#b7b173" stroke-width="0.5"/><polygon points="290.8,183.2 292.9,178.4 317.7,172.9 320.3,189.0 310.5,195.0" fill="#888177" stroke="#888177" stroke-width="0.5"/><polygon points="320.3,189.0 317.7,172.9 319.1,169.9 329.4,165.1 344.9,184.2 330.3,193.9" fill="#5f5952" stroke="#5f5952" stroke-width="0.5"/><polygon points="329.4,165.1 333.9,157.2 342.9,156.6 357.9,171.5 358.2,173.5 350.6,184.3 344.9,184.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="350.6,184.3 358.2,173.5 375.1,176.2 380.3,190.5 374.9,195.4 355.2,192.3" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="380.3,190.5 375.1,176.2 383.5,165.6 399.6,165.6 393.2,192.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="399.3,166.7 419.7,176.2 420.6,182.8 417.6,190.2 396.3,195.0 393.2,192.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="420.6,182.8 419.7,176.2 427.2,167.3 437.7,167.0 450.7,178.4 449.3,186.6 447.2,189.0" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="449.3,186.6 450.7,178.4 464.1,167.0 480.3,186.8 471.1,194.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="464.1,167.0 464.4,165.7 487.6,155.0 493.7,171.6 480.7,187.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="481.1,186.7 493.7,171.6 509.1,176.4 510.8,188.2 493.5,197.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="510.8,188.2 509.1,176.4 518.7,166.8 531.8,170.9 535.7,184.5 532.3,190.5 513.8,190.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="535.7,184.5 531.8,170.9 542.2,163.1 553.0,168.5 556.7,178.0 551.8,184.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,162.6 576.0,179.4 556.7,178.0 553.0,168.5 561.8,159.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,204.9 0.0,185.7 20.7,188.7 23.6,199.7 12.4,208.3" fill="#487643" stroke="#487643" stroke-width="0.5"/><polygon points="23.6,199.7 20.7,188.7 25.7,177.6 47.3,180.0 50.9,184.5 44.1,201.3 32.5,204.1" fill="#697848" stroke="#697848" stroke-width="0.5"/><polygon points="44.1,201.3 50.9,184.5 67.5,184.5 67.5,209.2 59.8,215.4" fill="#819459" stroke="#819459" stroke-width="0.5"/><polygon points="67.5,209.2 67.5,183.0 86.5,187.5 86.5,209.2" fill="#65a65e" stroke="#65a65e" stroke-width="0.5"/><polygon points="86.5,209.2 86.5,187.5 94.0,183.1 108.1,191.0 110.0,201.7 107.6,206.9 90.0,212.4" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="110.0,201.7 108.1,191.0 121.5,179.8 134.2,195.0 133.0,201.7" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="133.0,201.7 134.2,195.0 149.7,183.6 157.7,190.6 156.0,210.5 136.0,208.2" fill="#d3f49e" stroke="#d3f49e" stroke-width="0.5"/><polygon points="155.7,213.6 157.7,190.6 174.9,187.4 177.5,191.2 174.8,208.4" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="174.8,208.4 177.5,191.2 195.8,195.8 195.8,208.1 183.4,214.3" fill="#b5ae71" stroke="#b5ae71" stroke-width="0.5"/><polygon points="203.3,213.8 195.7,208.1 195.7,195.8 202.3,189.2 220.5,196.3 216.1,211.6" fill="#95905d" stroke="#95905d" stroke-width="0.5"/><polygon points="225.5,193.7 231.2,176.5 239.7,175.7 256.0,186.8 246.6,208.3" fill="#a29b65" stroke="#a29b65" stroke-width="0.5"/><polygon points="246.8,209.5 246.6,208.3 256.0,186.8 266.8,183.8 271.3,186.2 275.9,217.4" fill="#908a5a" stroke="#908a5a" stroke-width="0.5"/><polygon points="275.3,213.3 271.3,186.2 291.4,182.8 291.4,211.3" fill="#a09a64" stroke="#a09a64" stroke-width="0.5"/><polygon points="291.4,210.7 291.4,183.6 310.5,195.0 308.7,203.3" fill="#aaa46b" stroke="#aaa46b" stroke-width="0.5"/><polygon points="308.7,203.3 310.5,195.0 320.3,189.0 330.3,193.9 332.7,210.3 319.1,215.7" fill="#898177" stroke="#898177" stroke-width="0.5"/><polygon points="332.7,210.3 330.3,193.9 344.9,184.2 350.6,184.3 355.2,192.3 352.6,208.6 334.7,211.4" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="351.6,215.1 355.2,192.3 374.9,195.4 373.6,211.9" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="373.6,211.9 374.9,195.4 380.3,190.5 393.2,192.0 396.3,195.0 396.8,204.3 378.3,215.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="396.8,204.3 396.3,195.0 417.6,190.2 423.4,204.7 420.7,209.8 402.2,211.5" fill="#375a33" stroke="#375a33" stroke-width="0.5"/><polygon points="423.4,204.7 417.6,190.2 420.6,182.8 447.2,189.0 443.9,203.6" fill="#385b34" stroke="#385b34" stroke-width="0.5"/><polygon points="443.6,204.9 447.2,189.0 449.3,186.6 471.1,194.6 469.1,209.9 466.3,211.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="469.1,209.9 471.1,194.6 480.7,186.4 493.5,197.8 493.8,205.2 483.8,215.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="493.8,205.2 493.5,197.8 510.8,188.2 513.8,190.8 515.7,209.5 509.8,214.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.7,209.5 513.8,190.8 532.3,190.5 536.7,205.0 533.0,211.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="536.7,205.0 532.3,190.5 535.7,184.5 551.8,184.5 556.3,202.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,179.4 576.0,201.1 556.1,201.8 551.8,184.5 556.7,178.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,228.1 0.0,204.9 12.4,208.3 12.4,222.2" fill="#4b7b46" stroke="#4b7b46" stroke-width="0.5"/><polygon points="12.4,222.2 12.4,208.3 23.6,199.7 32.5,204.1 32.5,225.3 24.5,230.1" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="32.5,225.3 32.5,204.1 44.1,201.3 59.8,215.4 59.4,218.7 45.8,229.1" fill="#7c8f56" stroke="#7c8f56" stroke-width="0.5"/><polygon points="59.4,218.7 59.8,215.4 67.5,209.2 86.5,209.2 90.0,212.4 90.0,227.9 88.6,229.5 68.1,229.5" fill="#65a65f" stroke="#65a65f" stroke-width="0.5"/><polygon points="90.0,227.9 90.0,212.4 107.6,206.9 116.1,221.3 109.3,232.3" fill="#64a45d" stroke="#64a45d" stroke-width="0.5"/><polygon points="116.1,221.3 107.6,206.9 110.0,201.8 133.0,201.8 136.0,208.2 130.2,220.8" fill="#64a45e" stroke="#64a45e" stroke-width="0.5"/><polygon points="130.2,220.8 136.0,208.2 158.1,210.7 158.5,223.8 152.2,230.8 134.7,229.2" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="158.5,223.8 158.2,213.0 174.8,208.4 183.4,214.3 182.8,227.6 177.0,233.4" fill="#aca66c" stroke="#aca66c" stroke-width="0.5"/><polygon points="182.8,227.6 183.4,214.3 195.8,208.1 203.3,213.8 200.7,230.4" fill="#7d794e" stroke="#7d794e" stroke-width="0.5"/><polygon points="205.3,236.7 200.7,230.4 203.3,213.8 216.1,211.6 224.2,221.7 219.8,232.0" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="216.1,211.6 220.5,196.3 225.5,193.7 246.6,208.3 246.8,209.5 241.4,218.9 224.2,221.7" fill="#817c50" stroke="#817c50" stroke-width="0.5"/><polygon points="241.4,218.9 246.8,209.5 272.0,216.3 271.3,236.7 267.8,239.0 246.4,234.7" fill="#827e52" stroke="#827e52" stroke-width="0.5"/><polygon points="271.2,238.8 272.1,213.6 290.9,211.4 299.2,224.2 297.7,235.0" fill="#aca56b" stroke="#aca56b" stroke-width="0.5"/><polygon points="299.2,224.2 290.7,211.0 308.7,203.3 319.1,215.7 317.4,219.0" fill="#a9a36a" stroke="#a9a36a" stroke-width="0.5"/><polygon points="321.5,235.2 317.4,219.0 319.1,215.7 332.7,210.3 334.7,211.4 339.4,230.6 330.1,239.9" fill="#e2e5e9" stroke="#e2e5e9" stroke-width="0.5"/><polygon points="339.4,230.5 334.7,211.4 359.1,207.6 355.6,231.7" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="355.5,232.3 358.1,214.1 373.6,211.9 378.3,215.9 381.8,227.0 372.6,235.4" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="381.8,227.0 378.3,215.9 396.8,204.3 402.2,211.5 400.6,221.5 388.5,229.0" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="400.6,221.5 402.2,211.5 420.7,209.8 423.3,223.5 413.0,230.5" fill="#3c6338" stroke="#3c6338" stroke-width="0.5"/><polygon points="423.3,223.5 420.7,209.8 423.4,204.7 445.2,203.5 441.6,228.9 438.7,230.7" fill="#5a784b" stroke="#5a784b" stroke-width="0.5"/><polygon points="441.6,228.9 444.9,205.3 466.3,211.6 460.7,231.7" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="459.3,236.6 466.3,211.6 469.1,209.9 483.8,215.2 487.3,228.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="487.6,229.5 483.8,215.2 493.8,205.2 509.8,214.6 508.4,226.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="508.1,228.7 509.8,214.6 515.7,209.5 533.0,211.0 535.8,222.0 530.0,230.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="535.8,222.0 533.0,211.0 536.7,205.0 555.3,202.6 555.3,226.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,201.1 576.0,230.6 555.3,228.6 555.3,201.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,240.9 0.0,228.1 12.4,222.2 24.5,230.1 21.6,246.2" fill="#6e7f4c" stroke="#6e7f4c" stroke-width="0.5"/><polygon points="21.6,246.5 24.5,230.1 32.5,225.3 45.8,229.1 48.5,251.0" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="48.4,249.9 45.8,229.1 59.4,218.7 68.1,229.5 65.7,246.8" fill="#809358" stroke="#809358" stroke-width="0.5"/><polygon points="65.7,246.8 68.1,229.5 88.6,229.5 87.1,247.3 74.1,252.5" fill="#5e9a58" stroke="#5e9a58" stroke-width="0.5"/><polygon points="87.1,247.3 88.6,229.5 90.0,227.9 109.3,232.3 112.5,241.4 104.8,252.8 98.2,254.6" fill="#c4bd7b" stroke="#c4bd7b" stroke-width="0.5"/><polygon points="112.5,241.4 109.3,232.3 116.1,221.3 130.2,220.8 134.7,229.2 129.2,244.4" fill="#cdc580" stroke="#cdc580" stroke-width="0.5"/><polygon points="127.3,249.6 134.7,229.2 152.2,230.8 153.3,246.9" fill="#c6be7c" stroke="#c6be7c" stroke-width="0.5"/><polygon points="153.3,246.9 152.2,230.8 158.5,223.8 177.0,233.4 177.0,236.2 165.8,252.0 160.2,254.0" fill="#938e5c" stroke="#938e5c" stroke-width="0.5"/><polygon points="177.0,236.2 177.0,233.4 182.8,227.6 200.7,230.4 205.3,236.7 203.1,245.3 194.0,251.3" fill="#6c6843" stroke="#6c6843" stroke-width="0.5"/><polygon points="203.1,245.3 205.3,236.7 219.8,232.0 232.3,247.7 220.7,259.3" fill="#6c6843" stroke="#6c6843" stroke-width="0.5"/><polygon points="219.8,232.0 224.2,221.7 241.4,218.9 246.3,234.7 236.7,247.2 232.3,247.7" fill="#6e6a45" stroke="#6e6a45" stroke-width="0.5"/><polygon points="246.8,258.4 236.7,247.2 246.3,234.7 267.8,239.0 263.0,254.3" fill="#736f48" stroke="#736f48" stroke-width="0.5"/><polygon points="275.2,238.2 303.3,234.2 303.3,247.7 290.1,262.6" fill="#9d9762" stroke="#9d9762" stroke-width="0.5"/><polygon points="296.3,244.4 299.2,224.2 317.4,219.0 321.5,235.2" fill="#b1aa6f" stroke="#b1aa6f" stroke-width="0.5"/><polygon points="303.3,247.7 303.3,241.9 321.5,235.2 330.1,239.9 331.3,246.0 326.5,256.4 319.5,259.9" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="331.3,246.0 330.1,239.9 339.5,230.5 356.3,231.8 352.6,252.5" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="352.6,252.5 356.2,232.4 372.6,235.4 375.2,251.8 356.0,258.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="375.2,251.8 372.6,235.4 381.8,227.0 388.5,229.0 396.8,244.5 378.4,253.6" fill="#708154" stroke="#708154" stroke-width="0.5"/><polygon points="396.8,244.5 388.5,229.0 400.6,221.5 413.0,230.5 409.6,247.3 405.6,248.1" fill="#3d6539" stroke="#3d6539" stroke-width="0.5"/><polygon points="409.6,247.3 413.0,230.5 423.3,223.5 438.7,230.7 435.0,246.0 418.2,252.2" fill="#3f673b" stroke="#3f673b" stroke-width="0.5"/><polygon points="435.0,246.0 438.7,230.7 441.6,228.9 463.3,232.0 465.1,246.6 462.2,252.2 444.8,255.8" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="465.1,246.6 463.7,235.3 488.7,227.7 489.6,249.2" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="489.5,247.5 488.7,229.3 510.4,226.2 509.5,247.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="509.5,246.5 510.3,228.9 530.0,230.8 533.8,246.8 529.1,249.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="533.8,246.8 530.0,230.8 535.8,222.0 558.4,227.3 545.1,250.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,230.6 576.0,255.0 547.5,254.0 545.1,250.4 557.5,228.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,266.2 0.0,240.9 21.9,246.2 17.1,264.6" fill="#568d50" stroke="#568d50" stroke-width="0.5"/><polygon points="17.1,264.6 21.8,246.5 47.6,250.8 47.0,266.8 22.5,270.8" fill="#8cb975" stroke="#8cb975" stroke-width="0.5"/><polygon points="47.0,266.8 47.6,250.0 65.7,246.8 74.1,252.5 73.4,266.0 58.0,275.6 51.7,273.1" fill="#599354" stroke="#599354" stroke-width="0.5"/><polygon points="73.4,266.0 74.1,252.5 87.1,247.3 98.2,254.6 93.9,271.3 87.5,275.1" fill="#51854c" stroke="#51854c" stroke-width="0.5"/><polygon points="93.9,271.3 98.2,254.6 104.8,252.8 120.7,267.9 111.5,278.7" fill="#948e5c" stroke="#948e5c" stroke-width="0.5"/><polygon points="120.7,267.9 104.8,252.8 112.5,241.4 132.4,245.0 130.0,266.0" fill="#bcb575" stroke="#bcb575" stroke-width="0.5"/><polygon points="130.1,264.7 131.9,249.1 153.3,246.9 160.2,254.0 158.4,260.6 149.6,268.1" fill="#858053" stroke="#858053" stroke-width="0.5"/><polygon points="175.9,280.9 158.4,260.6 160.2,254.0 165.8,252.0 185.2,261.4" fill="#6e6a45" stroke="#6e6a45" stroke-width="0.5"/><polygon points="165.8,252.0 177.0,236.2 194.0,251.3 191.2,258.7 185.2,261.4" fill="#6c6843" stroke="#6c6843" stroke-width="0.5"/><polygon points="191.2,258.7 194.0,251.3 203.1,245.3 220.7,259.3 220.1,264.8 203.2,272.0" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="220.1,264.8 220.7,259.3 232.3,247.7 236.7,247.2 246.8,258.4 244.6,273.6 224.5,270.6" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="244.5,274.5 246.8,258.4 263.0,254.3 268.4,264.2 263.2,274.5" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="268.4,264.2 263.0,254.3 267.8,239.0 273.5,235.3 290.1,262.6 289.9,263.4 287.0,265.7" fill="#7e794e" stroke="#7e794e" stroke-width="0.5"/><polygon points="289.9,263.4 290.1,262.6 303.3,247.7 319.5,259.9 316.7,266.8 305.8,273.6" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="330.8,284.4 316.7,266.8 319.5,259.9 326.5,256.4 339.3,268.3 332.5,284.5" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="326.5,256.4 331.3,246.0 352.6,252.5 356.0,258.8 354.8,264.1 339.3,268.3" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="354.6,264.7 356.0,258.8 375.2,251.8 378.4,253.6 384.0,267.7 375.5,277.1" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="384.0,267.7 378.4,253.6 396.8,244.5 405.6,248.1 395.0,269.1" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="395.0,269.1 405.6,248.1 409.6,247.3 418.2,252.2 420.1,266.1 404.7,280.3" fill="#385c34" stroke="#385c34" stroke-width="0.5"/><polygon points="420.1,266.1 418.2,252.2 435.0,246.0 444.8,255.8 441.8,270.3 429.7,272.0" fill="#3e663a" stroke="#3e663a" stroke-width="0.5"/><polygon points="440.2,278.2 444.8,255.7 462.2,252.2 467.5,265.5 463.8,274.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="467.5,265.5 462.2,252.2 465.1,246.6 488.2,249.0 488.2,265.5" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="488.2,270.4 488.2,247.5 508.5,247.5 508.5,266.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="508.5,266.4 508.5,246.3 529.1,249.6 520.4,273.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="520.8,272.6 529.1,249.6 533.8,246.8 545.1,250.4 547.5,254.0 546.5,265.9 536.3,275.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,255.0 576.0,277.1 562.3,277.7 546.5,265.9 547.5,254.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,292.3 0.0,266.2 17.1,264.6 22.5,270.8 22.5,289.5" fill="#50844b" stroke="#50844b" stroke-width="0.5"/><polygon points="22.5,289.7 22.5,270.8 47.0,266.8 51.7,273.1 38.3,290.9" fill="#84af6e" stroke="#84af6e" stroke-width="0.5"/><polygon points="38.3,290.9 51.7,273.1 58.0,275.6 61.7,283.6 59.0,298.7 49.6,305.5" fill="#548b4f" stroke="#548b4f" stroke-width="0.5"/><polygon points="61.7,283.6 58.0,275.6 73.4,266.0 87.5,275.1 84.9,289.4" fill="#4b7c47" stroke="#4b7c47" stroke-width="0.5"/><polygon points="84.8,290.3 87.5,275.1 93.9,271.3 111.5,278.7 112.0,287.4 102.4,296.5" fill="#b6beae" stroke="#b6beae" stroke-width="0.5"/><polygon points="112.0,287.4 111.5,278.7 120.7,267.9 128.4,266.3 138.8,300.8" fill="#9e9863" stroke="#9e9863" stroke-width="0.5"/><polygon points="135.7,290.3 127.8,264.4 149.6,268.1 151.1,285.5" fill="#807b50" stroke="#807b50" stroke-width="0.5"/><polygon points="151.1,285.5 149.6,268.1 158.4,260.6 175.9,280.9 175.9,281.1 158.5,289.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="175.9,281.1 175.9,280.9 185.2,261.4 191.2,258.7 203.2,272.0 200.1,284.0 182.3,286.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="200.1,284.0 203.2,272.0 220.1,264.8 224.5,270.6 221.9,290.4 203.1,287.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="221.5,293.3 224.5,270.6 245.3,273.7 243.7,293.1" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="243.8,292.5 245.3,274.5 263.2,274.5 268.5,285.0 264.9,292.5" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="268.5,285.0 263.2,274.5 268.4,264.2 287.0,265.7 283.1,282.9" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="283.1,282.9 287.0,265.7 289.9,263.4 305.8,273.6 305.8,284.4 291.8,293.4" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="305.8,284.4 305.8,273.6 316.7,266.8 330.8,284.4 316.7,291.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="332.5,284.5 339.3,268.3 355.5,263.9 352.8,288.3 339.9,291.2" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="352.8,288.3 355.3,265.1 375.5,277.1 375.2,282.1 359.9,291.9" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="386.0,293.8 375.2,282.1 375.5,277.1 384.0,267.7 395.0,269.1 405.4,281.2 396.2,293.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="403.4,281.4 420.1,266.1 429.7,272.0 425.3,292.8" fill="#385c34" stroke="#385c34" stroke-width="0.5"/><polygon points="425.2,293.2 429.7,272.0 449.3,269.2 446.6,282.7 430.7,294.6" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="457.2,301.9 446.6,282.7 447.7,277.2 463.8,274.9 470.2,285.3 460.0,302.9" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="470.2,285.3 463.8,274.9 467.5,265.5 492.4,265.5 488.9,286.6" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="489.1,285.3 491.7,269.8 508.5,266.4 519.6,273.1 515.4,287.5 501.8,292.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="515.4,287.5 519.8,272.4 536.3,275.2 543.2,293.1 526.8,300.1" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="544.2,295.7 536.3,275.2 546.5,265.9 562.3,277.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,277.1 576.0,299.7 551.4,301.5 545.9,294.1 562.3,277.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,306.9 0.0,292.3 22.7,289.5 23.5,316.3" fill="#acb3a5" stroke="#acb3a5" stroke-width="0.5"/><polygon points="23.3,309.4 22.8,289.8 38.3,290.9 49.6,305.5 49.0,308.3 43.5,312.6" fill="#7ba367" stroke="#7ba367" stroke-width="0.5"/><polygon points="49.0,308.3 49.6,305.5 59.0,298.7 77.7,304.9 79.0,311.6 67.0,325.0" fill="#d0d9c7" stroke="#d0d9c7" stroke-width="0.5"/><polygon points="77.7,304.9 59.0,298.7 61.7,283.6 85.7,289.6" fill="#568e51" stroke="#568e51" stroke-width="0.5"/><polygon points="79.0,311.6 77.7,304.9 85.3,290.4 102.4,296.5 104.6,309.9 92.5,317.3" fill="#b4bbac" stroke="#b4bbac" stroke-width="0.5"/><polygon points="104.6,309.9 102.4,296.5 112.0,287.4 130.9,296.8 131.3,303.1 110.0,312.6" fill="#948f5d" stroke="#948f5d" stroke-width="0.5"/><polygon points="131.3,302.4 130.6,291.9 151.1,285.5 158.5,289.8 159.6,308.1 153.5,312.6" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="159.6,308.1 158.5,289.8 175.9,281.1 182.2,286.2 182.2,309.3 179.6,312.7" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="182.2,309.3 182.2,286.2 200.1,284.0 203.1,287.5 201.2,306.3" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="201.2,306.3 203.1,287.5 224.7,290.9 217.8,316.1 213.8,315.7" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="217.7,316.7 224.1,293.3 243.3,293.2 245.6,309.8 238.1,317.3" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="245.6,309.8 243.2,292.5 264.9,292.5 269.0,302.9 259.9,313.8" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="269.0,302.9 264.9,292.5 268.5,285.0 283.1,282.9 291.8,293.4 291.0,299.8 282.5,305.8" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="291.0,299.8 291.8,293.4 305.8,284.4 316.7,291.2 315.8,306.1 305.1,310.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="315.8,306.1 316.7,291.2 330.8,284.4 332.5,284.5 339.9,291.2 337.5,309.7 328.2,313.0" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="337.5,309.7 339.9,291.2 352.8,288.3 359.9,291.9 364.8,308.5 349.9,317.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="364.8,308.5 359.9,291.9 375.2,282.1 386.0,293.8 372.9,310.8" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="377.5,317.3 372.9,310.8 386.0,293.8 396.2,293.9 403.4,310.5 397.8,318.3" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="403.4,310.5 396.2,293.9 404.7,282.1 425.9,293.1 414.8,310.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="427.5,323.9 414.8,310.5 425.7,293.4 430.7,294.6 439.7,304.9 434.1,322.9" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="430.7,294.6 446.6,282.7 457.2,301.9 439.7,304.9" fill="#345631" stroke="#345631" stroke-width="0.5"/><polygon points="460.0,302.9 470.2,285.3 486.8,286.5 479.4,311.2 475.2,311.9 461.9,306.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="487.5,284.4 501.8,292.9 501.8,308.7 485.6,313.7 479.4,311.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="501.8,308.7 501.8,293.0 515.4,287.5 526.8,300.1 525.0,307.8 508.2,314.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="525.0,307.8 526.8,300.1 544.7,292.4 551.4,301.5 550.4,309.7 533.1,319.3" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,299.7 576.0,319.5 556.6,319.5 550.4,309.7 551.4,301.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,330.9 0.0,306.9 19.0,314.5 18.2,327.6" fill="#abb2a4" stroke="#abb2a4" stroke-width="0.5"/><polygon points="18.0,330.8 19.3,308.8 43.5,312.6 39.4,330.8" fill="#bac2b2" stroke="#bac2b2" stroke-width="0.5"/><polygon points="39.4,330.8 43.5,312.6 49.0,308.3 67.0,325.0 66.8,327.8 56.8,338.0 45.2,337.1" fill="#84af6f" stroke="#84af6f" stroke-width="0.5"/><polygon points="66.8,327.8 67.0,325.0 79.0,311.6 92.5,317.3 93.6,333.7 86.2,340.6" fill="#c2cab9" stroke="#c2cab9" stroke-width="0.5"/><polygon points="93.6,333.7 92.5,317.3 104.6,309.9 110.0,312.6 116.4,329.6 111.4,336.0" fill="#9ba194" stroke="#9ba194" stroke-width="0.5"/><polygon points="116.4,329.6 110.0,312.6 130.5,303.5 130.5,328.1" fill="#6f6a45" stroke="#6f6a45" stroke-width="0.5"/><polygon points="130.5,331.8 130.5,302.0 153.5,312.6 151.1,322.8" fill="#6a6642" stroke="#6a6642" stroke-width="0.5"/><polygon points="151.1,322.8 153.5,312.6 159.6,308.1 179.6,312.7 181.7,325.2 167.5,338.3 161.0,336.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="181.7,325.2 179.6,312.7 182.2,309.3 201.2,306.3 213.8,315.7 192.5,331.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="196.5,340.7 192.5,331.4 213.8,315.7 218.4,316.2 220.2,338.1" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="220.3,338.9 218.5,316.8 238.1,317.3 245.0,335.7 238.6,341.2" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="245.0,335.7 238.1,317.3 245.6,309.8 259.9,313.8 264.5,327.5 256.6,336.4" fill="#546f46" stroke="#546f46" stroke-width="0.5"/><polygon points="264.5,327.5 259.9,313.8 269.0,302.9 282.5,305.8 282.5,328.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="282.5,330.5 282.5,305.8 291.0,299.8 305.1,310.4 301.6,328.2" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="300.8,332.0 305.1,310.4 315.8,306.1 328.2,313.0 323.6,329.2" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="333.1,340.7 323.6,329.2 328.2,313.0 337.5,309.7 351.3,318.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="348.8,318.1 364.8,308.5 372.9,310.8 377.5,317.3 373.5,337.5 361.1,337.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="373.3,338.5 377.5,317.3 397.8,318.3 401.5,338.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="401.0,336.1 397.8,318.3 403.4,310.5 414.8,310.5 427.5,323.9 419.5,335.4" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="434.1,322.9 439.7,304.9 457.2,301.9 460.0,302.9 461.9,306.0 451.0,327.9 445.3,329.3" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="451.0,327.9 461.9,306.0 475.2,311.9 469.6,337.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="469.5,337.4 475.2,311.9 479.4,311.2 485.6,313.7 491.3,332.6 483.9,340.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="491.3,332.6 485.6,313.7 501.8,308.7 508.2,314.2 508.6,331.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="508.6,332.2 508.2,314.2 525.0,307.8 533.1,319.3 532.9,330.2" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="532.9,330.6 533.1,319.3 550.4,309.7 556.6,319.5 551.0,331.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,319.5 576.0,339.5 556.0,338.6 551.0,331.9 556.6,319.5" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,350.7 0.0,330.9 21.6,327.0 20.0,356.7" fill="#bbc3b3" stroke="#bbc3b3" stroke-width="0.5"/><polygon points="20.0,356.7 21.4,330.8 39.4,330.8 45.2,337.1 35.9,355.7" fill="#bec6b6" stroke="#bec6b6" stroke-width="0.5"/><polygon points="35.9,355.7 45.2,337.1 56.8,338.0 63.6,356.3 47.8,365.9" fill="#b5bdad" stroke="#b5bdad" stroke-width="0.5"/><polygon points="63.6,356.3 56.8,338.0 66.8,327.8 86.2,340.6 85.5,348.2 76.0,360.3" fill="#c0c8b8" stroke="#c0c8b8" stroke-width="0.5"/><polygon points="85.5,348.2 86.2,340.6 93.6,333.7 111.4,336.0 116.5,361.9" fill="#888d82" stroke="#888d82" stroke-width="0.5"/><polygon points="115.6,357.4 111.4,336.0 116.4,329.6 133.6,327.8 138.9,351.9 123.5,359.5" fill="#8a9084" stroke="#8a9084" stroke-width="0.5"/><polygon points="139.0,352.2 134.1,330.2 151.1,322.8 161.0,336.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="139.2,352.0 161.0,336.4 167.5,338.3 173.4,358.2 154.8,365.8" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="174.0,360.1 167.5,338.3 181.7,325.2 192.5,331.4 196.5,340.7 193.8,353.9" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="193.8,353.9 196.5,340.7 221.1,338.0 217.1,360.9 203.5,361.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="215.7,368.8 220.9,339.0 238.6,341.2 240.2,363.2" fill="#7e8479" stroke="#7e8479" stroke-width="0.5"/><polygon points="240.2,363.2 238.6,341.2 245.0,335.7 256.6,336.4 263.0,352.6 242.0,364.0" fill="#5e7d4f" stroke="#5e7d4f" stroke-width="0.5"/><polygon points="263.0,352.6 256.6,336.4 264.5,327.5 284.7,328.7 282.0,358.7 274.9,358.9" fill="#81867b" stroke="#81867b" stroke-width="0.5"/><polygon points="282.0,358.8 284.6,330.2 305.1,327.7 308.5,357.9" fill="#80857b" stroke="#80857b" stroke-width="0.5"/><polygon points="308.7,359.6 305.6,331.4 323.6,329.2 333.1,340.7 333.6,343.5 324.3,357.1" fill="#83887d" stroke="#83887d" stroke-width="0.5"/><polygon points="333.6,343.5 333.1,340.7 350.0,320.0 361.1,337.5 351.4,347.7" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="356.1,364.2 351.4,347.7 361.1,337.5 374.4,337.5 377.0,360.9 367.3,367.7" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="377.0,360.9 374.5,338.5 399.2,338.5 399.9,355.6 389.6,363.1" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="399.9,355.6 399.1,336.1 419.5,335.4 428.3,357.2 417.1,362.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="428.3,357.2 419.5,335.4 427.5,323.9 434.1,322.9 445.3,329.3 442.1,352.3 432.9,358.0" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="442.1,352.3 445.3,329.3 451.0,327.9 469.8,337.3 461.0,355.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="466.0,364.9 461.0,355.8 469.7,337.4 483.9,340.0 491.0,358.2 480.6,368.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="491.0,358.2 483.9,340.0 491.3,332.6 509.3,331.4 511.0,359.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="510.9,357.8 509.3,332.2 533.2,330.2 533.2,357.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="533.2,357.8 533.2,330.6 551.0,331.9 556.0,338.6 547.9,357.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,339.5 576.0,361.5 555.0,362.7 547.9,357.8 556.0,338.6" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="0.0,382.3 0.0,350.7 20.0,356.7 18.0,368.2" fill="#c0c8b8" stroke="#c0c8b8" stroke-width="0.5"/><polygon points="46.4,396.0 42.9,396.0 18.0,368.2 20.0,356.7 35.9,355.7 47.8,365.9" fill="#bbc3b3" stroke="#bbc3b3" stroke-width="0.5"/><polygon points="60.5,396.0 46.4,396.0 47.8,365.9 63.6,356.3 76.0,360.3 77.6,365.6" fill="#b2baab" stroke="#b2baab" stroke-width="0.5"/><polygon points="100.9,396.0 60.5,396.0 77.6,365.6 98.0,378.2" fill="#cfd8c6" stroke="#cfd8c6" stroke-width="0.5"/><polygon points="98.0,378.2 77.6,365.6 76.0,360.3 85.5,348.2 111.1,359.5" fill="#bac2b2" stroke="#bac2b2" stroke-width="0.5"/><polygon points="133.5,396.0 100.9,396.0 98.0,378.2 113.1,356.7 123.5,359.5" fill="#b3bbab" stroke="#b3bbab" stroke-width="0.5"/><polygon points="148.4,396.0 133.5,396.0 123.5,359.5 139.0,351.9 154.8,365.8" fill="#a0a799" stroke="#a0a799" stroke-width="0.5"/><polygon points="185.0,396.0 148.4,396.0 154.8,365.8 175.6,357.4" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="194.5,396.0 185.0,396.0 176.1,359.4 193.8,353.9 203.5,361.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="220.0,396.0 194.5,396.0 203.5,361.5 225.4,360.5" fill="#7c8177" stroke="#7c8177" stroke-width="0.5"/><polygon points="254.8,396.0 220.0,396.0 224.4,366.8 240.2,363.2 242.0,364.0 254.3,385.1" fill="#71955e" stroke="#71955e" stroke-width="0.5"/><polygon points="254.3,385.1 242.0,364.0 263.0,352.6 274.9,358.9" fill="#769c63" stroke="#769c63" stroke-width="0.5"/><polygon points="287.4,396.0 254.8,396.0 254.3,385.1 274.9,358.9 282.2,358.7" fill="#7ba266" stroke="#7ba266" stroke-width="0.5"/><polygon points="309.1,396.0 287.4,396.0 282.2,358.8 310.9,357.8" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="336.4,396.0 309.1,396.0 310.8,359.3 324.3,357.1 339.9,374.0" fill="#6098b8" stroke="#6098b8" stroke-width="0.5"/><polygon points="339.9,374.0 324.3,357.1 333.6,343.5 351.4,347.7 356.1,364.2" fill="#939a8d" stroke="#939a8d" stroke-width="0.5"/><polygon points="371.3,396.0 336.4,396.0 339.9,374.0 356.1,364.2 367.3,367.7" fill="#84897e" stroke="#84897e" stroke-width="0.5"/><polygon points="398.9,396.0 371.3,396.0 367.3,367.7 377.0,360.9 389.6,363.1" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="409.0,396.0 398.9,396.0 389.6,363.1 399.9,355.6 417.1,362.8" fill="#3d7ea6" stroke="#3d7ea6" stroke-width="0.5"/><polygon points="445.7,396.0 409.0,396.0 417.1,362.8 428.3,357.2 432.9,358.0 446.2,391.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="446.2,391.0 432.9,358.0 442.1,352.3 461.0,355.8 466.0,364.9" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="487.7,396.0 445.7,396.0 446.2,391.0 466.0,364.9 480.6,368.4" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="509.4,396.0 487.7,396.0 480.6,368.4 491.0,358.2 509.4,359.0" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="533.2,396.0 509.4,396.0 509.4,357.8 533.2,357.8" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="551.6,396.0 533.2,396.0 533.2,357.8 547.9,357.8 555.0,362.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="576.0,361.5 576.0,396.0 551.6,396.0 555.0,362.7" fill="#1f4e6b" stroke="#1f4e6b" stroke-width="0.5"/><polygon points="42.9,396.0 0.0,396.0 0.0,382.3 18.0,368.2" fill="#bec6b6" stroke="#bec6b6" stroke-width="0.5"/></g><path d="M13.2,0.0 L16.3,18.3 M16.3,18.3 L24.3,21.4 M24.3,21.4 L29.9,35.0 M29.9,35.0 L21.9,45.5 M230.4,39.0 L221.1,20.8 M221.1,20.8 L243.9,14.4 M243.9,14.4 L253.7,24.2 M253.7,24.2 L267.8,21.4 M267.8,21.4 L272.2,24.0 M272.2,24.0 L273.3,45.7 M273.3,45.7 L266.1,51.3 M21.9,45.5 L21.9,58.5 M200.2,43.4 L220.7,52.7 M195.0,65.9 L200.2,43.4 M220.7,52.7 L230.4,39.0 M266.1,51.3 L266.6,63.5 M22.5,58.5 L22.5,78.8 M45.4,81.1 L49.8,60.6 M49.8,60.6 L62.9,62.6 M62.9,62.6 L70.6,88.0 M82.8,79.0 L85.4,60.8 M85.4,60.8 L105.8,60.8 M105.9,59.2 L123.9,61.9 M123.9,61.9 L131.7,78.8 M147.5,74.1 L147.5,49.3 M147.5,49.3 L155.6,47.5 M155.6,47.5 L172.6,65.7 M172.6,65.7 L173.8,65.6 M172.8,63.5 L195.9,65.2 M266.6,63.5 L283.2,71.9 M283.2,71.9 L292.6,61.3 M292.6,61.3 L311.3,68.1 M311.3,68.1 L316.6,61.7 M316.6,61.7 L333.6,59.8 M333.6,59.8 L340.7,67.6 M340.7,67.6 L335.6,83.3 M16.2,70.9 L45.1,81.3 M45.1,81.3 L45.4,81.1 M66.3,84.3 L82.8,79.0 M131.7,78.8 L147.5,74.1 M335.6,83.3 L353.7,95.9 M353.7,95.9 L361.5,79.0 M361.5,79.0 L379.0,77.5 M379.0,77.5 L381.7,98.1 M399.2,95.1 L404.5,78.0 M404.5,78.0 L409.5,76.6 M409.5,76.6 L425.2,87.8 M425.2,87.8 L436.9,83.9 M436.9,83.9 L442.7,86.6 M442.7,86.6 L464.2,73.4 M464.2,73.4 L473.7,85.3 M473.7,85.3 L471.0,101.5 M471.0,101.5 L463.5,106.5 M381.2,97.7 L399.2,95.1 M463.5,106.5 L463.5,118.1 M463.5,118.1 L453.5,129.4 M453.5,129.4 L458.8,143.0 M464.4,165.7 L464.1,167.0 M458.8,143.0 L480.4,138.5 M480.4,138.5 L488.4,152.6 M488.4,152.6 L487.6,155.0 M487.6,155.0 L464.4,165.7 M464.1,167.0 L480.3,186.8 M480.3,186.8 L471.1,194.6 M471.1,194.6 L469.1,209.9 M469.1,209.9 L466.3,211.6 M466.3,211.6 L460.7,231.7 M463.3,232.0 L465.1,246.6 M465.1,246.6 L462.2,252.2 M462.2,252.2 L467.5,265.5 M467.5,265.5 L463.8,274.9 M463.8,274.9 L440.2,278.2 M449.3,269.2 L446.6,282.7 M403.4,310.5 L397.8,318.3 M414.8,310.5 L403.4,310.5 M427.5,323.9 L414.8,310.5 M439.7,304.9 L434.1,322.9 M434.1,322.9 L427.5,323.9 M446.6,282.7 L457.2,301.9 M457.2,301.9 L439.7,304.9 M397.8,318.3 L401.5,338.5 M377.0,360.9 L367.3,367.7 M399.2,338.5 L399.9,355.6 M399.9,355.6 L389.6,363.1 M389.6,363.1 L377.0,360.9 M367.3,367.7 L371.3,396.0" fill="none" stroke="#283640" stroke-width="2.0" stroke-linecap="round"/><g opacity="0.9"><path d="M258.0,366.0 L272.0,377.0" fill="none" stroke="#4a82af" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M249.0,349.5 L258.0,366.0" fill="none" stroke="#4a82af" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M36.0,279.0 L32.6,258.8" fill="none" stroke="#4a82af" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/><path d="M34.2,302.4 L36.0,279.0" fill="none" stroke="#4a82af" stroke-width="2.0" stroke-linecap="round" stroke-linejoin="round"/><path d="M232.2,329.4 L249.0,349.5" fill="none" stroke="#4a82af" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/><path d="M247.5,76.5 L253.8,59.4" fill="none" stroke="#4a82af" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M247.5,94.5 L247.5,76.5" fill="none" stroke="#4a82af" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M207.0,331.5 L232.2,329.4" fill="none" stroke="#4a82af" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M246.9,115.7 L247.5,94.5" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M51.4,324.0 L34.2,302.4" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M235.8,378.9 L272.0,377.0" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M433.1,214.9 L453.6,217.8" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M250.5,322.5 L249.0,349.5" fill="none" stroke="#4a82af" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M256.5,301.5 L250.5,322.5" fill="none" stroke="#4a82af" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/><path d="M256.5,283.5 L256.5,301.5" fill="none" stroke="#4a82af" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></g></svg>
|
|
Binary file
|