Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserEngine__API.getSuggestedValuesForSegment.xml1
-rw-r--r--plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml12
-rw-r--r--plugins/API/tests/System/expected/test_AutoSuggestAPITest_deviceType__API.getSuggestedValuesForSegment.xml1
-rw-r--r--plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment0_noOptions__Live.getLastVisitsDetails_year.xml16
-rw-r--r--plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment1_noOptions__Live.getLastVisitsDetails_year.xml16
-rw-r--r--plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_range_archive__DevicesDetection.getType_range.xml6
-rw-r--r--plugins/CoreHome/Columns/VisitLastActionTime.php11
-rw-r--r--plugins/CoreHome/tests/Integration/Column/VisitLastActionTimeTest.php121
-rw-r--r--plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml2
-rw-r--r--plugins/DevicesDetection/functions.php1
-rw-r--r--plugins/DevicesDetection/lang/en.json1
-rw-r--r--plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml6
-rw-r--r--plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__Goals.get_day.xml6
-rw-r--r--plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml12
-rw-r--r--plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml10
-rw-r--r--plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit_withLogLinkVisitActionSegment__Goals.get_day.xml6
-rw-r--r--plugins/Morpheus/templates/_jsGlobalVariables.twig2
-rw-r--r--plugins/Referrers/Columns/Base.php56
-rw-r--r--plugins/Referrers/tests/Integration/Columns/ReferrerUrlTest.php106
-rw-r--r--plugins/SitesManager/templates/_trackingCodeEmail.twig1
-rw-r--r--plugins/SitesManager/templates/siteWithoutData.twig1
m---------plugins/TagManager0
-rw-r--r--plugins/UserCountryMap/svg/DEU.svg2
23 files changed, 359 insertions, 37 deletions
diff --git a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserEngine__API.getSuggestedValuesForSegment.xml b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserEngine__API.getSuggestedValuesForSegment.xml
index 4d3987cb15..c8113891c7 100644
--- a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserEngine__API.getSuggestedValuesForSegment.xml
+++ b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserEngine__API.getSuggestedValuesForSegment.xml
@@ -14,4 +14,5 @@
<row>Edge</row>
<row>NetSurf</row>
<row>Servo</row>
+ <row>Goanna</row>
</result> \ No newline at end of file
diff --git a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml
index d4244b015f..5aa3c56cb7 100644
--- a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml
+++ b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
+ <row>115 Browser</row>
<row>2345 Browser</row>
<row>360 Phone Browser</row>
<row>360 Browser</row>
@@ -12,10 +13,13 @@
<row>Amaya</row>
<row>Amigo</row>
<row>Android Browser</row>
+ <row>AOL Desktop</row>
<row>AOL Shield</row>
<row>Arora</row>
+ <row>Arctic Fox</row>
<row>Amiga Voyager</row>
<row>Amiga Aweb</row>
+ <row>Atom</row>
<row>Atomic Web Browser</row>
<row>Avast Secure Browser</row>
<row>AVG Secure Browser</row>
@@ -34,6 +38,7 @@
<row>BrowseX</row>
<row>Camino</row>
<row>CCleaner</row>
+ <row>Centaury</row>
<row>Coc Coc</row>
<row>Comodo Dragon</row>
<row>Coast</row>
@@ -67,6 +72,7 @@
<row>Epic</row>
<row>Elinks</row>
<row>Element Browser</row>
+ <row>Elements Browser</row>
<row>eZ Browser</row>
<row>EUI Browser</row>
<row>GNOME Web</row>
@@ -119,6 +125,7 @@
<row>Cheetah Browser</row>
<row>LieBaoFast</row>
<row>LG Browser</row>
+ <row>Light</row>
<row>Links</row>
<row>Lovense Browser</row>
<row>LuaKit</row>
@@ -137,6 +144,7 @@
<row>Minimo</row>
<row>Mint Browser</row>
<row>Maxthon</row>
+ <row>Mypal</row>
<row>Nokia Browser</row>
<row>Nokia OSS Browser</row>
<row>Nokia Ovi Browser</row>
@@ -163,6 +171,7 @@
<row>Opera Touch</row>
<row>Ordissimo</row>
<row>Oregano</row>
+ <row>Origin In-Game Overlay</row>
<row>Origyn Web Browser</row>
<row>Openwave Mobile Browser</row>
<row>OmniWeb</row>
@@ -205,7 +214,9 @@
<row>Sunrise</row>
<row>SuperBird</row>
<row>Super Fast Browser</row>
+ <row>surf</row>
<row>START Internet Browser</row>
+ <row>Steam In-Game Overlay</row>
<row>Streamy</row>
<row>Swiftfox</row>
<row>Seznam Browser</row>
@@ -224,6 +235,7 @@
<row>Vivaldi</row>
<row>vivo Browser</row>
<row>Vision Mobile Browser</row>
+ <row>VMware AirWatch</row>
<row>Wear Internet Browser</row>
<row>Web Explorer</row>
<row>WebPositive</row>
diff --git a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_deviceType__API.getSuggestedValuesForSegment.xml b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_deviceType__API.getSuggestedValuesForSegment.xml
index c912de4505..73bbf36546 100644
--- a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_deviceType__API.getSuggestedValuesForSegment.xml
+++ b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_deviceType__API.getSuggestedValuesForSegment.xml
@@ -12,4 +12,5 @@
<row>portable media player</row>
<row>phablet</row>
<row>smart speaker</row>
+ <row>wearable</row>
</result> \ No newline at end of file
diff --git a/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment0_noOptions__Live.getLastVisitsDetails_year.xml b/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment0_noOptions__Live.getLastVisitsDetails_year.xml
index f0f2986a8a..6afcb33679 100644
--- a/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment0_noOptions__Live.getLastVisitsDetails_year.xml
+++ b/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment0_noOptions__Live.getLastVisitsDetails_year.xml
@@ -106,8 +106,8 @@
<pageId>71</pageId>
<bandwidth />
- <timeSpent>50</timeSpent>
- <timeSpentPretty>50s</timeSpentPretty>
+ <timeSpent>0</timeSpent>
+ <timeSpentPretty>0s</timeSpentPretty>
<pageviewPosition>2</pageviewPosition>
<title />
<subtitle>http://piwik.net/faq/</subtitle>
@@ -131,8 +131,8 @@
<pageId>75</pageId>
<bandwidth />
- <timeSpent>49</timeSpent>
- <timeSpentPretty>49s</timeSpentPretty>
+ <timeSpent>0</timeSpent>
+ <timeSpentPretty>0s</timeSpentPretty>
<pageviewPosition>6</pageviewPosition>
<title />
<subtitle>http://piwik.net/faq/</subtitle>
@@ -181,8 +181,8 @@
<pageId>72</pageId>
<bandwidth />
- <timeSpent>26</timeSpent>
- <timeSpentPretty>26s</timeSpentPretty>
+ <timeSpent>0</timeSpent>
+ <timeSpentPretty>0s</timeSpentPretty>
<pageviewPosition>3</pageviewPosition>
<title />
<subtitle>http://piwik.net/blog/category/community/</subtitle>
@@ -231,8 +231,8 @@
<pageId>73</pageId>
<bandwidth />
- <timeSpent>8</timeSpent>
- <timeSpentPretty>8s</timeSpentPretty>
+ <timeSpent>1</timeSpent>
+ <timeSpentPretty>1s</timeSpentPretty>
<pageviewPosition>4</pageviewPosition>
<title />
<subtitle>http://piwik.net/docs/manage-websites/</subtitle>
diff --git a/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment1_noOptions__Live.getLastVisitsDetails_year.xml b/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment1_noOptions__Live.getLastVisitsDetails_year.xml
index f0f2986a8a..6afcb33679 100644
--- a/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment1_noOptions__Live.getLastVisitsDetails_year.xml
+++ b/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_preArchivedSegment1_noOptions__Live.getLastVisitsDetails_year.xml
@@ -106,8 +106,8 @@
<pageId>71</pageId>
<bandwidth />
- <timeSpent>50</timeSpent>
- <timeSpentPretty>50s</timeSpentPretty>
+ <timeSpent>0</timeSpent>
+ <timeSpentPretty>0s</timeSpentPretty>
<pageviewPosition>2</pageviewPosition>
<title />
<subtitle>http://piwik.net/faq/</subtitle>
@@ -131,8 +131,8 @@
<pageId>75</pageId>
<bandwidth />
- <timeSpent>49</timeSpent>
- <timeSpentPretty>49s</timeSpentPretty>
+ <timeSpent>0</timeSpent>
+ <timeSpentPretty>0s</timeSpentPretty>
<pageviewPosition>6</pageviewPosition>
<title />
<subtitle>http://piwik.net/faq/</subtitle>
@@ -181,8 +181,8 @@
<pageId>72</pageId>
<bandwidth />
- <timeSpent>26</timeSpent>
- <timeSpentPretty>26s</timeSpentPretty>
+ <timeSpent>0</timeSpent>
+ <timeSpentPretty>0s</timeSpentPretty>
<pageviewPosition>3</pageviewPosition>
<title />
<subtitle>http://piwik.net/blog/category/community/</subtitle>
@@ -231,8 +231,8 @@
<pageId>73</pageId>
<bandwidth />
- <timeSpent>8</timeSpent>
- <timeSpentPretty>8s</timeSpentPretty>
+ <timeSpent>1</timeSpent>
+ <timeSpentPretty>1s</timeSpentPretty>
<pageviewPosition>4</pageviewPosition>
<title />
<subtitle>http://piwik.net/docs/manage-websites/</subtitle>
diff --git a/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_range_archive__DevicesDetection.getType_range.xml b/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_range_archive__DevicesDetection.getType_range.xml
index c75fcc08b0..0358d288a6 100644
--- a/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_range_archive__DevicesDetection.getType_range.xml
+++ b/plugins/CoreConsole/tests/System/expected/test_ArchiveCronTest_range_archive__DevicesDetection.getType_range.xml
@@ -125,4 +125,10 @@
<segment>deviceType==tv</segment>
<logo>plugins/Morpheus/icons/dist/devices/tv.png</logo>
</row>
+ <row>
+ <label>Wearable</label>
+ <nb_visits>0</nb_visits>
+ <segment>deviceType==wearable</segment>
+ <logo>plugins/Morpheus/icons/dist/devices/wearable.png</logo>
+ </row>
</result> \ No newline at end of file
diff --git a/plugins/CoreHome/Columns/VisitLastActionTime.php b/plugins/CoreHome/Columns/VisitLastActionTime.php
index bc3ba0f5b1..6dadc3a0ad 100644
--- a/plugins/CoreHome/Columns/VisitLastActionTime.php
+++ b/plugins/CoreHome/Columns/VisitLastActionTime.php
@@ -14,6 +14,7 @@ use Piwik\Tracker\Action;
use Piwik\Tracker\Request;
use Piwik\Tracker\Visitor;
use Piwik\Metrics\Formatter;
+use Piwik\Tracker\VisitorRecognizer;
require_once PIWIK_INCLUDE_PATH . '/plugins/VisitTime/functions.php';
@@ -67,7 +68,15 @@ class VisitLastActionTime extends VisitDimension
if ($request->getParam('ping') == 1) {
return false;
}
-
+
+ $originalVisit = $visitor->getVisitorColumn(VisitorRecognizer::KEY_ORIGINAL_VISIT_ROW);
+
+ if (!empty($originalVisit['visit_last_action_time'])
+ && Date::factory($originalVisit['visit_last_action_time'])->getTimestamp() > $request->getCurrentTimestamp()) {
+ // make sure to not set visit_last_action_time to an earlier time eg if tracking requests aren't sent in order
+ return $originalVisit['visit_last_action_time'];
+ }
+
return $this->onNewVisit($request, $visitor, $action);
}
} \ No newline at end of file
diff --git a/plugins/CoreHome/tests/Integration/Column/VisitLastActionTimeTest.php b/plugins/CoreHome/tests/Integration/Column/VisitLastActionTimeTest.php
new file mode 100644
index 0000000000..2d82d93689
--- /dev/null
+++ b/plugins/CoreHome/tests/Integration/Column/VisitLastActionTimeTest.php
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Plugins\CoreHome\tests\Integration\Column;
+
+use Piwik\Cache;
+use Piwik\Common;
+use Piwik\DataAccess\ArchiveTableCreator;
+use Piwik\Date;
+use Piwik\Db;
+use Piwik\Metrics;
+use Piwik\Plugins\CoreHome\Columns\UserId;
+use Piwik\Plugins\CoreHome\Columns\VisitLastActionTime;
+use Piwik\Tests\Framework\Fixture;
+use Piwik\Tests\Framework\Mock\FakeAccess;
+use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
+use Piwik\DataTable;
+use Piwik\Tracker\Request;
+use Piwik\Tracker\Visit\VisitProperties;
+use Piwik\Tracker\Visitor;
+use Piwik\Tracker\VisitorRecognizer;
+
+/**
+ * @group CoreHome
+ * @group VisitLastActionTimeTest
+ * @group Plugins
+ * @group Column
+ */
+class VisitLastActionTimeTest extends IntegrationTestCase
+{
+ /**
+ * @var VisitLastActionTime
+ */
+ private $lastAction;
+
+ public function setUp(): void
+ {
+ parent::setUp();
+ $this->lastAction = new VisitLastActionTime();
+ }
+
+ public function tearDown(): void
+ {
+ parent::tearDown();
+ }
+
+
+ private function makeRequest($request)
+ {
+ $request['idsite'] = 1;
+
+ return new Request($request);
+ }
+
+ private function getVisitor()
+ {
+ $visit = new VisitProperties();
+ $visit->setProperty('idvisit', '321');
+ $visit->setProperty('idvisitor', Common::hex2bin('1234567890234567'));
+ $visitor = new Visitor($visit, $isKnown = false);
+
+ return $visitor;
+ }
+
+ public function test_onExistingVisit_whenPing()
+ {
+ $request = $this->makeRequest(array('ping' => 1));
+ $visitor = $this->getVisitor();
+ $this->assertFalse($this->lastAction->onExistingVisit($request, $visitor, $action = null));
+ }
+
+ public function test_onExistingVisit_whenNewVisitReturnsTimeFromRequest()
+ {
+ $now = time() - 5; // -5 so we make sure this time is used and not actually now
+ $request = $this->makeRequest(array('cdt' => $now));
+ $this->assertEquals($now, $request->getCurrentTimestamp());
+
+ $visitor = $this->getVisitor();
+
+ $expected = Date::factory($now)->getDatetime();
+ $this->assertSame($expected, $this->lastAction->onExistingVisit($request, $visitor, $action = null));
+ }
+
+ public function test_onExistingVisit_whenKnownVisitRequestTimeIsNewer()
+ {
+ $now = time() - 5; // -5 so we make sure this time is used and not actually now
+ $previousTime = $now - 10; // is older
+ $request = $this->makeRequest(array('cdt' => $now));
+ $this->assertEquals($now, $request->getCurrentTimestamp());
+
+ $visitor = $this->getVisitor();
+ $visitor->setVisitorColumn(VisitorRecognizer::KEY_ORIGINAL_VISIT_ROW,
+ array('visit_last_action_time' => Date::factory($previousTime)->getDatetime())
+ );
+
+ $expected = Date::factory($now)->getDatetime();
+ $this->assertSame($expected, $this->lastAction->onExistingVisit($request, $visitor, $action = null));
+ }
+
+ public function test_onExistingVisit_whenKnownVisitAndPreviousVisitTimeIsNewer()
+ {
+ $now = time() - 5; // -5 so we make sure this time is used and not actually now
+ $previousTime = $now + 10; // is newer
+ $request = $this->makeRequest(array('cdt' => $now));
+ $this->assertEquals($now, $request->getCurrentTimestamp());
+
+ $visitor = $this->getVisitor();
+ $visitor->setVisitorColumn(VisitorRecognizer::KEY_ORIGINAL_VISIT_ROW,
+ array('visit_last_action_time' => Date::factory($previousTime)->getDatetime())
+ );
+
+ $expected = Date::factory($previousTime)->getDatetime();
+ // should keep existing visit last action time
+ $this->assertSame($expected, $this->lastAction->onExistingVisit($request, $visitor, $action = null));
+ }
+}
diff --git a/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml b/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml
index 22a34a78a5..05c93467e9 100644
--- a/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml
+++ b/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml
@@ -108,7 +108,7 @@
<referrerName>Google</referrerName>
<referrerKeyword>this keyword should be ranked</referrerKeyword>
<referrerKeywordPosition>1</referrerKeywordPosition>
- <referrerUrl>http://www.google.com/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CB4QFjAA&amp;url=http://piwik.org/&amp;rct=j&amp;q=this keyword should be ranked&amp;ei=V8WfTePkKKLfiALrpZWGAw&amp;usg=AFQjCNF_MGJRqKPvaKuUokHtZ3VvNG9ALw&amp;sig2=BvKAdCtNixsmfNWXjsNyMw</referrerUrl>
+ <referrerUrl>http://www.google.com/url?source=web&amp;cd=1&amp;url=http://piwik.org/&amp;rct=j&amp;q=this keyword should be ranked&amp;sig2=BvKAdCtNixsmfNWXjsNyMw</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Morpheus/icons/dist/searchEngines/google.com.png</referrerSearchEngineIcon>
<referrerSocialNetworkUrl />
diff --git a/plugins/DevicesDetection/functions.php b/plugins/DevicesDetection/functions.php
index 472fe5ad3d..65fc1d2833 100644
--- a/plugins/DevicesDetection/functions.php
+++ b/plugins/DevicesDetection/functions.php
@@ -135,6 +135,7 @@ function getDeviceTypeLabel($label)
'camera' => 'DevicesDetection_Camera',
'portable media player' => 'DevicesDetection_PortableMediaPlayer',
'smart speaker' => 'DevicesDetection_SmartSpeaker',
+ 'wearable' => 'DevicesDetection_Wearable',
);
$deviceTypes = DeviceParser::getAvailableDeviceTypes();
diff --git a/plugins/DevicesDetection/lang/en.json b/plugins/DevicesDetection/lang/en.json
index e985e0c060..26d6bc7182 100644
--- a/plugins/DevicesDetection/lang/en.json
+++ b/plugins/DevicesDetection/lang/en.json
@@ -48,6 +48,7 @@
"TV": "Tv",
"UserAgent": "User-Agent",
"XVisitsFromDevices": "%1$s visits from %2$s devices",
+ "Wearable": "Wearable",
"WidgetBrowsers": "Visitor Browser",
"WidgetBrowsersDocumentation": "This report contains information about what kind of browser your visitors were using. Each browser version is listed separately."
}
diff --git a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml
index c5ea05a965..d959ebf6cb 100644
--- a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml
+++ b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml
@@ -148,4 +148,10 @@
<segment>deviceType==smart+speaker</segment>
<logo>plugins/Morpheus/icons/dist/devices/smart_speaker.png</logo>
</row>
+ <row>
+ <label>Wearable</label>
+ <nb_visits>0</nb_visits>
+ <segment>deviceType==wearable</segment>
+ <logo>plugins/Morpheus/icons/dist/devices/wearable.png</logo>
+ </row>
</result> \ No newline at end of file
diff --git a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__Goals.get_day.xml b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__Goals.get_day.xml
index 27200051aa..3a8d1b2d0c 100644
--- a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__Goals.get_day.xml
+++ b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__Goals.get_day.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
- <nb_conversions>8</nb_conversions>
+ <nb_conversions>7</nb_conversions>
<nb_visits_converted>2</nb_visits_converted>
<revenue>1332</revenue>
<conversion_rate>100%</conversion_rate>
- <nb_conversions_new_visit>6</nb_conversions_new_visit>
+ <nb_conversions_new_visit>4</nb_conversions_new_visit>
<nb_visits_converted_new_visit>1</nb_visits_converted_new_visit>
<revenue_new_visit>1332</revenue_new_visit>
<conversion_rate_new_visit>100%</conversion_rate_new_visit>
- <nb_conversions_returning_visit>2</nb_conversions_returning_visit>
+ <nb_conversions_returning_visit>3</nb_conversions_returning_visit>
<nb_visits_converted_returning_visit>1</nb_visits_converted_returning_visit>
<revenue_returning_visit>0</revenue_returning_visit>
<conversion_rate_returning_visit>100%</conversion_rate_returning_visit>
diff --git a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml
index 4a3f7b7062..c5be750480 100644
--- a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml
+++ b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml
@@ -6,9 +6,9 @@
<nb_visits>2</nb_visits>
<nb_actions>5</nb_actions>
<nb_users>0</nb_users>
- <max_actions>3</max_actions>
- <sum_visit_length>363</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>4</max_actions>
+ <sum_visit_length>1121</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>2</nb_visits_converted>
<goals>
<row idgoal='1'>
@@ -22,8 +22,8 @@
<revenue>666</revenue>
</row>
<row idgoal='3'>
- <nb_conversions>2</nb_conversions>
- <nb_visits_converted>2</nb_visits_converted>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
<revenue>0</revenue>
</row>
<row idgoal='4'>
@@ -37,7 +37,7 @@
<revenue>0</revenue>
</row>
</goals>
- <nb_conversions>8</nb_conversions>
+ <nb_conversions>7</nb_conversions>
<revenue>1332</revenue>
<segment>visitStartServerHour==0</segment>
</row>
diff --git a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml
index 7168091d51..bfbd730f69 100644
--- a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml
+++ b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml
@@ -5,10 +5,10 @@
<nb_visits>2</nb_visits>
<nb_actions>5</nb_actions>
<nb_visits_converted>2</nb_visits_converted>
- <bounce_count>0</bounce_count>
- <sum_visit_length>363</sum_visit_length>
- <max_actions>3</max_actions>
- <bounce_rate>0%</bounce_rate>
+ <bounce_count>1</bounce_count>
+ <sum_visit_length>1121</sum_visit_length>
+ <max_actions>4</max_actions>
+ <bounce_rate>50%</bounce_rate>
<nb_actions_per_visit>2.5</nb_actions_per_visit>
- <avg_time_on_site>182</avg_time_on_site>
+ <avg_time_on_site>561</avg_time_on_site>
</result> \ No newline at end of file
diff --git a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit_withLogLinkVisitActionSegment__Goals.get_day.xml b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit_withLogLinkVisitActionSegment__Goals.get_day.xml
index 27200051aa..3a8d1b2d0c 100644
--- a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit_withLogLinkVisitActionSegment__Goals.get_day.xml
+++ b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit_withLogLinkVisitActionSegment__Goals.get_day.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
- <nb_conversions>8</nb_conversions>
+ <nb_conversions>7</nb_conversions>
<nb_visits_converted>2</nb_visits_converted>
<revenue>1332</revenue>
<conversion_rate>100%</conversion_rate>
- <nb_conversions_new_visit>6</nb_conversions_new_visit>
+ <nb_conversions_new_visit>4</nb_conversions_new_visit>
<nb_visits_converted_new_visit>1</nb_visits_converted_new_visit>
<revenue_new_visit>1332</revenue_new_visit>
<conversion_rate_new_visit>100%</conversion_rate_new_visit>
- <nb_conversions_returning_visit>2</nb_conversions_returning_visit>
+ <nb_conversions_returning_visit>3</nb_conversions_returning_visit>
<nb_visits_converted_returning_visit>1</nb_visits_converted_returning_visit>
<revenue_returning_visit>0</revenue_returning_visit>
<conversion_rate_returning_visit>100%</conversion_rate_returning_visit>
diff --git a/plugins/Morpheus/templates/_jsGlobalVariables.twig b/plugins/Morpheus/templates/_jsGlobalVariables.twig
index 7f127d5b2c..70f7710936 100644
--- a/plugins/Morpheus/templates/_jsGlobalVariables.twig
+++ b/plugins/Morpheus/templates/_jsGlobalVariables.twig
@@ -16,7 +16,7 @@
symbolDecimal: "{{ 'Intl_NumberSymbolDecimal'|translate }}"
};
- piwik.relativePluginWebDirs = {{ relativePluginWebDirs|json_encode|raw }}
+ piwik.relativePluginWebDirs = {{ relativePluginWebDirs|json_encode|raw }};
{% if userLogin %}piwik.userLogin = "{{ userLogin|e('js')}}";{% endif %}
diff --git a/plugins/Referrers/Columns/Base.php b/plugins/Referrers/Columns/Base.php
index 108a70a48b..b4e840656d 100644
--- a/plugins/Referrers/Columns/Base.php
+++ b/plugins/Referrers/Columns/Base.php
@@ -119,6 +119,8 @@ abstract class Base extends VisitDimension
}
}
+ $this->excludeQueryParamsFromReferrerUrl();
+
$referrerInformation = array(
'referer_type' => $this->typeReferrerAnalyzed,
'referer_name' => $this->nameReferrerAnalyzed,
@@ -137,6 +139,60 @@ abstract class Base extends VisitDimension
return $referrerInformation;
}
+ protected function excludeQueryParamsFromReferrerUrl()
+ {
+ $parametersToExclude = [];
+
+ if (!empty($this->referrerHost) && strpos($this->referrerHost, 'instagram.com') !== false) {
+ $parametersToExclude[] = 'e';
+ $parametersToExclude[] = 's';
+ }
+ if (!empty($this->referrerHost) && strpos($this->referrerHost, 'facebook.com') !== false) {
+ $parametersToExclude[] = 'h';
+ $parametersToExclude[] = 'p';
+ }
+ if (!empty($this->referrerHost) && (strpos($this->referrerHost, 'google.') !== false || strpos($this->referrerHost, 'googleusercontent.') !== false)) {
+ $parametersToExclude[] = 'ust';
+ $parametersToExclude[] = 'usg';
+ $parametersToExclude[] = 'usd';
+ $parametersToExclude[] = 'sa';
+ $parametersToExclude[] = 'sntz';
+ $parametersToExclude[] = 'ei';
+ $parametersToExclude[] = 'sa';
+ $parametersToExclude[] = 'bvm';
+ $parametersToExclude[] = 'usg';
+ $parametersToExclude[] = 'ved';
+ $parametersToExclude[] = 'client';
+ $parametersToExclude[] = 'channel';
+ }
+
+ if (!empty($this->referrerHost) && strpos($this->referrerHost, 'main.exoclick.com') !== false) {
+ $parametersToExclude[] = 'data';
+ $parametersToExclude[] = 'wpn';
+ }
+ if (!empty($this->referrerHost) && strpos($this->referrerHost, 'youtube.com') !== false) {
+ $parametersToExclude[] = 'redir_token';
+ $parametersToExclude[] = 'html_redirect';
+ $parametersToExclude[] = 'continuation';
+ $parametersToExclude[] = 'feature';
+ }
+ if (!empty($this->referrerHost) && strpos($this->referrerHost, 'bing.com') !== false) {
+ $parametersToExclude[] = 'cvid';
+ $parametersToExclude[] = 'refig';
+ $parametersToExclude[] = 'elv';
+ $parametersToExclude[] = 'plvar';
+ $parametersToExclude[] = 'setlang';
+ $parametersToExclude[] = 'qs';
+ $parametersToExclude[] = 'cc';
+ $parametersToExclude[] = 'mkt';
+ $parametersToExclude[] = 'PC';
+ $parametersToExclude[] = 'form';
+ $parametersToExclude[] = 'src';
+ }
+
+ $this->referrerUrl = PageUrl::excludeQueryParametersFromUrl($this->referrerUrl, $this->idsite, $parametersToExclude);
+ }
+
protected function getReferrerInformationFromRequest(Request $request, Visitor $visitor)
{
$referrerUrl = $request->getParam('urlref');
diff --git a/plugins/Referrers/tests/Integration/Columns/ReferrerUrlTest.php b/plugins/Referrers/tests/Integration/Columns/ReferrerUrlTest.php
new file mode 100644
index 0000000000..db02b19613
--- /dev/null
+++ b/plugins/Referrers/tests/Integration/Columns/ReferrerUrlTest.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Matomo - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Plugins\Referrers\tests\Integration\Columns;
+
+use Piwik\Plugins\Referrers\Columns\ReferrerUrl;
+use Piwik\Tests\Framework\Fixture;
+use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
+use Piwik\Tracker\Cache;
+use Piwik\Tracker\Request;
+use Piwik\Tracker\Visit\VisitProperties;
+use Piwik\Tracker\Visitor;
+
+/**
+ * @group Referrers
+ * @group ReferrerUrlTest
+ * @group ReferrerUrl
+ * @group Plugins
+ */
+class ReferrerUrlTest extends IntegrationTestCase
+{
+ /**
+ * @var ReferrerUrl
+ */
+ private $referrerUrl;
+ private $idSite1 = 1;
+
+ public function setUp(): void
+ {
+ parent::setUp();
+
+ Cache::clearCacheGeneral();
+
+ $date = '2012-01-01 00:00:00';
+ $ecommerce = false;
+
+ Fixture::createWebsite($date, $ecommerce, $name = 'test1', $url = 'http://piwik.org/foo/bar');
+
+ $this->referrerUrl = new ReferrerUrl();
+ }
+
+ public function tearDown(): void
+ {
+ // clean up your test here if needed
+ Cache::clearCacheGeneral();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @dataProvider getReferrerUrls
+ */
+ public function test_onNewVisit_shouldDetectCorrectReferrerUrl($referrerUrl, $expectedUrl)
+ {
+ $request = $this->getRequest(['idsite' => $this->idSite1, 'url' => 'http://piwik.org/foo/bar', 'urlref' => $referrerUrl]);
+ $detectedUrl = $this->referrerUrl->onNewVisit($request, $this->getNewVisitor(), $action = null);
+
+ $this->assertSame($expectedUrl, $detectedUrl);
+ }
+
+ public function getReferrerUrls()
+ {
+ // $referrerUrl, $expectedUrl
+ return [
+ // instagram referrer urls
+ ['https://l.instagram.com/?u=https%3A%2F%2Fexample.com%2Fexample.com&amp;e=BTPcuqWixl6Mf5hgYPp6wXIlstuaEdJssdYEvT9s8-6yme_lb275lY2Bwc-YvE-fZNtSKux4QB-v8xNk&amp;s=1',
+ 'https://l.instagram.com/?u=https%3A%2F%2Fexample.com%2Fexample.com'],
+ ['https://m.instagram.com/?u=https%3A%2F%2Fexample.com%2Fexample.com&e=BTPcuqWixl6Mf5hgYPp6wXIlstuaEdJssdYEvT9s8-6yme_lb275lY2Bwc-YvE-fZNtSKux4QB-v8xNk',
+ 'https://m.instagram.com/?u=https%3A%2F%2Fexample.com%2Fexample.com'],
+
+ // facebook referrer urls
+ ['http://l.facebook.com/l.php?u=http://www.example.com.com/&h=BL0RXrrUUyk_ZbqijDe_mVGBi3ZsyVxJEvOfIhjlUEiRy4zkKwYMDUWbuoICNzhC6pKm6zbGCPAJQP4s8e2psymaokRV3dhp7FPx4Zk6B4x0fBbYTi54xynmBsoBRFB7f5t',
+ 'http://l.facebook.com/l.php?u=http://www.example.com.com/'],
+ ['http://lm.facebook.com/l.php?u=http://example.com/foobar&h=BT2Dh3r3VDLoabL3Rb1lpmN-_s0lFtReSGzBED3kfUGnaO5fPF-x8LspJAfJN9kkee5ptpybYgyIx68yzgo9kPAN6snSZL_eNcmgu5xhuUcLXJukNKvi0XMOY78Ca9NKexnpJKxKUDeVApPcfB',
+ 'http://lm.facebook.com/l.php?u=http://example.com/foobar'],
+
+ // google referrer urls
+ ['https://www.google.com/url?q=https://example.com/foo&sa=D&ust=1689581471834000&usg=BCQjCNFw5f1S7rLgPNephpTW_4-i2KnAGA',
+ 'https://www.google.com/url?q=https://example.com/foo'],
+
+ // bing referrer urls
+ ['https://www.bing.com/search?q=foo+bar&form=EDGTCK&qs=AB&cvid=ff8399e313a74fb592b0ca1d91c42224&refig=4540178a841b46ce8de1664920449112&cc=BE&setlang=4k-NL&elv=AXXfrEiqqD9r3GuelwApuloWthKnH5oOVtTkjmeLPBeagbGxe4rwyaaV!5HJFcbCTxaO4q5w7QqvI8XbCTXyJKn1N4PzqCvVFSdBSr*sdwlB&plvar=0',
+ 'https://www.bing.com/search?q=foo+bar'],
+
+ // ensure custom url still keep those parameters
+ ['http://www.example.com/index.php?s=test&e=val&h=param&cvid=custom',
+ 'http://www.example.com/index.php?s=test&e=val&h=param&cvid=custom']
+ ];
+ }
+
+ private function getRequest($params)
+ {
+ return new Request($params);
+ }
+
+ private function getNewVisitor()
+ {
+ return new Visitor(new VisitProperties());
+ }
+
+}
diff --git a/plugins/SitesManager/templates/_trackingCodeEmail.twig b/plugins/SitesManager/templates/_trackingCodeEmail.twig
index be2a0e2362..06712f1bce 100644
--- a/plugins/SitesManager/templates/_trackingCodeEmail.twig
+++ b/plugins/SitesManager/templates/_trackingCodeEmail.twig
@@ -15,6 +15,7 @@ Squarespace: https://matomo.org/faq/new-to-piwik/how-do-i-integrate-matomo-with-
Wix: https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-wix/
SharePoint: https://matomo.org/faq/how-to-install/faq_19424/
Joomla: https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-joomla/
+Shopify: https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-my-shopify-store/
** {{ 'SitesManager_Integrations'|translate }}
{{ 'CoreAdminHome_JSTrackingIntro3a'|translate('', '') }}
diff --git a/plugins/SitesManager/templates/siteWithoutData.twig b/plugins/SitesManager/templates/siteWithoutData.twig
index 19e831c00e..a1215dd8c5 100644
--- a/plugins/SitesManager/templates/siteWithoutData.twig
+++ b/plugins/SitesManager/templates/siteWithoutData.twig
@@ -49,6 +49,7 @@
| <a target="_blank" rel="noreferrer noopener" href='https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-wix/'>Wix</a>
| <a target="_blank" rel="noreferrer noopener" href='https://matomo.org/faq/how-to-install/faq_19424/'>SharePoint</a>
| <a target="_blank" rel="noreferrer noopener" href='https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-joomla/'>Joomla</a>
+ | <a target="_blank" rel="noreferrer noopener" href='https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-my-shopify-store/'>Shopify</a>
<br >
<br >
{{ 'SitesManager_ExtraInformationNeeded'|translate }}
diff --git a/plugins/TagManager b/plugins/TagManager
-Subproject 567f475764f6922a3889d5c9938150fad7f1b52
+Subproject 2105be36d15030f632efd60d71b761f6e1a5f8f
diff --git a/plugins/UserCountryMap/svg/DEU.svg b/plugins/UserCountryMap/svg/DEU.svg
index dc2f760b63..4f11651182 100644
--- a/plugins/UserCountryMap/svg/DEU.svg
+++ b/plugins/UserCountryMap/svg/DEU.svg
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable_background="new 0 0 450 451" height="451px" style="stroke-linejoin: round; stroke:#000; fill: none;" version="1.1" viewBox="0 0 450 451" width="450px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"><![CDATA[path { fill-rule: evenodd; }]]></style></defs><metadata><views><view h="451" padding="0.06" w="450"><proj id="laea" lat0="51.423631497" lon0="7.55593198638"/><bbox h="104.32" w="79.29" x="982.53" y="950.78"/></view></views></metadata><g class="" id="context"><path d="M450,335L443,332L441,332L437,336L427,337L418,332L410,331L403,328L399,328L394,330L394,329L388,328L388,337L387,340L384,340L380,346L380,350L371,350L369,352L362,353L357,352L355,347L349,344L348,344L348,345L348,353L345,357L338,354L337,355L336,365L333,368L319,376L316,379L314,383L322,393L322,397L320,402L325,402L326,405L325,414L318,411L317,408L313,405L306,407L301,405L295,404L295,409L279,412L274,414L264,421L253,423L249,418L249,417L244,417L241,415L235,416L231,425L226,430L224,430L223,425L220,424L219,420L208,415L205,418L201,417L200,418L201,419L204,421L203,425L201,431L201,432L202,436L202,437L203,442L203,443L204,443L213,445L214,449L228,449L231,446L233,447L234,449L258,449L259,447L263,445L273,443L282,443L289,440L296,437L295,442L296,445L300,449L421,449L423,447L428,446L435,447L435,440L437,437L439,436L444,430L447,428L450,428L450,420L449,416L450,413L448,408L450,406L450,394L446,392L450,388L450,335Z " data-iso="AUT"/><path d="M67,245L72,244L74,247L70,247L77,247L77,248L81,251L85,255L83,258L88,263L89,270L83,275L81,280L81,281L80,280L76,278L72,282L68,291L67,297L69,300L72,306L70,310L69,311L66,311L59,312L51,303L40,297L37,297L37,290L35,288L38,279L35,278L32,280L31,285L27,287L21,288L14,287L15,282L13,277L15,272L10,268L1,266L-1,267L-2,267L-3,260L-8,257L-14,256L-16,248L-17,244L-20,242L-26,244L-32,242L-34,239L-37,233L-36,231L-38,223L-23,215L-14,211L-10,210L-7,217L-2,216L1,216L6,220L8,220L13,218L17,215L19,211L22,213L29,207L33,210L37,207L43,211L46,208L48,215L52,218L55,219L62,219L65,223L72,227L69,234L69,237L66,241L67,246L67,245Z " data-iso="BEL"/><path d="M203,443L200,443L199,443L199,441L199,437L201,431L203,425L204,421L201,419L200,418L194,414L188,411L175,409L171,409L167,406L164,406L161,408L162,412L165,412L165,413L160,415L153,414L149,416L143,417L135,417L132,415L127,418L125,423L117,424L114,421L112,421L108,423L106,426L109,428L108,433L98,443L97,445L90,449L214,449L213,445L204,443L203,443Z M234,449L233,447L231,446L228,449L234,449Z " data-iso="CHE"/><path d="M372,230L372,231L371,232L366,231L366,227L361,223L354,222L353,224L358,228L342,238L336,241L330,243L329,247L321,249L319,253L314,255L312,259L306,258L298,261L295,263L290,273L285,266L283,268L288,277L290,280L299,287L295,296L302,304L305,310L311,317L315,316L319,320L323,325L335,335L338,334L347,341L348,344L349,344L355,347L357,352L362,353L369,352L371,350L380,350L380,346L384,340L387,340L388,337L388,328L394,329L394,330L399,328L403,328L410,331L418,332L427,337L437,336L441,332L443,332L450,335L450,245L444,246L449,254L442,259L441,262L437,262L432,256L427,251L423,249L422,248L424,244L426,243L423,235L416,237L394,231L392,231L388,227L387,223L378,221L378,228L375,229L372,230Z " data-iso="CZE"/><path d="M332,64L325,60L328,66L329,73L333,73L336,72L338,72L337,70L337,68L332,64Z M245,50L243,46L238,44L236,48L240,50L245,50Z M320,47L316,45L316,41L318,39L317,37L312,35L309,31L307,31L304,34L304,51L310,55L311,54L313,50L316,49L320,52L320,47Z M161,37L161,35L156,36L155,37L161,37Z M164,33L173,46L173,50L169,52L163,54L163,59L170,59L171,61L172,75L177,80L182,80L185,82L195,95L200,98L196,97L194,95L185,84L181,82L172,83L163,81L160,86L159,92L161,98L159,107L159,101L154,96L151,104L150,105L147,103L149,99L144,91L132,91L121,92L119,93L115,98L114,108L117,111L118,113L118,118L115,134L112,148L104,147L102,153L102,155L112,159L113,161L112,167L111,170L105,175L103,176L102,179L105,182L103,186L95,189L88,189L84,187L77,191L77,193L84,208L83,215L80,222L82,226L76,231L73,231L74,235L76,235L79,239L77,247L77,248L81,251L85,255L83,258L88,263L89,270L83,275L81,280L81,281L80,282L80,285L85,294L93,300L93,303L89,308L88,313L88,316L89,316L92,317L94,319L97,325L101,332L110,331L111,334L117,335L126,333L128,336L131,337L145,340L150,342L150,347L139,360L138,365L137,372L135,379L132,385L131,390L131,394L131,399L129,406L129,411L130,415L132,415L135,417L143,417L149,416L153,414L160,415L165,413L165,412L162,412L161,408L164,406L167,406L171,409L175,409L188,411L194,414L200,418L201,417L205,418L208,415L219,420L220,424L223,425L224,430L226,430L231,425L235,416L241,415L244,417L249,417L249,418L253,423L264,421L274,414L279,412L295,409L295,404L301,405L306,407L313,405L317,408L318,411L325,414L326,405L325,402L320,402L322,397L322,393L314,383L316,379L319,376L333,368L336,365L337,355L338,354L345,357L348,353L348,345L348,344L347,341L338,334L335,335L323,325L319,320L315,316L311,317L305,310L302,304L295,296L299,287L290,280L288,277L283,268L285,266L290,273L295,263L298,261L306,258L312,259L314,255L319,253L321,249L329,247L330,243L336,241L342,238L358,228L353,224L354,222L361,223L366,227L366,231L371,232L372,231L372,230L372,229L375,222L376,217L377,208L372,198L366,195L366,189L361,182L360,179L362,175L364,165L362,164L361,157L356,151L357,142L353,136L344,130L340,125L346,112L347,103L342,89L340,80L340,80L332,78L327,74L325,66L321,59L313,60L303,53L299,47L284,45L276,55L273,58L271,62L261,63L259,65L252,74L250,75L240,72L235,73L233,72L231,69L237,63L238,57L237,52L228,56L216,50L212,52L209,48L201,49L206,43L205,38L201,32L197,31L196,30L193,29L184,32L182,31L179,30L171,27L164,27L164,33Z M153,33L154,30L161,29L162,27L155,27L154,26L157,19L155,19L152,27L152,34L153,33Z " data-iso="DEU"/><path d="M246,25L242,22L236,22L236,31L249,38L253,36L256,37L259,35L255,27L251,28L246,25Z M219,28L212,23L215,28L219,28Z M282,18L277,15L274,15L269,22L271,23L276,19L282,18Z M206,27L204,21L199,18L198,26L203,27L206,27Z M227,33L232,16L232,11L230,17L227,22L225,25L226,33L227,33Z M346,0L346,6L352,9L358,10L360,5L359,2L355,0L346,0Z M199,0L201,9L203,12L212,16L217,18L223,17L228,13L228,9L227,5L228,3L227,0L199,0Z M239,0L239,2L243,8L248,7L254,8L257,20L257,23L261,30L267,27L267,14L267,8L274,5L276,2L276,0L239,0Z M164,27L171,27L179,30L182,31L184,32L193,29L196,30L195,25L196,23L191,19L187,19L189,15L193,10L194,7L192,0L162,0L163,4L163,13L160,15L163,22L164,27Z " data-iso="DNK"/><path d="M132,415L130,415L129,411L129,406L131,399L131,394L131,390L132,385L135,379L137,372L138,365L139,360L150,347L150,342L145,340L131,337L128,336L126,333L117,335L111,334L110,331L101,332L97,325L94,319L92,317L89,316L88,316L85,315L80,314L78,316L70,313L69,311L66,311L59,312L51,303L40,297L37,297L37,290L35,288L38,279L35,278L32,280L31,285L27,287L21,288L14,287L15,282L13,277L15,272L10,268L1,266L0,266L0,449L90,449L97,445L98,443L108,433L109,428L106,426L108,423L112,421L114,421L117,424L125,423L127,418L132,415Z " data-iso="FRA"/><path d="M439,436L446,436L448,440L449,443L450,444L450,428L447,428L444,430L439,436Z M450,406L448,408L450,413L449,416L450,420L450,406Z M450,388L446,392L450,394L450,388Z " data-iso="HUN"/><path d="M300,449L296,445L295,442L296,437L289,440L282,443L273,443L263,445L259,447L258,449L300,449Z " data-iso="ITA"/><path d="M203,442L202,437L202,436L201,432L201,431L199,437L199,441L199,443L200,443L203,443L203,442Z " data-iso="LIE"/><path d="M80,280L76,278L72,282L68,291L67,297L69,300L72,306L70,310L69,311L70,313L78,316L80,314L85,315L88,316L88,313L89,308L93,303L93,300L85,294L80,285L80,282L81,281L80,280Z " data-iso="LUX"/><path d="M1,216L6,220L8,220L13,218L17,215L19,211L15,213L12,210L8,212L0,210L0,216L1,216Z M11,192L6,192L4,195L7,194L11,198L15,197L11,192Z M44,123L45,117L40,122L41,126L44,123Z M52,110L49,110L46,114L52,110Z M19,211L22,213L29,207L33,210L37,207L43,211L46,208L48,215L52,218L55,219L62,219L65,223L72,227L69,234L69,237L66,241L67,246L67,246L69,246L70,247L77,247L79,239L76,235L74,235L73,231L76,231L82,226L80,222L83,215L84,208L77,193L77,191L84,187L88,189L95,189L103,186L105,182L102,179L103,176L105,175L111,170L112,167L113,161L112,159L102,155L102,153L104,147L112,148L115,134L118,118L118,113L114,112L111,111L106,105L98,105L91,106L82,106L76,108L65,113L62,116L59,122L50,129L44,131L40,130L37,136L33,156L30,163L26,169L20,176L16,179L11,188L17,196L18,199L12,200L20,205L21,207L17,208L8,201L4,199L0,199L0,207L6,209L12,208L16,210L19,211Z M75,151L75,155L73,158L63,167L57,165L48,162L47,160L48,158L49,157L49,156L49,152L49,150L49,147L52,147L55,144L55,141L53,138L51,136L51,133L50,131L56,126L60,124L61,125L61,132L61,134L62,135L65,135L69,135L69,137L68,139L67,140L67,144L67,145L68,147L74,148L75,151Z M59,107L67,104L62,104L55,106L59,107Z M78,103L76,102L71,102L72,104L78,103Z M91,101L90,100L86,102L91,101Z M104,97L106,95L101,97L104,97Z " data-iso="NLD"/><path d="M337,68L337,70L338,72L342,73L349,74L351,83L347,82L340,80L342,89L347,103L346,112L340,125L344,130L353,136L357,142L356,151L361,157L362,164L364,165L362,175L360,179L361,182L366,189L366,195L372,198L377,208L376,217L375,222L372,229L372,230L375,229L378,228L378,221L387,223L388,227L392,231L394,231L416,237L423,235L426,243L424,244L422,248L423,249L427,251L432,256L437,262L441,262L442,259L449,254L444,246L450,245L450,7L443,9L426,16L419,21L416,25L406,28L401,35L396,44L388,47L370,55L353,63L343,69L339,69L337,68Z " data-iso="POL"/><path d="M439,436L437,437L435,440L435,447L428,446L423,447L421,449L450,449L450,444L449,443L448,440L446,436L439,436Z " data-iso="SVN"/></g><g class="" id="regions"><path d="M112,169L106,175L103,176L101,179L105,182L103,186L96,188L90,190L82,187L83,188L78,190L79,198L83,205L85,211L83,217L81,220L80,225L82,226L77,230L75,232L74,231L73,233L75,235L77,236L79,241L77,246L81,250L83,254L85,255L82,258L84,261L88,262L89,265L88,268L89,270L89,270L96,267L101,269L104,268L102,264L107,261L109,258L118,254L120,255L124,250L129,249L136,243L136,240L139,240L148,250L149,251L149,250L150,248L149,246L152,243L157,241L163,233L162,229L166,229L168,228L169,221L168,220L163,220L167,215L172,214L175,213L175,212L176,208L179,208L183,210L184,210L189,202L191,200L192,199L190,200L190,195L192,192L192,188L187,188L188,186L186,184L186,182L182,181L183,180L181,174L177,174L179,168L176,167L177,163L178,163L181,159L179,154L177,155L173,160L167,160L167,155L165,153L159,155L159,157L154,157L155,160L158,162L159,163L159,170L160,171L157,175L153,174L148,178L145,178L141,176L145,172L141,170L142,165L143,165L134,159L134,157L130,158L129,161L120,167L115,167L112,169L112,169Z " data-fips="GM07" data-fips-="GM06" data-iso3="DEU" data-name="Nordrhein-Westfalen" data-p="NW"/><path d="M183,309L183,310L183,313L177,314L178,316L175,319L173,319L174,314L170,311L168,308L164,312L160,309L159,310L159,311L160,316L162,317L162,325L158,329L158,334L152,343L151,344L148,351L146,352L138,361L139,366L136,372L136,376L134,381L132,384L130,391L132,394L128,409L131,416L133,415L134,418L142,417L147,417L152,414L156,414L160,416L164,414L166,415L166,411L164,412L161,408L162,406L166,404L169,405L171,410L173,408L181,411L186,411L191,412L201,417L201,418L208,413L217,409L221,409L221,407L220,403L221,402L220,394L221,386L220,384L218,378L216,373L218,367L224,365L227,361L225,356L231,354L232,353L230,352L231,347L230,344L231,343L223,334L224,333L220,327L219,323L218,321L218,314L217,311L215,314L212,313L211,310L208,310L210,307L206,301L202,303L201,299L196,297L190,299L190,301L192,303L193,302L194,305L190,306L188,309L183,310L183,309Z " data-fips="GM01" data-fips-="" data-iso3="DEU" data-name="Baden-Württemberg" data-p="BW"/><path d="M208,212L206,213L204,212L201,214L203,216L200,217L196,215L199,212L198,204L200,203L199,201L192,199L192,199L191,200L189,202L184,210L183,210L179,208L176,208L175,212L175,213L172,214L167,215L163,220L168,220L169,221L168,228L166,229L162,229L163,233L157,241L152,243L149,246L150,248L149,250L149,251L149,252L147,259L145,260L145,263L144,266L146,267L148,271L148,273L146,273L141,278L142,282L137,285L141,289L142,289L146,286L151,285L152,285L156,289L157,295L159,300L161,300L157,305L159,308L159,310L160,309L164,312L168,308L170,311L174,314L173,319L175,319L178,316L177,314L183,313L183,310L183,309L183,309L184,301L182,295L181,295L180,292L180,284L178,284L182,280L190,279L193,282L201,272L204,270L204,265L212,263L214,259L214,259L214,259L214,252L212,250L210,253L208,253L210,243L212,242L213,239L211,237L213,236L213,233L216,233L217,230L216,230L217,227L215,226L218,224L215,222L213,221L212,218L210,218L208,213L209,213L208,212Z " data-fips="GM05" data-fips-="" data-iso3="DEU" data-name="Hessen" data-p="HE"/><path d="M162,117L160,117L166,124L166,125L169,125L173,126L175,125L175,120L172,120L162,117Z M160,96L161,99L161,99L161,100L161,100L164,100L163,97L160,95L160,96Z " data-fips="GM03" data-fips-="" data-iso3="DEU" data-name="Bremen" data-p="HB"/><path d="M104,97L102,96L102,98L104,97Z M123,90L118,90L121,90L123,90Z M125,89L125,90L126,89L125,89Z M149,89L147,90L148,90L149,89Z M137,87L135,86L135,88L137,87Z M160,95L163,97L164,100L161,100L161,101L161,99L153,95L151,97L154,101L152,106L148,104L146,104L146,101L149,100L142,90L128,92L127,91L122,92L115,97L116,100L116,101L114,110L122,110L120,111L117,120L118,128L114,136L113,139L112,148L104,147L101,154L102,157L109,158L111,157L113,160L112,168L112,169L115,167L120,167L129,161L130,158L134,157L134,159L143,165L142,165L141,170L145,172L141,176L145,178L148,178L153,174L157,175L160,171L159,170L159,163L158,162L155,160L154,157L159,157L159,155L165,153L167,155L167,160L173,160L177,155L179,154L181,159L178,163L177,163L176,167L179,168L177,174L181,174L183,180L182,181L186,182L186,184L188,186L187,188L192,188L192,192L190,195L190,200L192,199L192,199L199,201L200,203L198,204L199,212L196,215L200,217L203,216L201,214L204,212L206,213L208,212L209,213L211,211L215,210L223,201L227,203L232,202L232,199L233,198L232,197L232,194L229,191L229,187L231,185L231,182L228,179L244,171L244,165L242,163L243,159L239,154L241,152L237,144L232,137L233,134L235,134L240,131L245,130L248,132L256,128L256,125L258,124L258,122L256,122L254,121L253,120L251,122L250,121L250,121L250,121L249,120L248,118L244,116L240,117L237,114L229,106L228,106L226,106L225,107L224,106L219,104L218,103L217,103L216,104L213,105L209,103L207,104L201,103L199,98L197,98L191,92L190,91L188,88L183,82L178,82L175,83L170,84L165,81L161,84L159,90L160,95L160,95Z M160,117L162,117L172,120L175,120L175,125L173,126L169,125L166,125L166,124L160,117Z " data-fips="GM06" data-fips-="" data-iso3="DEU" data-name="Niedersachsen" data-p="NI"/><path d="M287,225L287,229L286,233L278,232L273,229L270,230L266,225L259,226L258,222L255,220L259,216L256,212L250,210L243,210L242,204L240,202L241,200L234,199L233,198L232,199L232,202L227,203L223,201L215,210L211,211L209,213L208,213L210,218L212,218L213,221L215,222L218,224L215,226L217,227L216,230L217,230L216,233L213,233L213,236L211,237L213,239L212,242L210,243L208,253L210,253L212,250L214,252L214,259L214,259L216,256L219,257L220,259L226,265L227,264L231,266L233,269L234,273L237,274L237,272L241,272L241,271L237,268L239,265L242,264L246,266L249,266L252,267L251,268L255,269L255,260L258,257L260,257L261,261L264,264L266,263L276,262L277,261L276,261L277,257L279,254L280,254L284,253L290,246L288,246L288,241L291,238L295,236L299,235L298,231L296,230L294,226L289,225L287,225L287,225Z " data-fips="GM15" data-fips-="" data-iso3="DEU" data-name="Thüringen" data-p="TH"/><path d="M217,103L212,99L213,91L211,89L209,89L208,91L204,93L198,97L200,97L201,97L201,98L201,98L199,98L201,103L207,104L209,103L213,105L216,104L217,103L217,103Z " data-fips="GM04" data-fips-="" data-iso3="DEU" data-name="Hamburg" data-p="HH"/><path d="M171,50L169,47L168,48L171,50Z M244,47L242,45L238,44L236,48L239,48L239,50L242,50L246,50L244,47Z M164,48L165,45L162,48L164,48Z M154,37L152,39L155,41L153,38L154,37Z M161,38L160,35L156,36L158,38L161,38Z M198,97L204,93L208,91L209,89L211,89L213,91L212,99L217,103L217,103L218,103L219,104L224,106L225,107L226,106L226,106L228,102L233,98L234,96L237,96L236,89L230,86L230,80L234,77L234,75L234,75L230,72L230,70L231,68L232,68L239,63L239,53L240,52L234,52L229,56L224,54L212,52L210,56L211,49L201,49L205,46L206,39L204,33L199,33L198,32L192,30L191,28L188,31L171,27L163,29L163,30L165,36L167,38L169,42L174,48L171,52L167,53L163,55L165,55L162,57L166,59L173,59L170,61L169,67L170,68L173,67L175,69L175,73L169,73L172,78L182,80L187,83L192,94L197,97L198,97Z M155,27L155,22L157,19L156,18L154,20L152,26L152,35L153,29L157,29L155,27Z " data-fips="GM10" data-fips-="" data-iso3="DEU" data-name="Schleswig-Holstein" data-p="SH"/><path d="M89,270L82,275L82,278L81,279L80,284L82,290L84,293L89,297L93,298L93,303L88,312L88,312L97,312L100,311L110,307L113,308L120,310L119,318L123,324L120,328L123,332L124,332L128,336L136,339L137,338L143,339L148,342L152,343L152,343L158,334L158,329L162,325L162,317L160,316L159,311L159,310L159,308L157,305L161,300L159,300L157,295L156,289L152,285L151,285L146,286L142,289L141,289L137,285L142,282L141,278L146,273L148,273L148,271L146,267L144,266L145,263L145,260L147,259L149,252L149,251L148,250L139,240L136,240L136,243L129,249L124,250L120,255L118,254L109,258L107,261L102,264L104,268L101,269L96,267L89,270L89,270Z " data-fips="GM08" data-fips-="" data-iso3="DEU" data-name="Rheinland-Pfalz" data-p="RP"/><path d="M88,314L88,316L90,316L93,317L96,321L101,332L104,333L105,332L111,331L112,335L120,335L123,332L123,332L120,328L123,324L119,318L120,310L113,308L110,307L100,311L97,312L88,312L88,314Z " data-fips="GM09" data-fips-="" data-iso3="DEU" data-name="Saarland" data-p="SL"/><path d="M214,259L214,259L212,263L204,265L204,270L201,272L193,282L190,279L182,280L178,284L180,284L180,292L181,295L182,295L184,301L183,309L183,309L183,310L188,309L190,306L194,305L193,302L192,303L190,301L190,299L196,297L201,299L202,303L206,301L210,307L208,310L211,310L212,313L215,314L217,311L218,314L218,321L219,323L220,327L224,333L223,334L231,343L230,344L231,347L230,352L232,353L231,354L225,356L227,361L224,365L218,367L216,373L218,378L220,384L221,386L220,394L221,402L220,403L221,407L221,409L217,409L208,413L201,418L203,418L206,418L210,414L211,417L215,417L217,420L218,419L220,422L220,426L223,425L225,426L223,431L227,430L229,428L233,423L232,414L236,417L239,415L248,416L249,417L248,418L252,421L252,423L257,423L259,421L263,422L264,420L267,419L266,418L268,416L273,416L276,411L282,412L283,410L286,410L295,409L296,406L295,405L303,404L306,407L313,405L318,408L317,411L321,413L325,415L326,413L327,404L326,404L320,401L322,393L321,391L313,382L318,376L320,376L323,373L327,371L331,370L336,365L337,355L339,354L343,355L346,357L349,347L348,346L348,343L341,336L340,335L337,334L336,336L332,331L328,327L326,327L318,319L318,318L311,317L308,314L305,312L299,299L297,298L298,291L298,291L295,282L289,280L285,271L283,270L283,266L284,266L280,264L279,263L278,261L277,261L276,262L266,263L264,264L261,261L260,257L258,257L255,260L255,269L251,268L252,267L249,266L246,266L242,264L239,265L237,268L241,271L241,272L237,272L237,274L234,273L233,269L231,266L227,264L226,265L220,259L219,257L216,256L214,259Z " data-fips="GM02" data-fips-="GM15" data-iso3="DEU" data-name="Bayern" data-p="BY"/><path d="M321,139L312,141L312,143L310,146L310,148L309,153L311,153L324,152L327,155L329,150L327,147L326,147L326,144L323,143L321,139Z " data-fips="GM16" data-fips-="" data-iso3="DEU" data-name="Berlin" data-p="BE"/><path d="M312,194L314,190L313,186L316,182L305,180L304,180L296,176L295,177L287,174L286,173L281,167L282,153L281,148L278,149L278,144L279,143L279,135L280,134L279,131L269,129L266,128L264,125L262,125L259,122L258,122L258,124L256,125L256,128L248,132L245,130L240,131L235,134L233,134L232,137L237,144L241,152L239,154L243,159L242,163L244,165L244,171L228,179L231,182L231,185L229,187L229,191L232,194L232,197L233,198L234,199L241,200L240,202L242,204L243,210L250,210L256,212L259,216L255,220L258,222L259,226L266,225L270,230L273,229L278,232L286,233L287,229L287,225L287,225L285,225L282,216L283,212L283,201L284,200L290,199L291,197L298,197L302,195L305,192L306,193L310,195L311,195L312,194Z " data-fips="GM14" data-fips-="" data-iso3="DEU" data-name="Sachsen-Anhalt" data-p="ST"/><path d="M287,225L289,225L294,226L296,230L298,231L299,235L295,236L291,238L288,241L288,246L290,246L284,253L280,254L279,254L277,257L276,261L277,261L278,261L279,263L280,264L284,266L285,266L287,269L289,269L291,274L294,265L296,264L297,261L304,260L307,258L312,259L315,254L320,252L321,249L323,249L326,246L327,248L329,246L333,241L340,240L342,237L346,235L352,232L353,231L357,230L358,229L355,226L353,225L355,222L357,223L360,221L364,228L366,228L366,230L372,231L372,229L375,222L377,215L376,206L374,200L372,197L366,195L365,194L362,193L359,194L353,197L349,196L346,198L344,202L341,206L335,207L330,207L323,204L317,206L316,201L311,195L311,195L310,195L306,193L305,192L302,195L298,197L291,197L290,199L284,200L283,201L283,212L282,216L285,225L287,225Z " data-fips="GM13" data-fips-="" data-iso3="DEU" data-name="Sachsen" data-p="SN"/><path d="M268,109L268,109L266,112L263,112L260,111L256,114L256,118L252,118L252,119L248,119L249,120L250,121L250,121L250,121L251,122L253,120L254,121L256,122L258,122L259,122L262,125L264,125L266,128L269,129L279,131L280,134L279,135L279,143L278,144L278,149L281,148L282,153L281,167L286,173L287,174L295,177L296,176L304,180L305,180L316,182L313,186L314,190L312,194L311,195L311,195L316,201L317,206L323,204L330,207L335,207L341,206L344,202L346,198L349,196L353,197L359,194L362,193L365,194L365,194L365,187L360,181L360,178L363,173L364,166L362,164L362,157L357,155L355,148L357,146L358,139L355,137L353,136L349,132L343,128L340,127L341,125L340,121L345,117L347,111L346,109L348,104L346,101L346,100L342,105L337,103L341,99L337,96L336,97L331,97L329,92L326,92L324,95L319,100L318,103L315,106L312,106L309,109L307,108L303,113L297,112L287,108L284,109L281,106L278,105L277,104L272,105L269,109L268,109Z M321,139L323,143L326,144L326,147L327,147L329,150L327,155L324,152L311,153L309,153L310,148L310,146L312,143L312,141L321,139Z " data-fips="GM11" data-fips-="GM16" data-iso3="DEU" data-name="Brandenburg" data-p="BE"/><path d="M254,69L256,66L253,67L254,69Z M330,62L323,57L324,63L323,65L326,64L326,66L329,63L332,65L332,68L328,68L329,70L327,73L329,74L333,73L337,72L337,70L330,62Z M234,75L234,77L230,80L230,86L236,89L237,96L234,96L233,98L228,102L226,106L226,106L228,106L229,106L237,114L240,117L244,116L248,118L248,119L252,119L252,118L254,118L256,118L256,114L260,111L263,112L266,112L268,109L269,109L272,105L277,104L278,105L281,106L284,109L287,108L297,112L303,113L307,108L309,109L312,106L315,106L318,103L319,100L324,95L326,92L329,92L331,97L336,97L337,96L341,99L337,103L342,105L346,100L345,97L344,94L342,90L342,87L339,81L340,79L339,78L338,79L333,79L327,75L325,74L328,69L323,65L324,61L320,59L321,58L314,63L311,58L309,58L307,56L304,54L301,51L300,48L298,46L297,46L293,50L290,49L289,48L282,52L280,56L279,56L281,49L285,49L295,46L285,46L282,45L280,49L276,56L269,61L262,63L257,64L255,69L252,72L252,77L248,74L245,75L245,73L242,71L239,72L235,75L234,75Z M302,37L302,37L302,37L302,37Z M302,37L300,36L301,39L302,37Z M309,33L309,31L304,33L306,34L305,38L308,35L311,38L313,37L313,42L310,41L308,37L302,39L303,41L304,41L304,45L306,48L303,48L302,50L307,54L309,53L309,55L311,53L322,48L315,43L315,42L318,38L315,36L310,37L309,33Z " data-fips="GM12" data-fips-="" data-iso3="DEU" data-name="Mecklenburg-Vorpommern" data-p="MV"/></g></svg> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable_background="new 0 0 450 451" height="451px" style="stroke-linejoin: round; stroke:#000; fill: none;" version="1.1" viewBox="0 0 450 451" width="450px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"><![CDATA[path { fill-rule: evenodd; }]]></style></defs><metadata><views><view h="451" padding="0.06" w="450"><proj id="laea" lat0="51.423631497" lon0="7.55593198638"/><bbox h="104.32" w="79.29" x="982.53" y="950.78"/></view></views></metadata><g class="" id="context"><path d="M450,335L443,332L441,332L437,336L427,337L418,332L410,331L403,328L399,328L394,330L394,329L388,328L388,337L387,340L384,340L380,346L380,350L371,350L369,352L362,353L357,352L355,347L349,344L348,344L348,345L348,353L345,357L338,354L337,355L336,365L333,368L319,376L316,379L314,383L322,393L322,397L320,402L325,402L326,405L325,414L318,411L317,408L313,405L306,407L301,405L295,404L295,409L279,412L274,414L264,421L253,423L249,418L249,417L244,417L241,415L235,416L231,425L226,430L224,430L223,425L220,424L219,420L208,415L205,418L201,417L200,418L201,419L204,421L203,425L201,431L201,432L202,436L202,437L203,442L203,443L204,443L213,445L214,449L228,449L231,446L233,447L234,449L258,449L259,447L263,445L273,443L282,443L289,440L296,437L295,442L296,445L300,449L421,449L423,447L428,446L435,447L435,440L437,437L439,436L444,430L447,428L450,428L450,420L449,416L450,413L448,408L450,406L450,394L446,392L450,388L450,335Z " data-iso="AUT"/><path d="M67,245L72,244L74,247L70,247L77,247L77,248L81,251L85,255L83,258L88,263L89,270L83,275L81,280L81,281L80,280L76,278L72,282L68,291L67,297L69,300L72,306L70,310L69,311L66,311L59,312L51,303L40,297L37,297L37,290L35,288L38,279L35,278L32,280L31,285L27,287L21,288L14,287L15,282L13,277L15,272L10,268L1,266L-1,267L-2,267L-3,260L-8,257L-14,256L-16,248L-17,244L-20,242L-26,244L-32,242L-34,239L-37,233L-36,231L-38,223L-23,215L-14,211L-10,210L-7,217L-2,216L1,216L6,220L8,220L13,218L17,215L19,211L22,213L29,207L33,210L37,207L43,211L46,208L48,215L52,218L55,219L62,219L65,223L72,227L69,234L69,237L66,241L67,246L67,245Z " data-iso="BEL"/><path d="M203,443L200,443L199,443L199,441L199,437L201,431L203,425L204,421L201,419L200,418L194,414L188,411L175,409L171,409L167,406L164,406L161,408L162,412L165,412L165,413L160,415L153,414L149,416L143,417L135,417L132,415L127,418L125,423L117,424L114,421L112,421L108,423L106,426L109,428L108,433L98,443L97,445L90,449L214,449L213,445L204,443L203,443Z M234,449L233,447L231,446L228,449L234,449Z " data-iso="CHE"/><path d="M372,230L372,231L371,232L366,231L366,227L361,223L354,222L353,224L358,228L342,238L336,241L330,243L329,247L321,249L319,253L314,255L312,259L306,258L298,261L295,263L290,273L285,266L283,268L288,277L290,280L299,287L295,296L302,304L305,310L311,317L315,316L319,320L323,325L335,335L338,334L347,341L348,344L349,344L355,347L357,352L362,353L369,352L371,350L380,350L380,346L384,340L387,340L388,337L388,328L394,329L394,330L399,328L403,328L410,331L418,332L427,337L437,336L441,332L443,332L450,335L450,245L444,246L449,254L442,259L441,262L437,262L432,256L427,251L423,249L422,248L424,244L426,243L423,235L416,237L394,231L392,231L388,227L387,223L378,221L378,228L375,229L372,230Z " data-iso="CZE"/><path d="M332,64L325,60L328,66L329,73L333,73L336,72L338,72L337,70L337,68L332,64Z M245,50L243,46L238,44L236,48L240,50L245,50Z M320,47L316,45L316,41L318,39L317,37L312,35L309,31L307,31L304,34L304,51L310,55L311,54L313,50L316,49L320,52L320,47Z M161,37L161,35L156,36L155,37L161,37Z M164,33L173,46L173,50L169,52L163,54L163,59L170,59L171,61L172,75L177,80L182,80L185,82L195,95L200,98L196,97L194,95L185,84L181,82L172,83L163,81L160,86L159,92L161,98L159,107L159,101L154,96L151,104L150,105L147,103L149,99L144,91L132,91L121,92L119,93L115,98L114,108L117,111L118,113L118,118L115,134L112,148L104,147L102,153L102,155L112,159L113,161L112,167L111,170L105,175L103,176L102,179L105,182L103,186L95,189L88,189L84,187L77,191L77,193L84,208L83,215L80,222L82,226L76,231L73,231L74,235L76,235L79,239L77,247L77,248L81,251L85,255L83,258L88,263L89,270L83,275L81,280L81,281L80,282L80,285L85,294L93,300L93,303L89,308L88,313L88,316L89,316L92,317L94,319L97,325L101,332L110,331L111,334L117,335L126,333L128,336L131,337L145,340L150,342L150,347L139,360L138,365L137,372L135,379L132,385L131,390L131,394L131,399L129,406L129,411L130,415L132,415L135,417L143,417L149,416L153,414L160,415L165,413L165,412L162,412L161,408L164,406L167,406L171,409L175,409L188,411L194,414L200,418L201,417L205,418L208,415L219,420L220,424L223,425L224,430L226,430L231,425L235,416L241,415L244,417L249,417L249,418L253,423L264,421L274,414L279,412L295,409L295,404L301,405L306,407L313,405L317,408L318,411L325,414L326,405L325,402L320,402L322,397L322,393L314,383L316,379L319,376L333,368L336,365L337,355L338,354L345,357L348,353L348,345L348,344L347,341L338,334L335,335L323,325L319,320L315,316L311,317L305,310L302,304L295,296L299,287L290,280L288,277L283,268L285,266L290,273L295,263L298,261L306,258L312,259L314,255L319,253L321,249L329,247L330,243L336,241L342,238L358,228L353,224L354,222L361,223L366,227L366,231L371,232L372,231L372,230L372,229L375,222L376,217L377,208L372,198L366,195L366,189L361,182L360,179L362,175L364,165L362,164L361,157L356,151L357,142L353,136L344,130L340,125L346,112L347,103L342,89L340,80L340,80L332,78L327,74L325,66L321,59L313,60L303,53L299,47L284,45L276,55L273,58L271,62L261,63L259,65L252,74L250,75L240,72L235,73L233,72L231,69L237,63L238,57L237,52L228,56L216,50L212,52L209,48L201,49L206,43L205,38L201,32L197,31L196,30L193,29L184,32L182,31L179,30L171,27L164,27L164,33Z M153,33L154,30L161,29L162,27L155,27L154,26L157,19L155,19L152,27L152,34L153,33Z " data-iso="DEU"/><path d="M246,25L242,22L236,22L236,31L249,38L253,36L256,37L259,35L255,27L251,28L246,25Z M219,28L212,23L215,28L219,28Z M282,18L277,15L274,15L269,22L271,23L276,19L282,18Z M206,27L204,21L199,18L198,26L203,27L206,27Z M227,33L232,16L232,11L230,17L227,22L225,25L226,33L227,33Z M346,0L346,6L352,9L358,10L360,5L359,2L355,0L346,0Z M199,0L201,9L203,12L212,16L217,18L223,17L228,13L228,9L227,5L228,3L227,0L199,0Z M239,0L239,2L243,8L248,7L254,8L257,20L257,23L261,30L267,27L267,14L267,8L274,5L276,2L276,0L239,0Z M164,27L171,27L179,30L182,31L184,32L193,29L196,30L195,25L196,23L191,19L187,19L189,15L193,10L194,7L192,0L162,0L163,4L163,13L160,15L163,22L164,27Z " data-iso="DNK"/><path d="M132,415L130,415L129,411L129,406L131,399L131,394L131,390L132,385L135,379L137,372L138,365L139,360L150,347L150,342L145,340L131,337L128,336L126,333L117,335L111,334L110,331L101,332L97,325L94,319L92,317L89,316L88,316L85,315L80,314L78,316L70,313L69,311L66,311L59,312L51,303L40,297L37,297L37,290L35,288L38,279L35,278L32,280L31,285L27,287L21,288L14,287L15,282L13,277L15,272L10,268L1,266L0,266L0,449L90,449L97,445L98,443L108,433L109,428L106,426L108,423L112,421L114,421L117,424L125,423L127,418L132,415Z " data-iso="FRA"/><path d="M439,436L446,436L448,440L449,443L450,444L450,428L447,428L444,430L439,436Z M450,406L448,408L450,413L449,416L450,420L450,406Z M450,388L446,392L450,394L450,388Z " data-iso="HUN"/><path d="M300,449L296,445L295,442L296,437L289,440L282,443L273,443L263,445L259,447L258,449L300,449Z " data-iso="ITA"/><path d="M203,442L202,437L202,436L201,432L201,431L199,437L199,441L199,443L200,443L203,443L203,442Z " data-iso="LIE"/><path d="M80,280L76,278L72,282L68,291L67,297L69,300L72,306L70,310L69,311L70,313L78,316L80,314L85,315L88,316L88,313L89,308L93,303L93,300L85,294L80,285L80,282L81,281L80,280Z " data-iso="LUX"/><path d="M1,216L6,220L8,220L13,218L17,215L19,211L15,213L12,210L8,212L0,210L0,216L1,216Z M11,192L6,192L4,195L7,194L11,198L15,197L11,192Z M44,123L45,117L40,122L41,126L44,123Z M52,110L49,110L46,114L52,110Z M19,211L22,213L29,207L33,210L37,207L43,211L46,208L48,215L52,218L55,219L62,219L65,223L72,227L69,234L69,237L66,241L67,246L67,246L69,246L70,247L77,247L79,239L76,235L74,235L73,231L76,231L82,226L80,222L83,215L84,208L77,193L77,191L84,187L88,189L95,189L103,186L105,182L102,179L103,176L105,175L111,170L112,167L113,161L112,159L102,155L102,153L104,147L112,148L115,134L118,118L118,113L114,112L111,111L106,105L98,105L91,106L82,106L76,108L65,113L62,116L59,122L50,129L44,131L40,130L37,136L33,156L30,163L26,169L20,176L16,179L11,188L17,196L18,199L12,200L20,205L21,207L17,208L8,201L4,199L0,199L0,207L6,209L12,208L16,210L19,211Z M75,151L75,155L73,158L63,167L57,165L48,162L47,160L48,158L49,157L49,156L49,152L49,150L49,147L52,147L55,144L55,141L53,138L51,136L51,133L50,131L56,126L60,124L61,125L61,132L61,134L62,135L65,135L69,135L69,137L68,139L67,140L67,144L67,145L68,147L74,148L75,151Z M59,107L67,104L62,104L55,106L59,107Z M78,103L76,102L71,102L72,104L78,103Z M91,101L90,100L86,102L91,101Z M104,97L106,95L101,97L104,97Z " data-iso="NLD"/><path d="M337,68L337,70L338,72L342,73L349,74L351,83L347,82L340,80L342,89L347,103L346,112L340,125L344,130L353,136L357,142L356,151L361,157L362,164L364,165L362,175L360,179L361,182L366,189L366,195L372,198L377,208L376,217L375,222L372,229L372,230L375,229L378,228L378,221L387,223L388,227L392,231L394,231L416,237L423,235L426,243L424,244L422,248L423,249L427,251L432,256L437,262L441,262L442,259L449,254L444,246L450,245L450,7L443,9L426,16L419,21L416,25L406,28L401,35L396,44L388,47L370,55L353,63L343,69L339,69L337,68Z " data-iso="POL"/><path d="M439,436L437,437L435,440L435,447L428,446L423,447L421,449L450,449L450,444L449,443L448,440L446,436L439,436Z " data-iso="SVN"/></g><g class="" id="regions"><path d="M112,169L106,175L103,176L101,179L105,182L103,186L96,188L90,190L82,187L83,188L78,190L79,198L83,205L85,211L83,217L81,220L80,225L82,226L77,230L75,232L74,231L73,233L75,235L77,236L79,241L77,246L81,250L83,254L85,255L82,258L84,261L88,262L89,265L88,268L89,270L89,270L96,267L101,269L104,268L102,264L107,261L109,258L118,254L120,255L124,250L129,249L136,243L136,240L139,240L148,250L149,251L149,250L150,248L149,246L152,243L157,241L163,233L162,229L166,229L168,228L169,221L168,220L163,220L167,215L172,214L175,213L175,212L176,208L179,208L183,210L184,210L189,202L191,200L192,199L190,200L190,195L192,192L192,188L187,188L188,186L186,184L186,182L182,181L183,180L181,174L177,174L179,168L176,167L177,163L178,163L181,159L179,154L177,155L173,160L167,160L167,155L165,153L159,155L159,157L154,157L155,160L158,162L159,163L159,170L160,171L157,175L153,174L148,178L145,178L141,176L145,172L141,170L142,165L143,165L134,159L134,157L130,158L129,161L120,167L115,167L112,169L112,169Z " data-fips="GM07" data-fips-="GM06" data-iso3="DEU" data-name="Nordrhein-Westfalen" data-p="NW"/><path d="M183,309L183,310L183,313L177,314L178,316L175,319L173,319L174,314L170,311L168,308L164,312L160,309L159,310L159,311L160,316L162,317L162,325L158,329L158,334L152,343L151,344L148,351L146,352L138,361L139,366L136,372L136,376L134,381L132,384L130,391L132,394L128,409L131,416L133,415L134,418L142,417L147,417L152,414L156,414L160,416L164,414L166,415L166,411L164,412L161,408L162,406L166,404L169,405L171,410L173,408L181,411L186,411L191,412L201,417L201,418L208,413L217,409L221,409L221,407L220,403L221,402L220,394L221,386L220,384L218,378L216,373L218,367L224,365L227,361L225,356L231,354L232,353L230,352L231,347L230,344L231,343L223,334L224,333L220,327L219,323L218,321L218,314L217,311L215,314L212,313L211,310L208,310L210,307L206,301L202,303L201,299L196,297L190,299L190,301L192,303L193,302L194,305L190,306L188,309L183,310L183,309Z " data-fips="GM01" data-fips-="" data-iso3="DEU" data-name="Baden-Württemberg" data-p="BW"/><path d="M208,212L206,213L204,212L201,214L203,216L200,217L196,215L199,212L198,204L200,203L199,201L192,199L192,199L191,200L189,202L184,210L183,210L179,208L176,208L175,212L175,213L172,214L167,215L163,220L168,220L169,221L168,228L166,229L162,229L163,233L157,241L152,243L149,246L150,248L149,250L149,251L149,252L147,259L145,260L145,263L144,266L146,267L148,271L148,273L146,273L141,278L142,282L137,285L141,289L142,289L146,286L151,285L152,285L156,289L157,295L159,300L161,300L157,305L159,308L159,310L160,309L164,312L168,308L170,311L174,314L173,319L175,319L178,316L177,314L183,313L183,310L183,309L183,309L184,301L182,295L181,295L180,292L180,284L178,284L182,280L190,279L193,282L201,272L204,270L204,265L212,263L214,259L214,259L214,259L214,252L212,250L210,253L208,253L210,243L212,242L213,239L211,237L213,236L213,233L216,233L217,230L216,230L217,227L215,226L218,224L215,222L213,221L212,218L210,218L208,213L209,213L208,212Z " data-fips="GM05" data-fips-="" data-iso3="DEU" data-name="Hessen" data-p="HE"/><path d="M162,117L160,117L166,124L166,125L169,125L173,126L175,125L175,120L172,120L162,117Z M160,96L161,99L161,99L161,100L161,100L164,100L163,97L160,95L160,96Z " data-fips="GM03" data-fips-="" data-iso3="DEU" data-name="Bremen" data-p="HB"/><path d="M104,97L102,96L102,98L104,97Z M123,90L118,90L121,90L123,90Z M125,89L125,90L126,89L125,89Z M149,89L147,90L148,90L149,89Z M137,87L135,86L135,88L137,87Z M160,95L163,97L164,100L161,100L161,101L161,99L153,95L151,97L154,101L152,106L148,104L146,104L146,101L149,100L142,90L128,92L127,91L122,92L115,97L116,100L116,101L114,110L122,110L120,111L117,120L118,128L114,136L113,139L112,148L104,147L101,154L102,157L109,158L111,157L113,160L112,168L112,169L115,167L120,167L129,161L130,158L134,157L134,159L143,165L142,165L141,170L145,172L141,176L145,178L148,178L153,174L157,175L160,171L159,170L159,163L158,162L155,160L154,157L159,157L159,155L165,153L167,155L167,160L173,160L177,155L179,154L181,159L178,163L177,163L176,167L179,168L177,174L181,174L183,180L182,181L186,182L186,184L188,186L187,188L192,188L192,192L190,195L190,200L192,199L192,199L199,201L200,203L198,204L199,212L196,215L200,217L203,216L201,214L204,212L206,213L208,212L209,213L211,211L215,210L223,201L227,203L232,202L232,199L233,198L232,197L232,194L229,191L229,187L231,185L231,182L228,179L244,171L244,165L242,163L243,159L239,154L241,152L237,144L232,137L233,134L235,134L240,131L245,130L248,132L256,128L256,125L258,124L258,122L256,122L254,121L253,120L251,122L250,121L250,121L250,121L249,120L248,118L244,116L240,117L237,114L229,106L228,106L226,106L225,107L224,106L219,104L218,103L217,103L216,104L213,105L209,103L207,104L201,103L199,98L197,98L191,92L190,91L188,88L183,82L178,82L175,83L170,84L165,81L161,84L159,90L160,95L160,95Z M160,117L162,117L172,120L175,120L175,125L173,126L169,125L166,125L166,124L160,117Z " data-fips="GM06" data-fips-="" data-iso3="DEU" data-name="Niedersachsen" data-p="NI"/><path d="M287,225L287,229L286,233L278,232L273,229L270,230L266,225L259,226L258,222L255,220L259,216L256,212L250,210L243,210L242,204L240,202L241,200L234,199L233,198L232,199L232,202L227,203L223,201L215,210L211,211L209,213L208,213L210,218L212,218L213,221L215,222L218,224L215,226L217,227L216,230L217,230L216,233L213,233L213,236L211,237L213,239L212,242L210,243L208,253L210,253L212,250L214,252L214,259L214,259L216,256L219,257L220,259L226,265L227,264L231,266L233,269L234,273L237,274L237,272L241,272L241,271L237,268L239,265L242,264L246,266L249,266L252,267L251,268L255,269L255,260L258,257L260,257L261,261L264,264L266,263L276,262L277,261L276,261L277,257L279,254L280,254L284,253L290,246L288,246L288,241L291,238L295,236L299,235L298,231L296,230L294,226L289,225L287,225L287,225Z " data-fips="GM15" data-fips-="" data-iso3="DEU" data-name="Thüringen" data-p="TH"/><path d="M217,103L212,99L213,91L211,89L209,89L208,91L204,93L198,97L200,97L201,97L201,98L201,98L199,98L201,103L207,104L209,103L213,105L216,104L217,103L217,103Z " data-fips="GM04" data-fips-="" data-iso3="DEU" data-name="Hamburg" data-p="HH"/><path d="M171,50L169,47L168,48L171,50Z M244,47L242,45L238,44L236,48L239,48L239,50L242,50L246,50L244,47Z M164,48L165,45L162,48L164,48Z M154,37L152,39L155,41L153,38L154,37Z M161,38L160,35L156,36L158,38L161,38Z M198,97L204,93L208,91L209,89L211,89L213,91L212,99L217,103L217,103L218,103L219,104L224,106L225,107L226,106L226,106L228,102L233,98L234,96L237,96L236,89L230,86L230,80L234,77L234,75L234,75L230,72L230,70L231,68L232,68L239,63L239,53L240,52L234,52L229,56L224,54L212,52L210,56L211,49L201,49L205,46L206,39L204,33L199,33L198,32L192,30L191,28L188,31L171,27L163,29L163,30L165,36L167,38L169,42L174,48L171,52L167,53L163,55L165,55L162,57L166,59L173,59L170,61L169,67L170,68L173,67L175,69L175,73L169,73L172,78L182,80L187,83L192,94L197,97L198,97Z M155,27L155,22L157,19L156,18L154,20L152,26L152,35L153,29L157,29L155,27Z " data-fips="GM10" data-fips-="" data-iso3="DEU" data-name="Schleswig-Holstein" data-p="SH"/><path d="M89,270L82,275L82,278L81,279L80,284L82,290L84,293L89,297L93,298L93,303L88,312L88,312L97,312L100,311L110,307L113,308L120,310L119,318L123,324L120,328L123,332L124,332L128,336L136,339L137,338L143,339L148,342L152,343L152,343L158,334L158,329L162,325L162,317L160,316L159,311L159,310L159,308L157,305L161,300L159,300L157,295L156,289L152,285L151,285L146,286L142,289L141,289L137,285L142,282L141,278L146,273L148,273L148,271L146,267L144,266L145,263L145,260L147,259L149,252L149,251L148,250L139,240L136,240L136,243L129,249L124,250L120,255L118,254L109,258L107,261L102,264L104,268L101,269L96,267L89,270L89,270Z " data-fips="GM08" data-fips-="" data-iso3="DEU" data-name="Rheinland-Pfalz" data-p="RP"/><path d="M88,314L88,316L90,316L93,317L96,321L101,332L104,333L105,332L111,331L112,335L120,335L123,332L123,332L120,328L123,324L119,318L120,310L113,308L110,307L100,311L97,312L88,312L88,314Z " data-fips="GM09" data-fips-="" data-iso3="DEU" data-name="Saarland" data-p="SL"/><path d="M214,259L214,259L212,263L204,265L204,270L201,272L193,282L190,279L182,280L178,284L180,284L180,292L181,295L182,295L184,301L183,309L183,309L183,310L188,309L190,306L194,305L193,302L192,303L190,301L190,299L196,297L201,299L202,303L206,301L210,307L208,310L211,310L212,313L215,314L217,311L218,314L218,321L219,323L220,327L224,333L223,334L231,343L230,344L231,347L230,352L232,353L231,354L225,356L227,361L224,365L218,367L216,373L218,378L220,384L221,386L220,394L221,402L220,403L221,407L221,409L217,409L208,413L201,418L203,418L206,418L210,414L211,417L215,417L217,420L218,419L220,422L220,426L223,425L225,426L223,431L227,430L229,428L233,423L232,414L236,417L239,415L248,416L249,417L248,418L252,421L252,423L257,423L259,421L263,422L264,420L267,419L266,418L268,416L273,416L276,411L282,412L283,410L286,410L295,409L296,406L295,405L303,404L306,407L313,405L318,408L317,411L321,413L325,415L326,413L327,404L326,404L320,401L322,393L321,391L313,382L318,376L320,376L323,373L327,371L331,370L336,365L337,355L339,354L343,355L346,357L349,347L348,346L348,343L341,336L340,335L337,334L336,336L332,331L328,327L326,327L318,319L318,318L311,317L308,314L305,312L299,299L297,298L298,291L298,291L295,282L289,280L285,271L283,270L283,266L284,266L280,264L279,263L278,261L277,261L276,262L266,263L264,264L261,261L260,257L258,257L255,260L255,269L251,268L252,267L249,266L246,266L242,264L239,265L237,268L241,271L241,272L237,272L237,274L234,273L233,269L231,266L227,264L226,265L220,259L219,257L216,256L214,259Z " data-fips="GM02" data-fips-="GM15" data-iso3="DEU" data-name="Bayern" data-p="BY"/><path d="M321,139L312,141L312,143L310,146L310,148L309,153L311,153L324,152L327,155L329,150L327,147L326,147L326,144L323,143L321,139Z " data-fips="GM16" data-fips-="" data-iso3="DEU" data-name="Berlin" data-p="BE"/><path d="M312,194L314,190L313,186L316,182L305,180L304,180L296,176L295,177L287,174L286,173L281,167L282,153L281,148L278,149L278,144L279,143L279,135L280,134L279,131L269,129L266,128L264,125L262,125L259,122L258,122L258,124L256,125L256,128L248,132L245,130L240,131L235,134L233,134L232,137L237,144L241,152L239,154L243,159L242,163L244,165L244,171L228,179L231,182L231,185L229,187L229,191L232,194L232,197L233,198L234,199L241,200L240,202L242,204L243,210L250,210L256,212L259,216L255,220L258,222L259,226L266,225L270,230L273,229L278,232L286,233L287,229L287,225L287,225L285,225L282,216L283,212L283,201L284,200L290,199L291,197L298,197L302,195L305,192L306,193L310,195L311,195L312,194Z " data-fips="GM14" data-fips-="" data-iso3="DEU" data-name="Sachsen-Anhalt" data-p="ST"/><path d="M287,225L289,225L294,226L296,230L298,231L299,235L295,236L291,238L288,241L288,246L290,246L284,253L280,254L279,254L277,257L276,261L277,261L278,261L279,263L280,264L284,266L285,266L287,269L289,269L291,274L294,265L296,264L297,261L304,260L307,258L312,259L315,254L320,252L321,249L323,249L326,246L327,248L329,246L333,241L340,240L342,237L346,235L352,232L353,231L357,230L358,229L355,226L353,225L355,222L357,223L360,221L364,228L366,228L366,230L372,231L372,229L375,222L377,215L376,206L374,200L372,197L366,195L365,194L362,193L359,194L353,197L349,196L346,198L344,202L341,206L335,207L330,207L323,204L317,206L316,201L311,195L311,195L310,195L306,193L305,192L302,195L298,197L291,197L290,199L284,200L283,201L283,212L282,216L285,225L287,225Z " data-fips="GM13" data-fips-="" data-iso3="DEU" data-name="Sachsen" data-p="SN"/><path d="M268,109L268,109L266,112L263,112L260,111L256,114L256,118L252,118L252,119L248,119L249,120L250,121L250,121L250,121L251,122L253,120L254,121L256,122L258,122L259,122L262,125L264,125L266,128L269,129L279,131L280,134L279,135L279,143L278,144L278,149L281,148L282,153L281,167L286,173L287,174L295,177L296,176L304,180L305,180L316,182L313,186L314,190L312,194L311,195L311,195L316,201L317,206L323,204L330,207L335,207L341,206L344,202L346,198L349,196L353,197L359,194L362,193L365,194L365,194L365,187L360,181L360,178L363,173L364,166L362,164L362,157L357,155L355,148L357,146L358,139L355,137L353,136L349,132L343,128L340,127L341,125L340,121L345,117L347,111L346,109L348,104L346,101L346,100L342,105L337,103L341,99L337,96L336,97L331,97L329,92L326,92L324,95L319,100L318,103L315,106L312,106L309,109L307,108L303,113L297,112L287,108L284,109L281,106L278,105L277,104L272,105L269,109L268,109Z M321,139L323,143L326,144L326,147L327,147L329,150L327,155L324,152L311,153L309,153L310,148L310,146L312,143L312,141L321,139Z " data-fips="GM11" data-fips-="GM16" data-iso3="DEU" data-name="Brandenburg" data-p="BB"/><path d="M254,69L256,66L253,67L254,69Z M330,62L323,57L324,63L323,65L326,64L326,66L329,63L332,65L332,68L328,68L329,70L327,73L329,74L333,73L337,72L337,70L330,62Z M234,75L234,77L230,80L230,86L236,89L237,96L234,96L233,98L228,102L226,106L226,106L228,106L229,106L237,114L240,117L244,116L248,118L248,119L252,119L252,118L254,118L256,118L256,114L260,111L263,112L266,112L268,109L269,109L272,105L277,104L278,105L281,106L284,109L287,108L297,112L303,113L307,108L309,109L312,106L315,106L318,103L319,100L324,95L326,92L329,92L331,97L336,97L337,96L341,99L337,103L342,105L346,100L345,97L344,94L342,90L342,87L339,81L340,79L339,78L338,79L333,79L327,75L325,74L328,69L323,65L324,61L320,59L321,58L314,63L311,58L309,58L307,56L304,54L301,51L300,48L298,46L297,46L293,50L290,49L289,48L282,52L280,56L279,56L281,49L285,49L295,46L285,46L282,45L280,49L276,56L269,61L262,63L257,64L255,69L252,72L252,77L248,74L245,75L245,73L242,71L239,72L235,75L234,75Z M302,37L302,37L302,37L302,37Z M302,37L300,36L301,39L302,37Z M309,33L309,31L304,33L306,34L305,38L308,35L311,38L313,37L313,42L310,41L308,37L302,39L303,41L304,41L304,45L306,48L303,48L302,50L307,54L309,53L309,55L311,53L322,48L315,43L315,42L318,38L315,36L310,37L309,33Z " data-fips="GM12" data-fips-="" data-iso3="DEU" data-name="Mecklenburg-Vorpommern" data-p="MV"/></g></svg> \ No newline at end of file