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

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/build.gradle1
-rw-r--r--android/gradle.properties4
-rw-r--r--android/jni/com/mapswithme/maps/Framework.cpp2
-rw-r--r--android/jni/com/mapswithme/maps/SearchEngine.cpp7
-rw-r--r--android/jni/com/mapswithme/maps/ugc/UGC.cpp36
-rw-r--r--android/jni/com/mapswithme/platform/Language.cpp27
-rw-r--r--android/jni/com/mapswithme/platform/Language.hpp8
-rw-r--r--android/multidex-config.txt12
-rw-r--r--android/res/drawable-hdpi/ic_24px_rating_coming_soon.pngbin426 -> 394 bytes
-rw-r--r--android/res/drawable-hdpi/ic_altitude_difference.pngbin0 -> 125 bytes
-rw-r--r--android/res/drawable-hdpi/ic_chevron_right_white.pngbin0 -> 187 bytes
-rw-r--r--android/res/drawable-hdpi/ic_filter_list.pngbin0 -> 119 bytes
-rw-r--r--android/res/drawable-hdpi/ic_minus_red.pngbin0 -> 101 bytes
-rw-r--r--android/res/drawable-hdpi/ic_my_location.pngbin0 -> 378 bytes
-rw-r--r--android/res/drawable-hdpi/ic_plus_green.pngbin0 -> 130 bytes
-rw-r--r--android/res/drawable-mdpi/ic_altitude_difference.pngbin0 -> 148 bytes
-rw-r--r--android/res/drawable-mdpi/ic_chevron_right_white.pngbin0 -> 136 bytes
-rw-r--r--android/res/drawable-mdpi/ic_filter_list.pngbin0 -> 97 bytes
-rw-r--r--android/res/drawable-mdpi/ic_minus_red.pngbin0 -> 85 bytes
-rw-r--r--android/res/drawable-mdpi/ic_my_location.pngbin0 -> 257 bytes
-rw-r--r--android/res/drawable-mdpi/ic_plus_green.pngbin0 -> 105 bytes
-rw-r--r--android/res/drawable-xhdpi/ic_altitude_difference.pngbin0 -> 199 bytes
-rw-r--r--android/res/drawable-xhdpi/ic_chevron_right_white.pngbin0 -> 205 bytes
-rw-r--r--android/res/drawable-xhdpi/ic_filter_list.pngbin0 -> 114 bytes
-rw-r--r--android/res/drawable-xhdpi/ic_minus_red.pngbin0 -> 93 bytes
-rw-r--r--android/res/drawable-xhdpi/ic_my_location.pngbin0 -> 437 bytes
-rw-r--r--android/res/drawable-xhdpi/ic_plus_green.pngbin0 -> 116 bytes
-rw-r--r--android/res/drawable-xxhdpi/ic_altitude_difference.pngbin0 -> 184 bytes
-rw-r--r--android/res/drawable-xxhdpi/ic_chevron_right_white.pngbin0 -> 253 bytes
-rw-r--r--android/res/drawable-xxhdpi/ic_filter_list.pngbin0 -> 131 bytes
-rw-r--r--android/res/drawable-xxhdpi/ic_minus_red.pngbin0 -> 120 bytes
-rw-r--r--android/res/drawable-xxhdpi/ic_my_location.pngbin0 -> 727 bytes
-rw-r--r--android/res/drawable-xxhdpi/ic_plus_green.pngbin0 -> 153 bytes
-rw-r--r--android/res/drawable-xxxhdpi/ic_altitude_difference.pngbin0 -> 299 bytes
-rw-r--r--android/res/drawable-xxxhdpi/ic_chevron_right_white.pngbin0 -> 317 bytes
-rw-r--r--android/res/drawable-xxxhdpi/ic_filter_list.pngbin0 -> 161 bytes
-rw-r--r--android/res/drawable-xxxhdpi/ic_minus_red.pngbin0 -> 124 bytes
-rw-r--r--android/res/drawable-xxxhdpi/ic_my_location.pngbin0 -> 938 bytes
-rw-r--r--android/res/drawable-xxxhdpi/ic_plus_green.pngbin0 -> 167 bytes
-rw-r--r--android/res/drawable/ic_altitude_difference.xml4
-rw-r--r--android/res/drawable/ic_chevron_right_white.xml9
-rw-r--r--android/res/drawable/ic_filter_list.xml9
-rw-r--r--android/res/drawable/ic_minus_red.xml8
-rw-r--r--android/res/drawable/ic_my_location.xml4
-rw-r--r--android/res/drawable/ic_plus_green.xml8
-rw-r--r--android/res/layout/divider_horizontal.xml4
-rw-r--r--android/res/layout/fragment_editor.xml4
-rw-r--r--android/res/layout/fragment_ugc_editor.xml2
-rw-r--r--android/res/layout/place_page_bookmark_details.xml3
-rw-r--r--android/res/layout/place_page_details.xml35
-rw-r--r--android/res/layout/place_page_fat_shadow.xml2
-rw-r--r--android/res/layout/place_page_local_ad.xml4
-rw-r--r--android/res/layout/place_page_more.xml5
-rw-r--r--android/res/layout/place_page_ugc.xml15
-rw-r--r--android/res/values-ru/strings.xml3
-rw-r--r--android/res/values/colors.xml3
-rw-r--r--android/res/values/donottranslate.xml1
-rw-r--r--android/res/values/strings.xml3
-rw-r--r--android/res/values/themes-base.xml8
-rw-r--r--android/res/xml/prefs_main.xml7
-rw-r--r--android/src/com/mapswithme/maps/MapFragment.java22
-rw-r--r--android/src/com/mapswithme/maps/MwmActivity.java10
-rw-r--r--android/src/com/mapswithme/maps/MwmApplication.java36
-rw-r--r--android/src/com/mapswithme/maps/SplashActivity.java29
-rw-r--r--android/src/com/mapswithme/maps/auth/BaseMwmAuthorizationFragment.java3
-rw-r--r--android/src/com/mapswithme/maps/auth/Constants.java2
-rw-r--r--android/src/com/mapswithme/maps/background/ConnectivityChangedReceiver.java11
-rw-r--r--android/src/com/mapswithme/maps/background/WorkerService.java12
-rw-r--r--android/src/com/mapswithme/maps/base/BaseMwmFragmentActivity.java8
-rw-r--r--android/src/com/mapswithme/maps/bookmarks/data/MapObject.java1
-rw-r--r--android/src/com/mapswithme/maps/search/SearchFragment.java15
-rw-r--r--android/src/com/mapswithme/maps/settings/SettingsPrefsFragment.java11
-rw-r--r--android/src/com/mapswithme/maps/ugc/EditParams.java161
-rw-r--r--android/src/com/mapswithme/maps/ugc/UGCController.java50
-rw-r--r--android/src/com/mapswithme/maps/ugc/UGCEditorActivity.java24
-rw-r--r--android/src/com/mapswithme/maps/ugc/UGCEditorFragment.java17
-rw-r--r--android/src/com/mapswithme/maps/ugc/UGCRatingRecordsAdapter.java7
-rw-r--r--android/src/com/mapswithme/maps/ugc/UGCUpdate.java9
-rw-r--r--android/src/com/mapswithme/maps/widget/RatingView.java7
-rw-r--r--android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java7
-rw-r--r--android/src/com/mapswithme/util/Language.java23
-rw-r--r--android/src/com/mapswithme/util/SharedPropertiesUtils.java23
-rw-r--r--android/src/com/mapswithme/util/Utils.java5
-rw-r--r--data/World.mwmbin29242373 -> 29296533 bytes
-rw-r--r--data/WorldCoasts.mwmbin4646805 -> 4648118 bytes
-rw-r--r--data/categories.txt4
-rw-r--r--data/countries.txt2308
-rw-r--r--data/drules_proto.binbin217679 -> 211374 bytes
-rw-r--r--data/drules_proto.txt2242
-rw-r--r--data/drules_proto_clear.binbin217220 -> 210907 bytes
-rw-r--r--data/drules_proto_clear.txt2234
-rw-r--r--data/drules_proto_dark.binbin216047 -> 209734 bytes
-rw-r--r--data/drules_proto_dark.txt2234
-rw-r--r--data/drules_proto_vehicle_clear.binbin126485 -> 127145 bytes
-rw-r--r--data/drules_proto_vehicle_clear.txt644
-rw-r--r--data/drules_proto_vehicle_dark.binbin126337 -> 127001 bytes
-rw-r--r--data/drules_proto_vehicle_dark.txt644
-rw-r--r--data/editor.config5
-rw-r--r--data/external_resources.txt4
-rw-r--r--data/styles/clear/include/Icons.mapcss29
-rw-r--r--data/ugc_types.csv333
-rw-r--r--drape/oglcontextfactory.cpp4
-rw-r--r--drape/oglcontextfactory.hpp4
-rw-r--r--drape_frontend/backend_renderer.cpp5
-rwxr-xr-xdrape_frontend/frontend_renderer.cpp4
-rw-r--r--drape_frontend/text_shape.cpp4
-rw-r--r--generator/generator_tool/generator_tool.cpp2
-rw-r--r--generator/ugc_section_builder.cpp6
-rw-r--r--generator/ugc_translator.cpp9
-rw-r--r--indexer/ftraits.hpp86
-rw-r--r--indexer/ftypes_mapping.hpp18
-rw-r--r--indexer/indexer_tests/ugc_types_test.cpp38
-rw-r--r--indexer/indexer_tests/wheelchair_tests.cpp10
-rw-r--r--indexer/map_object.cpp3
l---------iphone/Maps/3party/AppsFlyerLib.framework/AppsFlyerLib1
l---------iphone/Maps/3party/AppsFlyerLib.framework/Headers1
-rw-r--r--iphone/Maps/3party/AppsFlyerLib.framework/Modules/module.modulemap6
-rw-r--r--iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/AppsFlyerLibbin3183912 -> 0 bytes
l---------iphone/Maps/3party/AppsFlyerLib.framework/Versions/Current1
-rw-r--r--iphone/Maps/3party/Bolts.framework/Boltsbin3430392 -> 0 bytes
-rw-r--r--iphone/Maps/3party/Bolts.framework/Info.plistbin716 -> 0 bytes
-rw-r--r--iphone/Maps/3party/Cartfile2
-rw-r--r--iphone/Maps/3party/Cartfile.resolved6
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Alamofirebin9689748 -> 8328904 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Headers/Alamofire-Swift.h3
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Info.plistbin739 -> 737 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftdocbin190816 -> 190820 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftmodulebin288868 -> 289556 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftdocbin190816 -> 190820 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftmodulebin282000 -> 282688 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftdocbin190816 -> 190820 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftmodulebin288952 -> 288952 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftdocbin190816 -> 190820 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftmodulebin282084 -> 282088 bytes
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/AlamofireImagebin4365296 -> 3800736 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Headers/AlamofireImage-Swift.h2
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Info.plistbin749 -> 747 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftdocbin80032 -> 80036 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftmodulebin98976 -> 99724 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftdocbin80032 -> 80036 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftmodulebin98980 -> 99728 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftdocbin80032 -> 80036 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftmodulebin99064 -> 99060 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftdocbin80032 -> 80036 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftmodulebin99072 -> 99068 bytes
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/AppsFlyerTrackerbin0 -> 2105000 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerCrossPromotionHelper.h (renamed from iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch10
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerLinkGenerator.h (renamed from iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerShareInviteHelper.h (renamed from iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerTracker.h (renamed from iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h)2
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Info.plistbin0 -> 718 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Modules/module.modulemap6
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Boltsbin0 -> 1520956 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLink.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFAppLink.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkNavigation.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkNavigation.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkResolving.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkResolving.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkTarget.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkTarget.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationToken.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFCancellationToken.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationTokenRegistration.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFCancellationTokenRegistration.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationTokenSource.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFCancellationTokenSource.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFExecutor.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFExecutor.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFMeasurementEvent.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFMeasurementEvent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTask+Exceptions.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFTask+Exceptions.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTask.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFTask.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTaskCompletionSource.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFTaskCompletionSource.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFURL.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFURL.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFWebViewAppLinkResolver.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/BFWebViewAppLinkResolver.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/Bolts.h (renamed from iphone/Maps/3party/Bolts.framework/Headers/Bolts.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Info.plistbin0 -> 717 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Modules/module.modulemap (renamed from iphone/Maps/3party/Bolts.framework/Modules/module.modulemap)0
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/FBSDKCoreKitbin0 -> 6841548 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h)8
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h)2
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKButton.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKButton.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKConstants.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKConstants.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKCopying.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCopying.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h)2
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKMacros.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKMacros.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKProfile.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKProfile.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKSettings.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKSettings.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKUtility.h (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKUtility.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Info.plistbin0 -> 749 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Modules/module.modulemap (renamed from iphone/Maps/3party/FBSDKCoreKit.framework/Modules/module.modulemap)0
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/FBSDKLoginKitbin0 -> 1753752 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginKit.h (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginKit.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Info.plistbin0 -> 751 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Modules/module.modulemap (renamed from iphone/Maps/3party/FBSDKLoginKit.framework/Modules/module.modulemap)0
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/FBSDKPlacesKitbin0 -> 709808 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKit.h21
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKitConstants.h303
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesManager.h175
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Info.plistbin0 -> 753 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Modules/module.modulemap6
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/FBSDKShareKitbin0 -> 5684576 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKHashtag.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKHashtag.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLiking.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLiking.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSendButton.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSendButton.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareButton.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareButton.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareKit.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareKit.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharing.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharing.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h)0
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Info.plistbin0 -> 751 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Modules/module.modulemap (renamed from iphone/Maps/3party/FBSDKShareKit.framework/Modules/module.modulemap)0
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/FacebookCorebin0 -> 3323940 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Headers/FacebookCore-Swift.h209
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Info.plistbin0 -> 736 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftdocbin0 -> 92020 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftmodulebin0 -> 141260 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftdocbin0 -> 92020 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftmodulebin0 -> 141772 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftdocbin0 -> 92020 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftmodulebin0 -> 140652 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftdocbin0 -> 92020 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftmodulebin0 -> 141168 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/module.modulemap4
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/FacebookLoginbin0 -> 937724 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Headers/FacebookLogin-Swift.h219
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Info.plistbin0 -> 738 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftdocbin0 -> 14348 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftmodulebin0 -> 45076 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftdocbin0 -> 14348 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftmodulebin0 -> 45080 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftdocbin0 -> 14348 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftmodulebin0 -> 44456 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftdocbin0 -> 14348 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftmodulebin0 -> 44460 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/module.modulemap4
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/FacebookSharebin0 -> 3798152 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Headers/FacebookShare-Swift.h259
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Info.plistbin0 -> 738 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftdocbin0 -> 73672 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftmodulebin0 -> 214452 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftdocbin0 -> 73672 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftmodulebin0 -> 214680 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftdocbin0 -> 73672 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftmodulebin0 -> 213832 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftdocbin0 -> 73672 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftmodulebin0 -> 214060 bytes
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/module.modulemap4
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Headers/PushNotificationManager.h17
-rw-r--r--iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Info.plistbin841 -> 841 bytes
-rwxr-xr-xiphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Pushwooshbin4885736 -> 5133164 bytes
-rwxr-xr-xiphone/Maps/3party/Crashlytics.framework/Crashlyticsbin12449720 -> 13052824 bytes
-rw-r--r--iphone/Maps/3party/Crashlytics.framework/Headers/Answers.h6
-rw-r--r--iphone/Maps/3party/Crashlytics.framework/Headers/CLSReport.h2
-rw-r--r--iphone/Maps/3party/Crashlytics.framework/Headers/Crashlytics.h2
-rw-r--r--iphone/Maps/3party/Crashlytics.framework/Info.plistbin922 -> 922 bytes
-rwxr-xr-xiphone/Maps/3party/Crashlytics.framework/submitbin301328 -> 301328 bytes
-rwxr-xr-xiphone/Maps/3party/Crashlytics.framework/uploadDSYMbin711664 -> 721120 bytes
-rw-r--r--iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKitbin22879720 -> 0 bytes
-rw-r--r--iphone/Maps/3party/FBSDKCoreKit.framework/Info.plistbin769 -> 0 bytes
-rw-r--r--iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKitbin5073168 -> 0 bytes
-rw-r--r--iphone/Maps/3party/FBSDKLoginKit.framework/Info.plistbin772 -> 0 bytes
-rw-r--r--iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKitbin17501912 -> 0 bytes
-rw-r--r--iphone/Maps/3party/FBSDKShareKit.framework/Info.plistbin772 -> 0 bytes
-rwxr-xr-xiphone/Maps/3party/Fabric.framework/Fabricbin5805680 -> 6089504 bytes
-rw-r--r--iphone/Maps/3party/Fabric.framework/Info.plistbin872 -> 872 bytes
-rwxr-xr-xiphone/Maps/3party/Fabric.framework/uploadDSYMbin702896 -> 721120 bytes
-rw-r--r--iphone/Maps/3party/MoPubSDK/Mopub.xcodeproj/project.pbxproj8
-rw-r--r--iphone/Maps/Bookmarks/SelectSetVC.h4
-rw-r--r--iphone/Maps/Bookmarks/SelectSetVC.mm21
-rw-r--r--iphone/Maps/Bridging-Header.h14
-rw-r--r--iphone/Maps/Categories/String+BoundingRect.swift4
-rw-r--r--iphone/Maps/Categories/UIWindow+InputLanguage.swift15
-rw-r--r--iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/MWMNavigationInfoView.mm8
-rw-r--r--iphone/Maps/Classes/MapViewController.mm8
-rw-r--r--iphone/Maps/Classes/MapsAppDelegate.mm2
-rw-r--r--iphone/Maps/Classes/iosOGLContextFactory.h4
-rw-r--r--iphone/Maps/Classes/iosOGLContextFactory.mm38
-rw-r--r--iphone/Maps/Common/AppInfo.h2
-rw-r--r--iphone/Maps/Common/AppInfo.mm34
-rw-r--r--iphone/Maps/Common/Statistics/StatisticsStrings.h17
-rw-r--r--iphone/Maps/Core/Routing/MWMRouter.mm8
-rw-r--r--iphone/Maps/Images.xcassets/AppIcon.appiconset/Contents.json3
-rw-r--r--iphone/Maps/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.pngbin0 -> 67961 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Place Page/ic_28px_logo_thor.imageset/Contents.json3
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route.pngbin34647 -> 0 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@2x.pngbin77274 -> 0 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@3x.pngbin122018 -> 0 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/Contents.json (renamed from iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/Contents.json)6
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc.pngbin0 -> 23485 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@2x.pngbin0 -> 66724 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@3x.pngbin0 -> 106152 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/Contents.json23
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update.pngbin35858 -> 0 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@2x.pngbin81283 -> 0 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@3x.pngbin128421 -> 0 bytes
-rw-r--r--iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings6
-rw-r--r--iphone/Maps/MAPSME.plist4
-rw-r--r--iphone/Maps/Maps.xcodeproj/project.pbxproj190
-rw-r--r--iphone/Maps/Maps.xcodeproj/xcshareddata/xcschemes/ci.MAPS.ME.xcscheme16
-rw-r--r--iphone/Maps/UI/Authorization/AuthorizationViewController.swift38
-rw-r--r--iphone/Maps/UI/Authorization/AuthorizationViewController.xib5
-rw-r--r--iphone/Maps/UI/EditBookmark/MWMEditBookmarkController.mm23
-rw-r--r--iphone/Maps/UI/Editor/MWMObjectsCategorySelectorController.mm8
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageButtonsProtocol.h2
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageData.mm12
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm11
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.h2
-rw-r--r--iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.mm7
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewController.swift12
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.swift2
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.xib8
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewTextCell.swift10
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReviewCell.xib14
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReview.swift4
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReviewCell.swift5
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingCell.swift2
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingStarsCell.swift2
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReview.swift4
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.swift42
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.xib8
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm56
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/MWMPPPreviewLayoutHelper.mm6
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.swift10
-rw-r--r--iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.xib8
-rw-r--r--iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.h15
-rw-r--r--iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.mm49
-rw-r--r--iphone/Maps/UI/Reviews/MWMReviewProtocol.h2
-rw-r--r--iphone/Maps/UI/Storyboard/Settings.storyboard196
-rw-r--r--iphone/Maps/UI/Welcome/WhatsNewController.swift16
-rw-r--r--map/framework.cpp3
-rw-r--r--map/local_ads_manager.cpp4
-rw-r--r--map/place_page_info.cpp11
-rw-r--r--map/place_page_info.hpp17
-rw-r--r--map/user.cpp13
-rw-r--r--partners_api/taxi_places.hpp5
-rw-r--r--platform/http_request.cpp55
-rw-r--r--platform/local_country_file_utils.cpp10
-rw-r--r--platform/platform.hpp1
-rw-r--r--platform/platform_ios.mm23
-rw-r--r--platform/platform_unix_impl.cpp3
-rw-r--r--platform/platform_win.cpp3
-rw-r--r--qt/editor_dialog.cpp2
-rw-r--r--storage/downloading_policy.hpp1
-rw-r--r--storage/storage.cpp40
-rw-r--r--storage/storage.hpp5
-rw-r--r--storage/storage_tests/storage_tests.cpp108
-rw-r--r--strings.txt12
-rwxr-xr-xtools/unix/generate_planet.sh8
-rw-r--r--ugc/api.cpp33
-rw-r--r--ugc/api.hpp22
-rw-r--r--ugc/serdes.hpp46
-rw-r--r--ugc/serdes_json.hpp18
-rw-r--r--ugc/storage.cpp137
-rw-r--r--ugc/storage.hpp23
-rw-r--r--ugc/types.hpp168
-rw-r--r--ugc/ugc_tests/serdes_tests.cpp22
-rw-r--r--ugc/ugc_tests/storage_tests.cpp155
-rw-r--r--ugc/ugc_tests/utils.cpp16
-rw-r--r--ugc/ugc_tests/utils.hpp1
-rw-r--r--xcode/agg/agg.xcodeproj/project.pbxproj18
-rw-r--r--xcode/alohalitics/alohalitics.xcodeproj/project.pbxproj17
-rw-r--r--xcode/api/api.xcodeproj/project.pbxproj27
-rw-r--r--xcode/base/base.xcodeproj/project.pbxproj32
-rw-r--r--xcode/bsdiff/bsdiff.xcodeproj/project.pbxproj17
-rw-r--r--xcode/coding/coding.xcodeproj/project.pbxproj38
-rw-r--r--xcode/common.xcconfig5
-rw-r--r--xcode/drape/drape.xcodeproj/project.pbxproj31
-rw-r--r--xcode/drape_frontend/drape_frontend.xcodeproj/project.pbxproj29
-rw-r--r--xcode/editor/editor.xcodeproj/project.pbxproj27
-rw-r--r--xcode/expat/expat.xcodeproj/project.pbxproj22
-rw-r--r--xcode/freetype/freetype.xcodeproj/project.pbxproj28
-rw-r--r--xcode/generator/generator.xcodeproj/project.pbxproj34
-rw-r--r--xcode/generator_tool/generator_tool.xcodeproj/project.pbxproj50
-rw-r--r--xcode/geometry/geometry.xcodeproj/project.pbxproj31
-rw-r--r--xcode/gflags/gflags.xcodeproj/project.pbxproj22
-rw-r--r--xcode/icu/icu.xcodeproj/project.pbxproj34
-rw-r--r--xcode/indexer/indexer.xcodeproj/project.pbxproj42
-rw-r--r--xcode/jansson/jansson.xcodeproj/project.pbxproj22
-rw-r--r--xcode/local_ads/local_ads.xcodeproj/project.pbxproj27
-rw-r--r--xcode/map/map.xcodeproj/project.pbxproj43
-rw-r--r--xcode/mapshot/mapshot.xcodeproj/project.pbxproj21
-rw-r--r--xcode/minizip/minizip.xcodeproj/project.pbxproj22
-rw-r--r--xcode/mwm_diff/mwm_diff.xcodeproj/project.pbxproj17
-rw-r--r--xcode/oauthcpp/oauthcpp.xcodeproj/project.pbxproj22
-rw-r--r--xcode/opening_hours/opening_hours.xcodeproj/project.pbxproj65
-rw-r--r--xcode/openlr/openlr.xcodeproj/project.pbxproj17
-rw-r--r--xcode/osrm/osrm.xcodeproj/project.pbxproj23
-rw-r--r--xcode/partners_api/partners_api.xcodeproj/project.pbxproj36
-rw-r--r--xcode/platform/platform.xcodeproj/project.pbxproj65
-rw-r--r--xcode/protobuf/protobuf.xcodeproj/project.pbxproj23
-rw-r--r--xcode/pugixml/pugixml.xcodeproj/project.pbxproj18
-rw-r--r--xcode/routing/routing.xcodeproj/project.pbxproj64
-rw-r--r--xcode/routing_common/routing_common.xcodeproj/project.pbxproj27
-rw-r--r--xcode/sdf_image/sdf_image.xcodeproj/project.pbxproj18
-rw-r--r--xcode/search/search.xcodeproj/project.pbxproj36
-rw-r--r--xcode/stb_image/stb_image.xcodeproj/project.pbxproj18
-rw-r--r--xcode/storage/storage.xcodeproj/project.pbxproj52
-rw-r--r--xcode/succinct/succinct.xcodeproj/project.pbxproj18
-rw-r--r--xcode/tess2/tess2.xcodeproj/project.pbxproj24
-rw-r--r--xcode/tracking/tracking.xcodeproj/project.pbxproj28
-rw-r--r--xcode/traffic/traffic.xcodeproj/project.pbxproj27
-rw-r--r--xcode/ugc/ugc.xcodeproj/project.pbxproj32
470 files changed, 8945 insertions, 7362 deletions
diff --git a/android/build.gradle b/android/build.gradle
index 2245d7d7b9..a2a299a798 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -133,6 +133,7 @@ android {
buildConfigField 'String', 'PW_APPID', /"${pwProps['pwAppId']}"/
manifestPlaceholders += ['PW_PROJECT_ID': pwProps['pwProjectId']]
multiDexEnabled true
+ multiDexKeepFile file('multidex-config.txt')
externalNativeBuild {
cmake {
diff --git a/android/gradle.properties b/android/gradle.properties
index 22ec4d2f53..8cccc62db8 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -4,8 +4,8 @@ propMinSdkVersion=15
propTargetSdkVersion=23
propCompileSdkVersion=25
propBuildToolsVersion=25.0.2
-propVersionCode=753
-propVersionName=7.5.3
+propVersionCode=765
+propVersionName=7.6.5
propDebugNdkFlags=V=1 NDK_DEBUG=1 DEBUG=1
propReleaseNdkFlags=V=1 NDK_DEBUG=0 PRODUCTION=1
org.gradle.daemon=true
diff --git a/android/jni/com/mapswithme/maps/Framework.cpp b/android/jni/com/mapswithme/maps/Framework.cpp
index 57b9058844..ec1b6e6a54 100644
--- a/android/jni/com/mapswithme/maps/Framework.cpp
+++ b/android/jni/com/mapswithme/maps/Framework.cpp
@@ -737,6 +737,7 @@ Java_com_mapswithme_maps_Framework_nativeGetParsedSearchRequest(JNIEnv * env, jc
JNIEXPORT void JNICALL
Java_com_mapswithme_maps_Framework_nativeSetMapObjectListener(JNIEnv * env, jclass clazz, jobject jListener)
{
+ LOG(LINFO, ("Set global map object listener"));
g_mapObjectListener = env->NewGlobalRef(jListener);
// void onMapObjectActivated(MapObject object);
jmethodID const activatedId = jni::GetMethodID(env, g_mapObjectListener, "onMapObjectActivated",
@@ -764,6 +765,7 @@ Java_com_mapswithme_maps_Framework_nativeRemoveMapObjectListener(JNIEnv * env, j
return;
frm()->SetMapSelectionListeners({}, {});
+ LOG(LINFO, ("Remove global map object listener"));
env->DeleteGlobalRef(g_mapObjectListener);
}
diff --git a/android/jni/com/mapswithme/maps/SearchEngine.cpp b/android/jni/com/mapswithme/maps/SearchEngine.cpp
index c48d1ad199..0efbc23558 100644
--- a/android/jni/com/mapswithme/maps/SearchEngine.cpp
+++ b/android/jni/com/mapswithme/maps/SearchEngine.cpp
@@ -11,7 +11,6 @@
#include "base/logging.hpp"
#include "com/mapswithme/core/jni_helper.hpp"
-#include "com/mapswithme/platform/Language.hpp"
#include "com/mapswithme/platform/Platform.hpp"
#include <cstdint>
@@ -431,7 +430,7 @@ extern "C"
{
search::EverywhereSearchParams params;
params.m_query = jni::ToNativeString(env, bytes);
- params.m_inputLocale = ReplaceDeprecatedLanguageCode(jni::ToNativeString(env, lang));
+ params.m_inputLocale = jni::ToNativeString(env, lang);
params.m_onResults = bind(&OnResults, _1, _2, timestamp, false, hasPosition, lat, lon);
params.m_hotelsFilter = g_hotelsFilterBuilder.Build(env, hotelsFilter);
@@ -447,7 +446,7 @@ extern "C"
{
search::ViewportSearchParams vparams;
vparams.m_query = jni::ToNativeString(env, bytes);
- vparams.m_inputLocale = ReplaceDeprecatedLanguageCode(jni::ToNativeString(env, lang));
+ vparams.m_inputLocale = jni::ToNativeString(env, lang);
vparams.m_hotelsFilter = g_hotelsFilterBuilder.Build(env, hotelsFilter);
// TODO (@alexzatsepin): set up vparams.m_onCompleted here and use
@@ -472,7 +471,7 @@ extern "C"
{
storage::DownloaderSearchParams params;
params.m_query = jni::ToNativeString(env, bytes);
- params.m_inputLocale = ReplaceDeprecatedLanguageCode(jni::ToNativeString(env, lang));
+ params.m_inputLocale = jni::ToNativeString(env, lang);
params.m_onResults = bind(&OnMapSearchResults, _1, timestamp);
if (g_framework->NativeFramework()->SearchInDownloader(params))
diff --git a/android/jni/com/mapswithme/maps/ugc/UGC.cpp b/android/jni/com/mapswithme/maps/ugc/UGC.cpp
index 0ce4f93da3..afdc58130c 100644
--- a/android/jni/com/mapswithme/maps/ugc/UGC.cpp
+++ b/android/jni/com/mapswithme/maps/ugc/UGC.cpp
@@ -86,7 +86,7 @@ public:
Init(env);
jobjectArray jratings = static_cast<jobjectArray>(env->GetObjectField(ugcUpdate, m_ratingArrayFieldId));
- int const length = env->GetArrayLength(jratings);
+ auto const length = static_cast<size_t>(env->GetArrayLength(jratings));
std::vector<ugc::RatingRecord> records;
records.reserve(length);
for (int i = 0; i < length; i++)
@@ -102,14 +102,25 @@ public:
records.emplace_back(std::move(key), std::move(ratingValue));
}
jstring jtext = static_cast<jstring>(env->GetObjectField(ugcUpdate, m_ratingTextFieldId));
- ugc::Text text(jni::ToNativeString(env, jtext),
- StringUtf8Multilang::GetLangIndex(languages::GetCurrentNorm()));
+ jstring jdevicelocale = static_cast<jstring>(env->GetObjectField(ugcUpdate, m_deviceLocaleFieldId));
+ jstring jkeyboardLocale = static_cast<jstring>(env->GetObjectField(ugcUpdate, m_keyboardLocaleFieldId));
+ std::vector<uint8_t> keyboardLangs;
+ keyboardLangs.push_back(ToNativeLangIndex(env, jkeyboardLocale));
+ ugc::KeyboardText text(jni::ToNativeString(env, jtext), ToNativeLangIndex(env, jdevicelocale),
+ keyboardLangs);
jlong jtime = env->GetLongField(ugcUpdate, m_updateTimeFieldId);
- uint64_t timeSec = static_cast<uint64_t>(jtime / 1000);
+ auto const timeSec = static_cast<time_t>(jtime / 1000);
return ugc::UGCUpdate(records, text, std::chrono::system_clock::from_time_t(timeSec));
}
private:
+
+ uint8_t ToNativeLangIndex(JNIEnv * env, jstring lang)
+ {
+ std::string normLocale = languages::Normalize(jni::ToNativeString(env, lang));
+ return static_cast<uint8_t>(StringUtf8Multilang::GetLangIndex(normLocale));
+ }
+
jobject ToJavaUGC(JNIEnv * env, ugc::UGC const & ugc)
{
jni::TScopedLocalObjectArrayRef ratings(env, ToJavaRatings(env, ugc.m_ratings));
@@ -126,11 +137,19 @@ private:
{
jni::TScopedLocalObjectArrayRef ratings(env, ToJavaRatings(env, ugcUpdate.m_ratings));
jni::TScopedLocalRef text(env, jni::ToJavaString(env, ugcUpdate.m_text.m_text));
+ std::string locale(StringUtf8Multilang::GetLangByCode(ugcUpdate.m_text.m_deviceLang));
+ jni::TScopedLocalRef localeRef(env, jni::ToJavaString(env, locale));
+ std::string keyboardLocale;
+ auto const & keyboardLangs = ugcUpdate.m_text.m_keyboardLangs;
+ if (!keyboardLangs.empty())
+ keyboardLocale = StringUtf8Multilang::GetLangByCode(keyboardLangs.front());
+ jni::TScopedLocalRef keyboardLocaleRef(env, jni::ToJavaString(env, keyboardLocale));
jobject result = nullptr;
if (!ugcUpdate.IsEmpty())
result = env->NewObject(m_ugcUpdateClass, m_ugcUpdateCtor, ratings.get(),
- text.get(), ugc::ToMillisecondsSinceEpoch(ugcUpdate.m_time));
+ text.get(), ugc::ToMillisecondsSinceEpoch(ugcUpdate.m_time),
+ localeRef.get(), keyboardLocaleRef.get());
return result;
}
@@ -197,10 +216,13 @@ private:
m_ugcUpdateClass = jni::GetGlobalClassRef(env, "com/mapswithme/maps/ugc/UGCUpdate");
m_ugcUpdateCtor = jni::GetConstructorID(
- env, m_ugcUpdateClass, "([Lcom/mapswithme/maps/ugc/UGC$Rating;Ljava/lang/String;J)V");
+ env, m_ugcUpdateClass, "([Lcom/mapswithme/maps/ugc/UGC$Rating;Ljava/lang/String;"
+ "JLjava/lang/String;Ljava/lang/String;)V");
m_ratingArrayFieldId = env->GetFieldID(m_ugcUpdateClass, "mRatings", "[Lcom/mapswithme/maps/ugc/UGC$Rating;");
m_ratingTextFieldId = env->GetFieldID(m_ugcUpdateClass, "mText", "Ljava/lang/String;");
m_updateTimeFieldId = env->GetFieldID(m_ugcUpdateClass, "mTimeMillis", "J");
+ m_deviceLocaleFieldId = env->GetFieldID(m_ugcUpdateClass, "mDeviceLocale", "Ljava/lang/String;");
+ m_keyboardLocaleFieldId = env->GetFieldID(m_ugcUpdateClass, "mKeyboardLocale", "Ljava/lang/String;");
m_ratingNameFieldId = env->GetFieldID(g_ratingClazz, "mName", "Ljava/lang/String;");
m_ratingValueFieldId = env->GetFieldID(g_ratingClazz, "mValue", "F");
m_initialized = true;
@@ -216,6 +238,8 @@ private:
jfieldID m_ratingArrayFieldId;
jfieldID m_ratingTextFieldId;
jfieldID m_updateTimeFieldId;
+ jfieldID m_deviceLocaleFieldId;
+ jfieldID m_keyboardLocaleFieldId;
jfieldID m_ratingNameFieldId;
jfieldID m_ratingValueFieldId;
diff --git a/android/jni/com/mapswithme/platform/Language.cpp b/android/jni/com/mapswithme/platform/Language.cpp
index 996bff6711..e18f5aa2dc 100644
--- a/android/jni/com/mapswithme/platform/Language.cpp
+++ b/android/jni/com/mapswithme/platform/Language.cpp
@@ -1,5 +1,3 @@
-#include "Language.hpp"
-
#include "com/mapswithme/core/jni_helper.hpp"
#include "base/assert.hpp"
@@ -8,19 +6,6 @@
#include <string>
-std::string ReplaceDeprecatedLanguageCode(std::string const & lang)
-{
- // in* -> id
- // iw* -> he
-
- if (strings::StartsWith(lang, "in"))
- return "id";
- else if (strings::StartsWith(lang, "iw"))
- return "he";
-
- return lang;
-}
-
/// This function is called from native c++ code
std::string GetAndroidSystemLanguage()
{
@@ -33,16 +18,14 @@ std::string GetAndroidSystemLanguage()
return DEFAULT_LANG;
}
- static jclass const localeClass = jni::GetGlobalClassRef(env, "java/util/Locale");
- static jmethodID const localeGetDefaultId = jni::GetStaticMethodID(env, localeClass, "getDefault", "()Ljava/util/Locale;");
- static jmethodID const localeToStringId = env->GetMethodID(localeClass, "toString", "()Ljava/lang/String;");
+ static jclass const languageClass = jni::GetGlobalClassRef(env, "com/mapswithme/util/Language");
+ static jmethodID const getDefaultLocaleId = jni::GetStaticMethodID(env, languageClass, "getDefaultLocale", "()Ljava/lang/String;");
- jni::TScopedLocalRef localeInstance(env, env->CallStaticObjectMethod(localeClass, localeGetDefaultId));
- jni::TScopedLocalRef langString(env, env->CallObjectMethod(localeInstance.get(), localeToStringId));
+ jni::TScopedLocalRef localeRef(env, env->CallStaticObjectMethod(languageClass, getDefaultLocaleId));
- std::string res = jni::ToNativeString(env, (jstring) langString.get());
+ std::string res = jni::ToNativeString(env, (jstring) localeRef.get());
if (res.empty())
res = DEFAULT_LANG;
- return ReplaceDeprecatedLanguageCode(res);
+ return res;
}
diff --git a/android/jni/com/mapswithme/platform/Language.hpp b/android/jni/com/mapswithme/platform/Language.hpp
deleted file mode 100644
index d06b182956..0000000000
--- a/android/jni/com/mapswithme/platform/Language.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#pragma once
-
-#include "com/mapswithme/core/jni_helper.hpp"
-
-#include <string>
-
-/// More details about deprecated language codes http://developer.android.com/reference/java/util/Locale.html
-std::string ReplaceDeprecatedLanguageCode(std::string const & language);
diff --git a/android/multidex-config.txt b/android/multidex-config.txt
new file mode 100644
index 0000000000..f75632585f
--- /dev/null
+++ b/android/multidex-config.txt
@@ -0,0 +1,12 @@
+com/mapswithme/maps/ads/Banner.class
+com/mapswithme/maps/bookmarks/data/Bookmark.class
+com/mapswithme/maps/bookmarks/data/FeatureId.class
+com/mapswithme/maps/bookmarks/data/MapObject.class
+com/mapswithme/maps/location/PlatformSocket.class
+com/mapswithme/maps/ugc/UGC$Rating.class
+com/mapswithme/util/log/LoggerFactory.class
+com/mapswithme/util/HttpClient.class
+com/mapswithme/util/HttpClient$Params.class
+com/mapswithme/util/HttpClient$HttpHeader.class
+com/mapswithme/util/Utils.class
+com/my/tracker/MyTracker.class
diff --git a/android/res/drawable-hdpi/ic_24px_rating_coming_soon.png b/android/res/drawable-hdpi/ic_24px_rating_coming_soon.png
index d93ba2b196..4d36c2ed55 100644
--- a/android/res/drawable-hdpi/ic_24px_rating_coming_soon.png
+++ b/android/res/drawable-hdpi/ic_24px_rating_coming_soon.png
Binary files differ
diff --git a/android/res/drawable-hdpi/ic_altitude_difference.png b/android/res/drawable-hdpi/ic_altitude_difference.png
new file mode 100644
index 0000000000..aaad11e0a0
--- /dev/null
+++ b/android/res/drawable-hdpi/ic_altitude_difference.png
Binary files differ
diff --git a/android/res/drawable-hdpi/ic_chevron_right_white.png b/android/res/drawable-hdpi/ic_chevron_right_white.png
new file mode 100644
index 0000000000..668e4d4b49
--- /dev/null
+++ b/android/res/drawable-hdpi/ic_chevron_right_white.png
Binary files differ
diff --git a/android/res/drawable-hdpi/ic_filter_list.png b/android/res/drawable-hdpi/ic_filter_list.png
new file mode 100644
index 0000000000..bc5833bc09
--- /dev/null
+++ b/android/res/drawable-hdpi/ic_filter_list.png
Binary files differ
diff --git a/android/res/drawable-hdpi/ic_minus_red.png b/android/res/drawable-hdpi/ic_minus_red.png
new file mode 100644
index 0000000000..ff7544875e
--- /dev/null
+++ b/android/res/drawable-hdpi/ic_minus_red.png
Binary files differ
diff --git a/android/res/drawable-hdpi/ic_my_location.png b/android/res/drawable-hdpi/ic_my_location.png
new file mode 100644
index 0000000000..c0e9124145
--- /dev/null
+++ b/android/res/drawable-hdpi/ic_my_location.png
Binary files differ
diff --git a/android/res/drawable-hdpi/ic_plus_green.png b/android/res/drawable-hdpi/ic_plus_green.png
new file mode 100644
index 0000000000..e34b8ef5fd
--- /dev/null
+++ b/android/res/drawable-hdpi/ic_plus_green.png
Binary files differ
diff --git a/android/res/drawable-mdpi/ic_altitude_difference.png b/android/res/drawable-mdpi/ic_altitude_difference.png
new file mode 100644
index 0000000000..fadef80f69
--- /dev/null
+++ b/android/res/drawable-mdpi/ic_altitude_difference.png
Binary files differ
diff --git a/android/res/drawable-mdpi/ic_chevron_right_white.png b/android/res/drawable-mdpi/ic_chevron_right_white.png
new file mode 100644
index 0000000000..3197793441
--- /dev/null
+++ b/android/res/drawable-mdpi/ic_chevron_right_white.png
Binary files differ
diff --git a/android/res/drawable-mdpi/ic_filter_list.png b/android/res/drawable-mdpi/ic_filter_list.png
new file mode 100644
index 0000000000..4d7260e107
--- /dev/null
+++ b/android/res/drawable-mdpi/ic_filter_list.png
Binary files differ
diff --git a/android/res/drawable-mdpi/ic_minus_red.png b/android/res/drawable-mdpi/ic_minus_red.png
new file mode 100644
index 0000000000..2b10ee4e85
--- /dev/null
+++ b/android/res/drawable-mdpi/ic_minus_red.png
Binary files differ
diff --git a/android/res/drawable-mdpi/ic_my_location.png b/android/res/drawable-mdpi/ic_my_location.png
new file mode 100644
index 0000000000..c11066b9f2
--- /dev/null
+++ b/android/res/drawable-mdpi/ic_my_location.png
Binary files differ
diff --git a/android/res/drawable-mdpi/ic_plus_green.png b/android/res/drawable-mdpi/ic_plus_green.png
new file mode 100644
index 0000000000..f49cea333d
--- /dev/null
+++ b/android/res/drawable-mdpi/ic_plus_green.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/ic_altitude_difference.png b/android/res/drawable-xhdpi/ic_altitude_difference.png
new file mode 100644
index 0000000000..6e0a645fa0
--- /dev/null
+++ b/android/res/drawable-xhdpi/ic_altitude_difference.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/ic_chevron_right_white.png b/android/res/drawable-xhdpi/ic_chevron_right_white.png
new file mode 100644
index 0000000000..06e66f7d91
--- /dev/null
+++ b/android/res/drawable-xhdpi/ic_chevron_right_white.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/ic_filter_list.png b/android/res/drawable-xhdpi/ic_filter_list.png
new file mode 100644
index 0000000000..50654c2038
--- /dev/null
+++ b/android/res/drawable-xhdpi/ic_filter_list.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/ic_minus_red.png b/android/res/drawable-xhdpi/ic_minus_red.png
new file mode 100644
index 0000000000..771f593a2f
--- /dev/null
+++ b/android/res/drawable-xhdpi/ic_minus_red.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/ic_my_location.png b/android/res/drawable-xhdpi/ic_my_location.png
new file mode 100644
index 0000000000..d486d783b6
--- /dev/null
+++ b/android/res/drawable-xhdpi/ic_my_location.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/ic_plus_green.png b/android/res/drawable-xhdpi/ic_plus_green.png
new file mode 100644
index 0000000000..daeb3644f2
--- /dev/null
+++ b/android/res/drawable-xhdpi/ic_plus_green.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/ic_altitude_difference.png b/android/res/drawable-xxhdpi/ic_altitude_difference.png
new file mode 100644
index 0000000000..d511aaadf4
--- /dev/null
+++ b/android/res/drawable-xxhdpi/ic_altitude_difference.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/ic_chevron_right_white.png b/android/res/drawable-xxhdpi/ic_chevron_right_white.png
new file mode 100644
index 0000000000..1a1848b1d5
--- /dev/null
+++ b/android/res/drawable-xxhdpi/ic_chevron_right_white.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/ic_filter_list.png b/android/res/drawable-xxhdpi/ic_filter_list.png
new file mode 100644
index 0000000000..02b0e8679e
--- /dev/null
+++ b/android/res/drawable-xxhdpi/ic_filter_list.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/ic_minus_red.png b/android/res/drawable-xxhdpi/ic_minus_red.png
new file mode 100644
index 0000000000..cd56e87a13
--- /dev/null
+++ b/android/res/drawable-xxhdpi/ic_minus_red.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/ic_my_location.png b/android/res/drawable-xxhdpi/ic_my_location.png
new file mode 100644
index 0000000000..8fe7dceef4
--- /dev/null
+++ b/android/res/drawable-xxhdpi/ic_my_location.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/ic_plus_green.png b/android/res/drawable-xxhdpi/ic_plus_green.png
new file mode 100644
index 0000000000..2d2bc71961
--- /dev/null
+++ b/android/res/drawable-xxhdpi/ic_plus_green.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/ic_altitude_difference.png b/android/res/drawable-xxxhdpi/ic_altitude_difference.png
new file mode 100644
index 0000000000..f79c604005
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/ic_altitude_difference.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/ic_chevron_right_white.png b/android/res/drawable-xxxhdpi/ic_chevron_right_white.png
new file mode 100644
index 0000000000..bddd891773
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/ic_chevron_right_white.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/ic_filter_list.png b/android/res/drawable-xxxhdpi/ic_filter_list.png
new file mode 100644
index 0000000000..ff17f5d68b
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/ic_filter_list.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/ic_minus_red.png b/android/res/drawable-xxxhdpi/ic_minus_red.png
new file mode 100644
index 0000000000..5af29ab8ad
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/ic_minus_red.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/ic_my_location.png b/android/res/drawable-xxxhdpi/ic_my_location.png
new file mode 100644
index 0000000000..9a86aabeac
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/ic_my_location.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/ic_plus_green.png b/android/res/drawable-xxxhdpi/ic_plus_green.png
new file mode 100644
index 0000000000..620faace64
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/ic_plus_green.png
Binary files differ
diff --git a/android/res/drawable/ic_altitude_difference.xml b/android/res/drawable/ic_altitude_difference.xml
deleted file mode 100644
index 5b22b1e992..0000000000
--- a/android/res/drawable/ic_altitude_difference.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<vector android:height="16dp" android:viewportHeight="24.0"
- android:viewportWidth="24.0" android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFFFF" android:pathData="M16,17.01V10h-2v7.01h-3L15,21l4,-3.99h-3zM9,3L5,6.99h3V14h2V6.99h3L9,3z"/>
-</vector>
diff --git a/android/res/drawable/ic_chevron_right_white.xml b/android/res/drawable/ic_chevron_right_white.xml
deleted file mode 100644
index 0563f22f11..0000000000
--- a/android/res/drawable/ic_chevron_right_white.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
- <path
- android:fillColor="#FFF"
- android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z"/>
-</vector>
diff --git a/android/res/drawable/ic_filter_list.xml b/android/res/drawable/ic_filter_list.xml
deleted file mode 100644
index 7d435fa2b8..0000000000
--- a/android/res/drawable/ic_filter_list.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0">
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M10,18h4v-2h-4v2zM3,6v2h18L21,6L3,6zM6,13h12v-2L6,11v2z"/>
-</vector>
diff --git a/android/res/drawable/ic_minus_red.xml b/android/res/drawable/ic_minus_red.xml
deleted file mode 100644
index b108146e81..0000000000
--- a/android/res/drawable/ic_minus_red.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<vector android:height="10dp"
- android:viewportHeight="24.0"
- android:viewportWidth="24.0"
- android:width="10dp"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFF44336"
- android:pathData="M19,13H5v-2h14v2z"/>
-</vector>
diff --git a/android/res/drawable/ic_my_location.xml b/android/res/drawable/ic_my_location.xml
deleted file mode 100644
index 3bb45c9a66..0000000000
--- a/android/res/drawable/ic_my_location.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<vector android:height="18dp" android:viewportHeight="24.0"
- android:viewportWidth="24.0" android:width="18dp" xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FFFFFFFF" android:pathData="M12,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4zM20.94,11c-0.46,-4.17 -3.77,-7.48 -7.94,-7.94L13,1h-2v2.06C6.83,3.52 3.52,6.83 3.06,11L1,11v2h2.06c0.46,4.17 3.77,7.48 7.94,7.94L11,23h2v-2.06c4.17,-0.46 7.48,-3.77 7.94,-7.94L23,13v-2h-2.06zM12,19c-3.87,0 -7,-3.13 -7,-7s3.13,-7 7,-7 7,3.13 7,7 -3.13,7 -7,7z"/>
-</vector>
diff --git a/android/res/drawable/ic_plus_green.xml b/android/res/drawable/ic_plus_green.xml
deleted file mode 100644
index d8e49364af..0000000000
--- a/android/res/drawable/ic_plus_green.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<vector android:height="10dp"
- android:viewportHeight="24.0"
- android:viewportWidth="24.0"
- android:width="10dp"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#FF578B2D"
- android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
-</vector>
diff --git a/android/res/layout/divider_horizontal.xml b/android/res/layout/divider_horizontal.xml
index 7f5e2e80b1..404a025649 100644
--- a/android/res/layout/divider_horizontal.xml
+++ b/android/res/layout/divider_horizontal.xml
@@ -1,5 +1,5 @@
<View
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="?dividerHorizontal"/> \ No newline at end of file
+ android:layout_height="@dimen/divider_height"
+ android:background="?dividerHorizontal"/>
diff --git a/android/res/layout/fragment_editor.xml b/android/res/layout/fragment_editor.xml
index 1b73788fa3..0fb8651c58 100644
--- a/android/res/layout/fragment_editor.xml
+++ b/android/res/layout/fragment_editor.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<ScrollView
+<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
@@ -344,4 +344,4 @@
</LinearLayout>
-</ScrollView>
+</android.support.v4.widget.NestedScrollView>
diff --git a/android/res/layout/fragment_ugc_editor.xml b/android/res/layout/fragment_ugc_editor.xml
index e4b733f5e6..9f3ddced6f 100644
--- a/android/res/layout/fragment_ugc_editor.xml
+++ b/android/res/layout/fragment_ugc_editor.xml
@@ -58,7 +58,7 @@
android:paddingEnd="@dimen/margin_base"
android:paddingBottom="@dimen/margin_base"
android:textColorHint="?android:textColorSecondary"
- android:inputType="textCapSentences"
+ android:inputType="textMultiLine|textCapSentences"
android:hint="@string/placepage_reviews_hint"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
diff --git a/android/res/layout/place_page_bookmark_details.xml b/android/res/layout/place_page_bookmark_details.xml
index 71a8091d22..c7402a2583 100644
--- a/android/res/layout/place_page_bookmark_details.xml
+++ b/android/res/layout/place_page_bookmark_details.xml
@@ -30,6 +30,7 @@
<TextView
android:id="@+id/tv__bookmark_edit"
style="@style/PlacePageMetadataText.Button"
+ android:gravity="center"
android:layout_height="@dimen/height_block_base"
android:background="?clickableBackground"
android:paddingEnd="@dimen/margin_base"
@@ -40,4 +41,4 @@
<include
layout="@layout/divider_horizontal"/>
-</LinearLayout> \ No newline at end of file
+</LinearLayout>
diff --git a/android/res/layout/place_page_details.xml b/android/res/layout/place_page_details.xml
index a7770cd59d..4f0f204e2c 100644
--- a/android/res/layout/place_page_details.xml
+++ b/android/res/layout/place_page_details.xml
@@ -11,11 +11,7 @@
android:background="?windowBackgroundForced"
android:orientation="vertical">
- <include
- layout="@layout/divider_horizontal"
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:layout_marginBottom="@dimen/margin_half"/>
+ <include layout="@layout/place_page_fat_shadow"/>
<include layout="@layout/place_page_sponsored_gallery"/>
@@ -67,37 +63,32 @@
<include layout="@layout/place_page_latlon"/>
- <include layout="@layout/divider_horizontal"/>
-
<include layout="@layout/place_page_more"/>
<include layout="@layout/place_page_local_ad"/>
</LinearLayout>
<include
+ android:id="@+id/place_page_taxi_shadow"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ layout="@layout/place_page_fat_shadow"/>
+
+ <include
android:id="@+id/place_page_taxi_divider"
- layout="@layout/divider_horizontal"
android:layout_width="match_parent"
- android:layout_height="1dp"
- android:layout_marginTop="@dimen/margin_half"/>
+ android:layout_height="@dimen/divider_height"
+ layout="@layout/divider_horizontal"/>
<include layout="@layout/place_page_taxi"/>
<include layout="@layout/place_page_ugc"/>
- <FrameLayout
+ <include
+ layout="@layout/place_page_fat_shadow"
+ android:id="@+id/edit_top_space"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <android.support.v4.widget.Space
- android:id="@+id/edit_top_space"
- android:layout_width="match_parent"
- android:layout_height="@dimen/margin_base"/>
- <ImageView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:src="@drawable/shadow_card"
- android:scaleType="fitXY"/>
- </FrameLayout>
+ android:layout_height="wrap_content"/>
<include layout="@layout/place_page_editor"/>
diff --git a/android/res/layout/place_page_fat_shadow.xml b/android/res/layout/place_page_fat_shadow.xml
index 4508fc1cb1..59f542ffe3 100644
--- a/android/res/layout/place_page_fat_shadow.xml
+++ b/android/res/layout/place_page_fat_shadow.xml
@@ -7,7 +7,7 @@
tools:showIn="@layout/place_page_ugc">
<android.support.v4.widget.Space
android:layout_width="match_parent"
- android:layout_height="@dimen/margin_base"/>
+ android:layout_height="@dimen/margin_half"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/android/res/layout/place_page_local_ad.xml b/android/res/layout/place_page_local_ad.xml
index ba63386059..bfb22a9749 100644
--- a/android/res/layout/place_page_local_ad.xml
+++ b/android/res/layout/place_page_local_ad.xml
@@ -6,6 +6,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
tools:visibility="visible">
+ <include layout="@layout/divider_horizontal"/>
<TextView
android:id="@+id/tv__local_ad"
style="@style/PlacePageMetadataText.Button"
@@ -13,7 +14,4 @@
android:background="?clickableBackground"
android:gravity="center"
android:text="@string/placepage_add_place_button"/>
-
- <include layout="@layout/divider_horizontal"/>
-
</LinearLayout>
diff --git a/android/res/layout/place_page_more.xml b/android/res/layout/place_page_more.xml
index 54f0bbd948..1510afcbf8 100644
--- a/android/res/layout/place_page_more.xml
+++ b/android/res/layout/place_page_more.xml
@@ -7,13 +7,12 @@
android:layout_height="wrap_content"
android:orientation="vertical">
+ <include layout="@layout/divider_horizontal"/>
+
<TextView
style="@style/PlacePageMetadataText.Button"
android:height="@dimen/height_block_base"
android:background="?clickableBackground"
android:gravity="center"
android:text="@string/details_on_bookingcom"/>
-
- <include layout="@layout/divider_horizontal"/>
-
</LinearLayout>
diff --git a/android/res/layout/place_page_ugc.xml b/android/res/layout/place_page_ugc.xml
index 88c76e853a..9a6a2d3c3e 100644
--- a/android/res/layout/place_page_ugc.xml
+++ b/android/res/layout/place_page_ugc.xml
@@ -80,10 +80,7 @@
android:layout_height="wrap_content"
android:background="?cardBackground"
android:gravity="center_horizontal">
- <View
- android:layout_width="match_parent"
- android:layout_height="@dimen/divider_height"
- android:background="?dividerHorizontal"/>
+ <include layout="@layout/divider_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -93,6 +90,7 @@
android:layout_marginRight="@dimen/margin_base"
android:layout_marginEnd="@dimen/margin_base"
android:textAppearance="@style/MwmTextAppearance.Body3.Primary"
+ android:gravity="center_horizontal"
android:textStyle="bold"
android:text="@string/placepage_rate_comment"
tools:text="@string/placepage_rate_comment"/>
@@ -226,10 +224,13 @@
</LinearLayout>
</LinearLayout>
- <include layout="@layout/place_page_fat_shadow"/>
-
<!-- User review block -->
<include
+ android:id="@+id/user_review_divider"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/divider_height"
+ layout="@layout/divider_horizontal"/>
+ <include
layout="@layout/item_ugc_comment"
android:id="@+id/rl_user_review"
android:layout_width="match_parent"
@@ -238,7 +239,7 @@
android:id="@+id/user_rating_records"
layout="@layout/place_page_rating_records"/>
<View
- android:id="@+id/user_review_divider"
+ android:id="@+id/ugc_review_list_divider"
android:layout_width="match_parent"
android:layout_height="@dimen/divider_height"
android:background="?dividerHorizontal"/>
diff --git a/android/res/values-ru/strings.xml b/android/res/values-ru/strings.xml
index 050758ffce..3e4fe947ef 100644
--- a/android/res/values-ru/strings.xml
+++ b/android/res/values-ru/strings.xml
@@ -1225,4 +1225,7 @@
<string name="sponsored_thor_gather">Собрать</string>
<string name="whats_new_ugc_title">Оценки и отзывы</string>
<string name="whats_new_ugc_message">Теперь вы можете оставлять оценки и отзывы даже офлайн! Не забудьте обновить карты, чтобы увидеть изменения.</string>
+ <string name="dialog_error_storage_title">Проблема с доступом к хранилищу</string>
+ <string name="dialog_error_storage_message">Внешняя память устройства недоступна, возможно SD карта была удалена, повреждена или файловая система доступна только для чтения. Проверьте это и свяжитесь, пожалуйста, с нами support\@maps.me</string>
+ <string name="setting_emulate_bad_storage">Эмуляция ошибки с внешней памятью</string>
</resources>
diff --git a/android/res/values/colors.xml b/android/res/values/colors.xml
index ba71a51558..36aa500bbb 100644
--- a/android/res/values/colors.xml
+++ b/android/res/values/colors.xml
@@ -179,9 +179,6 @@
<color name="rating_normal">#F5B027</color>
<color name="rating_bad">#F4511E</color>
<color name="rating_horrible">#E53935</color>
- <!-- TODO: ask Igor for color -->
<color name="rating_none">#FF888A82</color>
- <!-- TODO: ask Igor for color -->
<color name="rating_coming_soon">#FF1E96F0</color>
-
</resources>
diff --git a/android/res/values/donottranslate.xml b/android/res/values/donottranslate.xml
index 63ac36eadb..0f3fea42f9 100644
--- a/android/res/values/donottranslate.xml
+++ b/android/res/values/donottranslate.xml
@@ -28,6 +28,7 @@
<string name="pref_show_zoom_buttons" translatable="false">ZoomButtonsEnabled</string>
<string name="pref_play_services" translatable="false">PlayServicesEnabled</string>
<string name="pref_enable_logging" translatable="false">EnableLogging</string>
+ <string name="pref_emulate_bad_external_storage" translatable="false">EmulateBadExternalStorage</string>
<string name="pref_about" translatable="false">AboutMapsWithMe</string>
<string name="pref_rate_app" translatable="false">RateApp</string>
<string name="pref_help" translatable="false">Help</string>
diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml
index 7bd2b43221..130db47737 100644
--- a/android/res/values/strings.xml
+++ b/android/res/values/strings.xml
@@ -1237,4 +1237,7 @@
<string name="sponsored_thor_gather">Gather</string>
<string name="whats_new_ugc_title">Ratings and reviews</string>
<string name="whats_new_ugc_message">You can now leave ratings and reviews even offline! Don\'t forget to update your maps so you can see the changes.</string>
+ <string name="dialog_error_storage_title">Storage access problem</string>
+ <string name="dialog_error_storage_message">External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support\@maps.me</string>
+ <string name="setting_emulate_bad_storage">Emulate bad storage</string>
</resources>
diff --git a/android/res/values/themes-base.xml b/android/res/values/themes-base.xml
index b67568d742..b7ffe0705e 100644
--- a/android/res/values/themes-base.xml
+++ b/android/res/values/themes-base.xml
@@ -110,6 +110,10 @@
<item name="ratingButtonBackground">@drawable/bg_rating_button</item>
<item name="android:listDivider">@drawable/list_divider</item>
+
+ <!-- if don't override this attribute the app will be crashed on start on Android 4.xx,
+ because on old prelolipop devices vector drawables don't work correctly -->
+ <item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
</style>
<!-- Night theme -->
@@ -220,5 +224,9 @@
<item name="viatorLogo">@drawable/ic_logo_viator_dark</item>
<item name="ratingButtonBackground">@drawable/bg_rating_button_night</item>
+
+ <!-- if don't override this attribute the app will be crashed on start on Android 4.xx,
+ because on old prelolipop devices vector drawables don't work correctly -->
+ <item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
</style>
</resources>
diff --git a/android/res/xml/prefs_main.xml b/android/res/xml/prefs_main.xml
index 68aa670622..3fe765045e 100644
--- a/android/res/xml/prefs_main.xml
+++ b/android/res/xml/prefs_main.xml
@@ -91,13 +91,18 @@
android:title="@string/enable_logging"
android:defaultValue="false"
android:order="12"/>
+ <SwitchPreferenceCompat
+ android:key="@string/pref_emulate_bad_external_storage"
+ android:title="@string/setting_emulate_bad_storage"
+ android:defaultValue="false"
+ android:order="13"/>
<ListPreference
android:key="@string/pref_use_mobile_data"
android:title="@string/mobile_data"
android:summary="@string/mobile_data_option_ask"
android:entries="@array/mobile_data_options"
android:entryValues="@array/mobile_data_options_values"
- android:order="13"/>
+ android:order="14"/>
</android.support.v7.preference.PreferenceCategory>
<android.support.v7.preference.PreferenceCategory
diff --git a/android/src/com/mapswithme/maps/MapFragment.java b/android/src/com/mapswithme/maps/MapFragment.java
index f9537f57c4..c76e9b8df9 100644
--- a/android/src/com/mapswithme/maps/MapFragment.java
+++ b/android/src/com/mapswithme/maps/MapFragment.java
@@ -162,6 +162,12 @@ public class MapFragment extends BaseMwmFragment
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder)
{
+ if (isThemeChangingProcess())
+ {
+ LOGGER.d(TAG, "Activity is being recreated due theme changing, skip 'surfaceCreated' callback");
+ return;
+ }
+
LOGGER.d(TAG, "surfaceCreated, mContextCreated = " + mContextCreated);
final Surface surface = surfaceHolder.getSurface();
if (nativeIsEngineCreated())
@@ -210,6 +216,12 @@ public class MapFragment extends BaseMwmFragment
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int format, int width, int height)
{
+ if (isThemeChangingProcess())
+ {
+ LOGGER.d(TAG, "Activity is being recreated due theme changing, skip 'surfaceChanged' callback");
+ return;
+ }
+
LOGGER.d(TAG, "surfaceChanged, mContextCreated = " + mContextCreated);
if (!mContextCreated ||
(!mRequireResize && surfaceHolder.isCreating()))
@@ -237,7 +249,6 @@ public class MapFragment extends BaseMwmFragment
if (!mContextCreated || !isAdded())
return;
- mSurfaceView.getHolder().removeCallback(this);
nativeDetachSurface(!getActivity().isChangingConfigurations());
mContextCreated = false;
}
@@ -256,14 +267,10 @@ public class MapFragment extends BaseMwmFragment
public void onStart()
{
super.onStart();
- if (isGoingToBeRecreated())
- return;
-
- LOGGER.d(TAG, "onStart, surface.addCallback");
- mSurfaceView.getHolder().addCallback(this);
+ LOGGER.d(TAG, "onStart");
}
- private boolean isGoingToBeRecreated()
+ private boolean isThemeChangingProcess()
{
return mUiThemeOnPause != null && !mUiThemeOnPause.equals(Config.getCurrentUiTheme());
}
@@ -280,6 +287,7 @@ public class MapFragment extends BaseMwmFragment
{
View view = inflater.inflate(R.layout.fragment_map, container, false);
mSurfaceView = (SurfaceView) view.findViewById(R.id.map_surfaceview);
+ mSurfaceView.getHolder().addCallback(this);
return view;
}
diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java
index e357c1d6d4..81a4845a11 100644
--- a/android/src/com/mapswithme/maps/MwmActivity.java
+++ b/android/src/com/mapswithme/maps/MwmActivity.java
@@ -503,8 +503,6 @@ public class MwmActivity extends BaseMwmFragmentActivity
Statistics.INSTANCE.trackConnectionState();
- Framework.nativeSetMapObjectListener(this);
-
mSearchController = new FloatingSearchToolbarController(this);
mSearchController.setVisibilityListener(this);
SearchEngine.INSTANCE.addListener(this);
@@ -913,14 +911,12 @@ public class MwmActivity extends BaseMwmFragmentActivity
@Override
public void onDestroy()
{
- if (!isInitializationComplete())
+ if (!isInitializationCompleted())
{
super.onDestroy();
return;
}
- // TODO move listeners attach-deattach to onStart-onStop since onDestroy isn't guaranteed.
- Framework.nativeRemoveMapObjectListener();
BottomSheetHelper.free();
SearchEngine.INSTANCE.removeListener(this);
super.onDestroy();
@@ -933,6 +929,8 @@ public class MwmActivity extends BaseMwmFragmentActivity
{
outState.putInt(STATE_PP, mPlacePage.getState().ordinal());
outState.putParcelable(STATE_MAP_OBJECT, mPlacePage.getMapObject());
+ if (isChangingConfigurations())
+ mPlacePage.setState(State.HIDDEN);
}
if (!mIsFragmentContainer && RoutingController.get().isPlanning())
@@ -1176,6 +1174,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
protected void onStart()
{
super.onStart();
+ Framework.nativeSetMapObjectListener(this);
RoutingController.get().attach(this);
if (MapFragment.nativeIsEngineCreated())
LocationHelper.INSTANCE.attach(this);
@@ -1190,6 +1189,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
protected void onStop()
{
super.onStop();
+ Framework.nativeRemoveMapObjectListener();
LocationHelper.INSTANCE.detach(!isFinishing());
RoutingController.get().detach();
TrafficManager.INSTANCE.detachAll();
diff --git a/android/src/com/mapswithme/maps/MwmApplication.java b/android/src/com/mapswithme/maps/MwmApplication.java
index 4f9a1f2c74..7f5ad12e02 100644
--- a/android/src/com/mapswithme/maps/MwmApplication.java
+++ b/android/src/com/mapswithme/maps/MwmApplication.java
@@ -177,9 +177,20 @@ public class MwmApplication extends Application
initAppsFlyer();
}
- public void initPlatformAndCore(){
+ /**
+ * Initialize native core of application: platform and framework. Caller must handle returned value
+ * and do nothing with native code if initialization is failed.
+ *
+ * @return boolean - indicator whether native initialization is successful or not.
+ */
+ public boolean initCore()
+ {
initNativePlatform();
- initNativeCore();
+ if (!mPlatformInitialized)
+ return false;
+
+ initNativeFramework();
+ return mFrameworkInitialized;
}
private void initNativePlatform()
@@ -195,7 +206,12 @@ public class MwmApplication extends Application
mLogger.d(TAG, "onCreate(), setting path = " + settingsPath);
String tempPath = getTempPath();
mLogger.d(TAG, "onCreate(), temp path = " + tempPath);
- createPlatformDirectories(settingsPath, tempPath);
+
+ // If platform directories are not created it means that native part of app will not be able
+ // to work at all. So, we just ignore native part initialization in this case, e.g. when the
+ // external storage is damaged or not available (read-only).
+ if (!createPlatformDirectories(settingsPath, tempPath))
+ return;
// First we need initialize paths and platform to have access to settings and other components.
nativePreparePlatform(settingsPath);
@@ -217,13 +233,15 @@ public class MwmApplication extends Application
mPlatformInitialized = true;
}
- private void createPlatformDirectories(@NonNull String settingsPath, @NonNull String tempPath)
+ private boolean createPlatformDirectories(@NonNull String settingsPath, @NonNull String tempPath)
{
- createPlatformDirectory(settingsPath);
- createPlatformDirectory(tempPath);
+ if (SharedPropertiesUtils.shouldEmulateBadExternalStorage())
+ return false;
+
+ return createPlatformDirectory(settingsPath) && createPlatformDirectory(tempPath);
}
- private void createPlatformDirectory(@NonNull String path)
+ private boolean createPlatformDirectory(@NonNull String path)
{
File directory = new File(path);
if (!directory.exists() && !directory.mkdirs())
@@ -237,10 +255,12 @@ public class MwmApplication extends Application
+ " state = " + Environment.getExternalStorageState()
+ " isPermissionGranted = " + isPermissionGranted);
CrashlyticsUtils.logException(error);
+ return false;
}
+ return true;
}
- private void initNativeCore()
+ private void initNativeFramework()
{
if (mFrameworkInitialized)
return;
diff --git a/android/src/com/mapswithme/maps/SplashActivity.java b/android/src/com/mapswithme/maps/SplashActivity.java
index 7195818dba..af480613e9 100644
--- a/android/src/com/mapswithme/maps/SplashActivity.java
+++ b/android/src/com/mapswithme/maps/SplashActivity.java
@@ -2,12 +2,14 @@ package com.mapswithme.maps;
import android.app.Activity;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
+import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
@@ -43,6 +45,7 @@ public class SplashActivity extends AppCompatActivity
private boolean mPermissionsGranted;
private boolean mNeedStoragePermission;
private boolean mCanceled;
+ private boolean mCoreInitialized;
@NonNull
private final Runnable mPermissionsDelayedTask = new Runnable()
@@ -186,6 +189,12 @@ public class SplashActivity extends AppCompatActivity
if (mCanceled)
return;
+ if (!mCoreInitialized)
+ {
+ showExternalStorageErrorDialog();
+ return;
+ }
+
if (Counters.isMigrationNeeded())
{
Config.migrateCountersToSharedPrefs();
@@ -228,6 +237,24 @@ public class SplashActivity extends AppCompatActivity
}
}
+ private void showExternalStorageErrorDialog()
+ {
+ AlertDialog dialog = new AlertDialog.Builder(this)
+ .setTitle(R.string.dialog_error_storage_title)
+ .setMessage(R.string.dialog_error_storage_message)
+ .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener()
+ {
+ @Override
+ public void onClick(DialogInterface dialog, int which)
+ {
+ SplashActivity.this.finish();
+ }
+ })
+ .setCancelable(false)
+ .create();
+ dialog.show();
+ }
+
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults)
@@ -257,7 +284,7 @@ public class SplashActivity extends AppCompatActivity
private void init()
{
- MwmApplication.get().initPlatformAndCore();
+ mCoreInitialized = MwmApplication.get().initCore();
}
@SuppressWarnings("unchecked")
diff --git a/android/src/com/mapswithme/maps/auth/BaseMwmAuthorizationFragment.java b/android/src/com/mapswithme/maps/auth/BaseMwmAuthorizationFragment.java
index fd1fe1d67e..52a2a8e59f 100644
--- a/android/src/com/mapswithme/maps/auth/BaseMwmAuthorizationFragment.java
+++ b/android/src/com/mapswithme/maps/auth/BaseMwmAuthorizationFragment.java
@@ -14,6 +14,7 @@ import android.view.View;
import com.mapswithme.maps.Framework;
import com.mapswithme.maps.R;
import com.mapswithme.maps.base.BaseMwmToolbarFragment;
+import com.mapswithme.util.ConnectionState;
/**
* A base toolbar fragment which is responsible for the <b>authorization flow</b>,
@@ -44,7 +45,7 @@ public abstract class BaseMwmAuthorizationFragment extends BaseMwmToolbarFragmen
private void authorize()
{
- if (Framework.nativeIsUserAuthenticated())
+ if (Framework.nativeIsUserAuthenticated() || !ConnectionState.isConnected())
{
finishActivity();
return;
diff --git a/android/src/com/mapswithme/maps/auth/Constants.java b/android/src/com/mapswithme/maps/auth/Constants.java
index 3e921dc7c0..a702b45291 100644
--- a/android/src/com/mapswithme/maps/auth/Constants.java
+++ b/android/src/com/mapswithme/maps/auth/Constants.java
@@ -9,5 +9,5 @@ class Constants
static final String EXTRA_SOCIAL_TOKEN = "extra_social_token";
static final String EXTRA_TOKEN_TYPE = "extra_token_type";
static final List<String> FACEBOOK_PERMISSIONS =
- Arrays.asList("email", "user_hometown", "user_tagged_places", "user_friends");
+ Arrays.asList("email", "user_friends");
}
diff --git a/android/src/com/mapswithme/maps/background/ConnectivityChangedReceiver.java b/android/src/com/mapswithme/maps/background/ConnectivityChangedReceiver.java
index ea4725a0fb..77163331bc 100644
--- a/android/src/com/mapswithme/maps/background/ConnectivityChangedReceiver.java
+++ b/android/src/com/mapswithme/maps/background/ConnectivityChangedReceiver.java
@@ -35,7 +35,16 @@ public class ConnectivityChangedReceiver extends BroadcastReceiver
MwmApplication application = MwmApplication.get();
if (!application.arePlatformAndCoreInitialized())
- application.initPlatformAndCore();
+ {
+ boolean success = application.initCore();
+ if (!success)
+ {
+ String message = "Native part couldn't be initialized successfully";
+ LOGGER.e(TAG, message);
+ CrashlyticsUtils.log(Log.ERROR, TAG, message);
+ return;
+ }
+ }
if (!ConnectionState.isWifiConnected()
|| MapManager.nativeNeedMigrate())
diff --git a/android/src/com/mapswithme/maps/background/WorkerService.java b/android/src/com/mapswithme/maps/background/WorkerService.java
index 756a0734cd..fcd4fd5be4 100644
--- a/android/src/com/mapswithme/maps/background/WorkerService.java
+++ b/android/src/com/mapswithme/maps/background/WorkerService.java
@@ -8,7 +8,6 @@ import android.location.Location;
import android.text.TextUtils;
import android.util.Log;
-import com.crashlytics.android.Crashlytics;
import com.mapswithme.maps.MwmApplication;
import com.mapswithme.maps.R;
import com.mapswithme.maps.downloader.CountryItem;
@@ -153,7 +152,16 @@ public class WorkerService extends IntentService
MwmApplication application = MwmApplication.get();
if (!application.arePlatformAndCoreInitialized())
- application.initPlatformAndCore();
+ {
+ boolean success = application.initCore();
+ if (!success)
+ {
+ String message = "Native part couldn't be initialized successfully";
+ LOGGER.e(TAG, message);
+ CrashlyticsUtils.log(Log.ERROR, TAG, message);
+ return false;
+ }
+ }
Location l = LocationHelper.INSTANCE.getLastKnownLocation();
if (l == null)
diff --git a/android/src/com/mapswithme/maps/base/BaseMwmFragmentActivity.java b/android/src/com/mapswithme/maps/base/BaseMwmFragmentActivity.java
index 2c2fe127bf..4f87ba135c 100644
--- a/android/src/com/mapswithme/maps/base/BaseMwmFragmentActivity.java
+++ b/android/src/com/mapswithme/maps/base/BaseMwmFragmentActivity.java
@@ -28,7 +28,7 @@ public class BaseMwmFragmentActivity extends AppCompatActivity
{
private final BaseActivityDelegate mBaseDelegate = new BaseActivityDelegate(this);
- private boolean mInitializationComplete = false;
+ private boolean mInitializationCompleted = false;
@Override
public Activity get()
@@ -60,7 +60,7 @@ public class BaseMwmFragmentActivity extends AppCompatActivity
goToSplashScreen();
return;
}
- mInitializationComplete = true;
+ mInitializationCompleted = true;
mBaseDelegate.onCreate();
super.onCreate(savedInstanceState);
@@ -91,9 +91,9 @@ public class BaseMwmFragmentActivity extends AppCompatActivity
attachDefaultFragment();
}
- protected boolean isInitializationComplete()
+ protected boolean isInitializationCompleted()
{
- return mInitializationComplete;
+ return mInitializationCompleted;
}
@ColorRes
diff --git a/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java b/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java
index 8efcdbb0e7..68fec38433 100644
--- a/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java
+++ b/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java
@@ -385,6 +385,7 @@ public class MapObject implements Parcelable
dest.writeInt(mExtendedView ? 1 : 0);
dest.writeInt(mShouldShowUGC ? 1 : 0);
dest.writeInt(mCanBeRated ? 1 : 0);
+ dest.writeInt(mCanBeReviewed ? 1 : 0);
dest.writeTypedList(mBanners);
dest.writeList(mReachableByTaxiTypes);
dest.writeTypedList(mRatings);
diff --git a/android/src/com/mapswithme/maps/search/SearchFragment.java b/android/src/com/mapswithme/maps/search/SearchFragment.java
index 7ff548ecc7..2a3c286a82 100644
--- a/android/src/com/mapswithme/maps/search/SearchFragment.java
+++ b/android/src/com/mapswithme/maps/search/SearchFragment.java
@@ -147,7 +147,7 @@ public class SearchFragment extends BaseMwmFragment
if (mAdsLoader != null && !isInteractiveSearch() && query.length() >= MIN_QUERY_LENGTH_FOR_AD)
{
mAdsRequested = true;
- mAdsLoader.scheduleAdsLoading(getActivity().getApplicationContext(), query);
+ mAdsLoader.scheduleAdsLoading(getActivity(), query);
}
runSearch();
@@ -517,13 +517,6 @@ public class SearchFragment extends BaseMwmFragment
mInitialHotelsFilter = arguments.getParcelable(SearchActivity.EXTRA_HOTELS_FILTER);
}
- private void hideSearch()
- {
- mToolbarController.clear();
- mToolbarController.deactivate();
- Utils.navigateToParent(getActivity());
- }
-
private boolean tryRecognizeLoggingCommand(@NonNull String str)
{
if (str.equals("?enableLogging"))
@@ -539,6 +532,12 @@ public class SearchFragment extends BaseMwmFragment
return true;
}
+ if (str.equals("?emulateBadStorage"))
+ {
+ SharedPropertiesUtils.setShouldShowEmulateBadStorageSetting(true);
+ return true;
+ }
+
return false;
}
diff --git a/android/src/com/mapswithme/maps/settings/SettingsPrefsFragment.java b/android/src/com/mapswithme/maps/settings/SettingsPrefsFragment.java
index 9660fd0aca..73ced9ef98 100644
--- a/android/src/com/mapswithme/maps/settings/SettingsPrefsFragment.java
+++ b/android/src/com/mapswithme/maps/settings/SettingsPrefsFragment.java
@@ -303,6 +303,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
initSimplifiedTrafficColorsPrefsCallbacks();
initDisplayShowcasePrefs();
initLoggingEnabledPrefsCallbacks();
+ initEmulationBadStorage();
initUseMobileDataPrefsCallbacks();
updateTts();
@@ -540,6 +541,16 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
}
}
+ private void initEmulationBadStorage()
+ {
+ Preference pref = findPreference(getString(R.string.pref_emulate_bad_external_storage));
+ if (pref == null)
+ return;
+
+ if (!SharedPropertiesUtils.shouldShowEmulateBadStorageSetting())
+ removePreference(getString(R.string.pref_settings_general), pref);
+ }
+
private void initAutoZoomPrefsCallbacks()
{
final TwoStatePreference pref = (TwoStatePreference)findPreference(getString(R.string.pref_auto_zoom));
diff --git a/android/src/com/mapswithme/maps/ugc/EditParams.java b/android/src/com/mapswithme/maps/ugc/EditParams.java
new file mode 100644
index 0000000000..20f9b39360
--- /dev/null
+++ b/android/src/com/mapswithme/maps/ugc/EditParams.java
@@ -0,0 +1,161 @@
+package com.mapswithme.maps.ugc;
+
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+
+import com.mapswithme.maps.bookmarks.data.FeatureId;
+
+import java.util.ArrayList;
+
+class EditParams
+{
+ @NonNull
+ private final String mTitle;
+ @NonNull
+ private final FeatureId mFeatureId;
+ @Nullable
+ private final ArrayList<UGC.Rating> mRatings;
+ @UGC.Impress
+ private final int mDefaultRating;
+ private final boolean mCanBeReviewed;
+ private final boolean mFromPP;
+ // TODO: mLat, mLon, mAddress are added just for debugging null feature id for ugc object.
+ // Remove they after problem is fixed.
+ private double mLat;
+ private double mLon;
+ @Nullable
+ private String mAddress;
+
+ private EditParams(@NonNull Builder builder)
+ {
+ mTitle = builder.mTitle;
+ mFeatureId = builder.mFeatureId;
+ mRatings = builder.mRatings;
+ mDefaultRating = builder.mDefaultRating;
+ mCanBeReviewed = builder.mCanBeReviewed;
+ mFromPP = builder.mFromPP;
+ mLat = builder.mLat;
+ mLon = builder.mLon;
+ mAddress = builder.mAddress;
+ }
+
+ @NonNull
+ public String getTitle()
+ {
+ return mTitle;
+ }
+
+ @NonNull
+ public FeatureId getFeatureId()
+ {
+ return mFeatureId;
+ }
+
+ @Nullable
+ public ArrayList<UGC.Rating> getRatings()
+ {
+ return mRatings;
+ }
+
+ int getDefaultRating()
+ {
+ return mDefaultRating;
+ }
+
+ boolean canBeReviewed()
+ {
+ return mCanBeReviewed;
+ }
+
+ boolean isFromPP()
+ {
+ return mFromPP;
+ }
+
+ double getLat()
+ {
+ return mLat;
+ }
+
+ double getLon()
+ {
+ return mLon;
+ }
+
+ @Nullable
+ String getAddress()
+ {
+ return mAddress;
+ }
+
+ public static class Builder
+ {
+ @NonNull
+ private final String mTitle;
+ @NonNull
+ private final FeatureId mFeatureId;
+ @Nullable
+ private ArrayList<UGC.Rating> mRatings;
+ @UGC.Impress
+ private int mDefaultRating;
+ private boolean mCanBeReviewed;
+ private boolean mFromPP;
+ private double mLat;
+ private double mLon;
+ @Nullable
+ private String mAddress;
+
+ public Builder(@NonNull String title, @NonNull FeatureId featureId)
+ {
+ mTitle = title;
+ mFeatureId = featureId;
+ }
+
+ public Builder setRatings(@Nullable ArrayList<UGC.Rating> ratings)
+ {
+ mRatings = ratings;
+ return this;
+ }
+
+ Builder setDefaultRating(@UGC.Impress int defaultRating)
+ {
+ mDefaultRating = defaultRating;
+ return this;
+ }
+
+ Builder setCanBeReviewed(boolean value)
+ {
+ mCanBeReviewed = value;
+ return this;
+ }
+
+ Builder setFromPP(boolean value)
+ {
+ mFromPP = value;
+ return this;
+ }
+
+ public Builder setLat(double lat)
+ {
+ mLat = lat;
+ return this;
+ }
+
+ public Builder setLon(double lon)
+ {
+ mLon = lon;
+ return this;
+ }
+
+ public Builder setAddress(@Nullable String address)
+ {
+ mAddress = address;
+ return this;
+ }
+
+ public EditParams build()
+ {
+ return new EditParams(this);
+ }
+ }
+}
diff --git a/android/src/com/mapswithme/maps/ugc/UGCController.java b/android/src/com/mapswithme/maps/ugc/UGCController.java
index 5a5d4d8579..bbd4f2f0f8 100644
--- a/android/src/com/mapswithme/maps/ugc/UGCController.java
+++ b/android/src/com/mapswithme/maps/ugc/UGCController.java
@@ -53,6 +53,8 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
@NonNull
private final View mUserReviewDivider;
@NonNull
+ private final View mReviewListDivider;
+ @NonNull
private final View mSummaryRootView;
@NonNull
private final TextView mSummaryReviewCount;
@@ -65,10 +67,11 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
if (mMapObject == null)
return;
- UGCEditorActivity.start((Activity) mPlacePage.getContext(), mMapObject.getTitle(),
- mMapObject.getFeatureId(),
- mMapObject.getDefaultRatings(), UGC.RATING_NONE, mMapObject.canBeReviewed(),
- true /* isFromPPP */);
+ EditParams.Builder builder = prepareEditParamsBuilder(mMapObject)
+ .setDefaultRating(UGC.RATING_NONE)
+ .setFromPP(true);
+
+ UGCEditorActivity.start((Activity) mPlacePage.getContext(), builder.build());
}
};
@NonNull
@@ -136,6 +139,7 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
mUserReviewView = mPlacePage.findViewById(R.id.rl_user_review);
mUserReviewView.findViewById(R.id.rating).setVisibility(View.GONE);
+ mReviewListDivider = mPlacePage.findViewById(R.id.ugc_review_list_divider);
mUserReviewDivider = mPlacePage.findViewById(R.id.user_review_divider);
UGC.setListener(this);
@@ -143,6 +147,7 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
public void clear()
{
+ UiUtils.hide(mUgcRootView, mLeaveReviewButton, mPreviewUgcInfoView);
mUGCReviewAdapter.setItems(new ArrayList<UGC.Review>());
mUGCRatingRecordsAdapter.setItems(new ArrayList<UGC.Rating>());
mUGCUserRatingRecordsAdapter.setItems(new ArrayList<UGC.Rating>());
@@ -176,16 +181,11 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
public void getUGC(@NonNull MapObject mapObject)
{
+ if (!mapObject.shouldShowUGC())
+ return;
+
mMapObject = mapObject;
- if (mapObject.shouldShowUGC())
- {
- UiUtils.show(mUgcRootView);
- UGC.requestUGC(mMapObject.getFeatureId());
- }
- else
- {
- UiUtils.hide(mUgcRootView);
- }
+ UGC.requestUGC(mMapObject.getFeatureId());
}
public boolean isLeaveReviewButtonTouched(@NonNull MotionEvent event)
@@ -197,6 +197,7 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
public void onUGCReceived(@Nullable UGC ugc, @Nullable UGCUpdate ugcUpdate, @UGC.Impress int impress,
@NonNull String rating)
{
+ UiUtils.show(mUgcRootView);
UiUtils.showIf(ugc != null || canUserRate(ugcUpdate) || ugcUpdate != null, mPreviewUgcInfoView);
UiUtils.showIf(canUserRate(ugcUpdate), mLeaveReviewButton, mUgcAddRatingView);
UiUtils.showIf(ugc != null, mSummaryRootView, mUgcMoreReviews);
@@ -218,6 +219,7 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
List<UGC.Review> reviews = ugc.getReviews();
if (reviews != null)
mUGCReviewAdapter.setItems(ugc.getReviews());
+ UiUtils.showIf(reviews != null, mReviewListDivider);
UiUtils.showIf(reviews != null && reviews.size() > UGCReviewAdapter.MAX_COUNT, mUgcMoreReviews);
}
@@ -242,15 +244,27 @@ public class UGCController implements View.OnClickListener, UGC.UGCListener
if (mMapObject == null)
return;
- UGCEditorActivity.start((Activity) mPlacePage.getContext(), mMapObject.getTitle(),
- mMapObject.getFeatureId(),
- mMapObject.getDefaultRatings(), rating, mMapObject.canBeReviewed(),
- false /* isFromPPP */);
+ EditParams.Builder builder = prepareEditParamsBuilder(mMapObject)
+ .setDefaultRating(rating)
+ .setFromPP(false);
+ UGCEditorActivity.start((Activity) mPlacePage.getContext(), builder.build());
+ }
+
+ @NonNull
+ private static EditParams.Builder prepareEditParamsBuilder(@NonNull MapObject mapObject)
+ {
+ return new EditParams.Builder(mapObject.getTitle(), mapObject.getFeatureId())
+ .setRatings(mapObject.getDefaultRatings())
+ .setCanBeReviewed(mapObject.canBeReviewed())
+ .setLat(mapObject.getLat())
+ .setLon(mapObject.getLon())
+ .setAddress(mapObject.getAddress());
}
private void setUserReviewAndRatingsView(@Nullable UGCUpdate update)
{
- UiUtils.showIf(update != null, mUserReviewView, mUserReviewDivider, mUserRatingRecordsContainer);
+ UiUtils.showIf(update != null, mUserReviewView, mUserReviewDivider,
+ mUserRatingRecordsContainer);
if (update == null)
return;
TextView name = (TextView) mUserReviewView.findViewById(R.id.name);
diff --git a/android/src/com/mapswithme/maps/ugc/UGCEditorActivity.java b/android/src/com/mapswithme/maps/ugc/UGCEditorActivity.java
index 74387e486d..74e6fd9000 100644
--- a/android/src/com/mapswithme/maps/ugc/UGCEditorActivity.java
+++ b/android/src/com/mapswithme/maps/ugc/UGCEditorActivity.java
@@ -4,32 +4,28 @@ import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.support.annotation.StyleRes;
import android.support.v4.app.Fragment;
import com.mapswithme.maps.base.BaseMwmFragmentActivity;
-import com.mapswithme.maps.bookmarks.data.FeatureId;
import com.mapswithme.util.ThemeUtils;
import com.mapswithme.util.statistics.Statistics;
-import java.util.ArrayList;
-
public class UGCEditorActivity extends BaseMwmFragmentActivity
{
- //TODO: refactor to EditorParams with builder.
- public static void start(@NonNull Activity activity, @NonNull String title,
- @NonNull FeatureId featureId, @Nullable ArrayList<UGC.Rating> ratings,
- @UGC.Impress int defaultRating, boolean canBeReviewed, boolean isFromPPP)
+ public static void start(@NonNull Activity activity, @NonNull EditParams params)
{
- Statistics.INSTANCE.trackUGCStart(false /* isEdit */, isFromPPP);
+ Statistics.INSTANCE.trackUGCStart(false /* isEdit */, params.isFromPP());
final Intent i = new Intent(activity, UGCEditorActivity.class);
Bundle args = new Bundle();
- args.putParcelable(UGCEditorFragment.ARG_FEATURE_ID, featureId);
- args.putString(UGCEditorFragment.ARG_TITLE, title);
- args.putInt(UGCEditorFragment.ARG_DEFAULT_RATING, defaultRating);
- args.putParcelableArrayList(UGCEditorFragment.ARG_RATING_LIST, ratings);
- args.putBoolean(UGCEditorFragment.ARG_CAN_BE_REVIEWED, canBeReviewed);
+ args.putParcelable(UGCEditorFragment.ARG_FEATURE_ID, params.getFeatureId());
+ args.putString(UGCEditorFragment.ARG_TITLE, params.getTitle());
+ args.putInt(UGCEditorFragment.ARG_DEFAULT_RATING, params.getDefaultRating());
+ args.putParcelableArrayList(UGCEditorFragment.ARG_RATING_LIST, params.getRatings());
+ args.putBoolean(UGCEditorFragment.ARG_CAN_BE_REVIEWED, params.canBeReviewed());
+ args.putDouble(UGCEditorFragment.ARG_LAT, params.getLat());
+ args.putDouble(UGCEditorFragment.ARG_LON, params.getLon());
+ args.putString(UGCEditorFragment.ARG_ADDRESS, params.getAddress());
i.putExtras(args);
activity.startActivity(i);
}
diff --git a/android/src/com/mapswithme/maps/ugc/UGCEditorFragment.java b/android/src/com/mapswithme/maps/ugc/UGCEditorFragment.java
index cb0d8e1686..5c1c5d61c0 100644
--- a/android/src/com/mapswithme/maps/ugc/UGCEditorFragment.java
+++ b/android/src/com/mapswithme/maps/ugc/UGCEditorFragment.java
@@ -14,6 +14,8 @@ import com.mapswithme.maps.R;
import com.mapswithme.maps.auth.BaseMwmAuthorizationFragment;
import com.mapswithme.maps.bookmarks.data.FeatureId;
import com.mapswithme.maps.widget.ToolbarController;
+import com.mapswithme.util.CrashlyticsUtils;
+import com.mapswithme.util.Language;
import com.mapswithme.util.UiUtils;
import com.mapswithme.util.statistics.Statistics;
@@ -26,6 +28,9 @@ public class UGCEditorFragment extends BaseMwmAuthorizationFragment
static final String ARG_DEFAULT_RATING = "arg_default_rating";
static final String ARG_RATING_LIST = "arg_rating_list";
static final String ARG_CAN_BE_REVIEWED = "arg_can_be_reviewed";
+ static final String ARG_LAT = "arg_lat";
+ static final String ARG_LON = "arg_lon";
+ static final String ARG_ADDRESS = "arg_address";
@NonNull
private final UGCRatingAdapter mUGCRatingAdapter = new UGCRatingAdapter();
@SuppressWarnings("NullableProblems")
@@ -92,10 +97,18 @@ public class UGCEditorFragment extends BaseMwmAuthorizationFragment
UGC.Rating[] ratings = new UGC.Rating[modifiedRatings.size()];
modifiedRatings.toArray(ratings);
UGCUpdate update = new UGCUpdate(ratings, mReviewEditText.getText().toString(),
- System.currentTimeMillis());
+ System.currentTimeMillis(), Language.getDefaultLocale(),
+ Language.getKeyboardLocale());
FeatureId featureId = getArguments().getParcelable(ARG_FEATURE_ID);
if (featureId == null)
- throw new AssertionError("Feature ID must be passed to this fragment!");
+ {
+
+ throw new AssertionError("Feature ID must be non-null for ugc object! " +
+ "Title = " + getArguments().getString(ARG_TITLE) +
+ "; address = " + getArguments().getString(ARG_ADDRESS) +
+ "; lat = " + getArguments().getDouble(ARG_LAT) +
+ "; lon = " + getArguments().getDouble(ARG_LON));
+ }
UGC.setUGCUpdate(featureId, update);
Statistics.INSTANCE.trackEvent(Statistics.EventName.UGC_REVIEW_SUCCESS);
}
diff --git a/android/src/com/mapswithme/maps/ugc/UGCRatingRecordsAdapter.java b/android/src/com/mapswithme/maps/ugc/UGCRatingRecordsAdapter.java
index 1c117e8eed..b4f3ec2f0a 100644
--- a/android/src/com/mapswithme/maps/ugc/UGCRatingRecordsAdapter.java
+++ b/android/src/com/mapswithme/maps/ugc/UGCRatingRecordsAdapter.java
@@ -1,6 +1,7 @@
package com.mapswithme.maps.ugc;
import android.support.annotation.NonNull;
+import android.support.annotation.StringRes;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
@@ -9,6 +10,7 @@ import android.widget.RatingBar;
import android.widget.TextView;
import com.mapswithme.maps.R;
+import com.mapswithme.util.Utils;
import java.util.ArrayList;
import java.util.List;
@@ -60,7 +62,10 @@ class UGCRatingRecordsAdapter extends RecyclerView.Adapter<UGCRatingRecordsAdapt
public void bind(UGC.Rating rating)
{
- mName.setText(rating.getName());
+ @StringRes
+ int nameId = Utils.getStringIdByKey(mName.getContext(), rating.getName());
+ if (nameId != Utils.INVALID_ID)
+ mName.setText(nameId);
mBar.setRating(rating.getValue());
}
}
diff --git a/android/src/com/mapswithme/maps/ugc/UGCUpdate.java b/android/src/com/mapswithme/maps/ugc/UGCUpdate.java
index da5a1628bc..7e59e296f0 100644
--- a/android/src/com/mapswithme/maps/ugc/UGCUpdate.java
+++ b/android/src/com/mapswithme/maps/ugc/UGCUpdate.java
@@ -14,12 +14,19 @@ class UGCUpdate
@Nullable
private String mText;
private long mTimeMillis;
+ @NonNull
+ private final String mDeviceLocale;
+ @NonNull
+ private final String mKeyboardLocale;
- UGCUpdate(@Nullable UGC.Rating[] ratings, @Nullable String text, long timeMillis)
+ UGCUpdate(@Nullable UGC.Rating[] ratings, @Nullable String text, long timeMillis,
+ @NonNull String deviceLocale, @NonNull String keyboardLocale)
{
mRatings = ratings;
mText = text;
mTimeMillis = timeMillis;
+ mDeviceLocale = deviceLocale;
+ mKeyboardLocale = keyboardLocale;
}
public void setText(@Nullable String text)
diff --git a/android/src/com/mapswithme/maps/widget/RatingView.java b/android/src/com/mapswithme/maps/widget/RatingView.java
index 5ae993ccde..3c4d3c084e 100644
--- a/android/src/com/mapswithme/maps/widget/RatingView.java
+++ b/android/src/com/mapswithme/maps/widget/RatingView.java
@@ -78,7 +78,7 @@ public class RatingView extends View
mBackgroundPaint.setColor(mRatingColor);
mBackgroundPaint.setAlpha(31 /* 12% */);
if (mDrawSmile)
- mDrawable = res.getDrawable(impress.getDrawableId());
+ mDrawable = DrawableCompat.wrap(res.getDrawable(impress.getDrawableId()));
mTextPaint.setColor(mRatingColor);
invalidate();
requestLayout();
@@ -130,9 +130,8 @@ public class RatingView extends View
if (mRating != null)
{
- float yPos = getHeight() / 2;
- yPos += (Math.abs(mTextBounds.height())) / 2;
- float xPos = mDrawable != null ? mDrawable.getBounds().right + getPaddingLeft()
+ int yPos = (int) ((canvas.getHeight() / 2) - ((mTextPaint.descent() + mTextPaint.ascent()) / 2)) ;
+ int xPos = mDrawable != null ? mDrawable.getBounds().right + getPaddingLeft()
: getPaddingLeft();
canvas.drawText(mRating, xPos, yPos, mTextPaint);
}
diff --git a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java
index 615ce903da..ae218936e9 100644
--- a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java
+++ b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java
@@ -168,6 +168,7 @@ public class PlacePageView extends RelativeLayout
private View mWiki;
private View mEntrance;
private TextView mTvEntrance;
+ private View mTaxiShadow;
private View mTaxiDivider;
private View mTaxi;
private View mEditPlace;
@@ -387,6 +388,7 @@ public class PlacePageView extends RelativeLayout
mWiki.setOnClickListener(this);
mEntrance = mDetails.findViewById(R.id.ll__place_entrance);
mTvEntrance = (TextView) mEntrance.findViewById(R.id.tv__place_entrance);
+ mTaxiShadow = mDetails.findViewById(R.id.place_page_taxi_shadow);
mTaxiDivider = mDetails.findViewById(R.id.place_page_taxi_divider);
mTaxi = mDetails.findViewById(R.id.ll__place_page_taxi);
TextView orderTaxi = (TextView) mTaxi.findViewById(R.id.tv__place_page_order_taxi);
@@ -1479,8 +1481,7 @@ public class PlacePageView extends RelativeLayout
mTvSponsoredPrice.setText(mSponsoredPrice);
UiUtils.showIf(!isPriceEmpty, mTvSponsoredPrice);
UiUtils.showIf((!isRatingEmpty || !isPriceEmpty) &&
- mSponsored.getType() != Sponsored.TYPE_THOR &&
- mSponsored.getType() != Sponsored.TYPE_HALLOWEEN, mPreviewRatingInfo);
+ mSponsored.getType() == Sponsored.TYPE_BOOKING, mPreviewRatingInfo);
}
}
@@ -1559,7 +1560,7 @@ public class PlacePageView extends RelativeLayout
boolean showTaxiOffer = taxiTypes != null && !taxiTypes.isEmpty() &&
LocationHelper.INSTANCE.getMyPosition() != null &&
ConnectionState.isConnected();
- UiUtils.showIf(showTaxiOffer, mTaxi, mTaxiDivider);
+ UiUtils.showIf(showTaxiOffer, mTaxi, mTaxiShadow, mTaxiDivider);
if (!showTaxiOffer)
return;
diff --git a/android/src/com/mapswithme/util/Language.java b/android/src/com/mapswithme/util/Language.java
index 151ae76103..6ee82fbe8e 100644
--- a/android/src/com/mapswithme/util/Language.java
+++ b/android/src/com/mapswithme/util/Language.java
@@ -1,8 +1,11 @@
package com.mapswithme.util;
import android.content.Context;
+import android.support.annotation.NonNull;
+import android.text.TextUtils;
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.InputMethodSubtype;
+
import com.mapswithme.maps.MwmApplication;
import java.util.Locale;
@@ -11,21 +14,37 @@ public class Language
{
// Locale.getLanguage() returns even 3-letter codes, not that we need in the C++ core,
// so we use locale itself, like zh_CN
+ @NonNull
public static String getDefaultLocale()
{
- return Locale.getDefault().toString();
+ String lang = Locale.getDefault().toString();
+ if (TextUtils.isEmpty(lang))
+ return Locale.US.toString();
+
+ // Replace deprecated language codes:
+ // in* -> id
+ // iw* -> he
+ if (lang.startsWith("in"))
+ return "id";
+ if (lang.startsWith("iw"))
+ return "he";
+
+ return lang;
}
// After some testing on Galaxy S4, looks like this method doesn't work on all devices:
// sometime it always returns the same value as getDefaultLocale()
+ @NonNull
public static String getKeyboardLocale()
{
final InputMethodManager imm = (InputMethodManager) MwmApplication.get().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null)
{
final InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
- if (ims != null)
+ if (ims != null && !TextUtils.isEmpty(ims.getLocale()))
+ {
return ims.getLocale();
+ }
}
return getDefaultLocale();
diff --git a/android/src/com/mapswithme/util/SharedPropertiesUtils.java b/android/src/com/mapswithme/util/SharedPropertiesUtils.java
index 55761cd4d2..f7f2289697 100644
--- a/android/src/com/mapswithme/util/SharedPropertiesUtils.java
+++ b/android/src/com/mapswithme/util/SharedPropertiesUtils.java
@@ -1,5 +1,6 @@
package com.mapswithme.util;
+import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import com.mapswithme.maps.MwmApplication;
@@ -9,6 +10,8 @@ import static com.mapswithme.util.Config.KEY_PREF_STATISTICS;
public final class SharedPropertiesUtils
{
+ private static final String PREFS_SHOW_EMULATE_BAD_STORAGE_SETTING = "ShowEmulateBadStorageSetting";
+
public static boolean isShowcaseSwitchedOnLocal()
{
return PreferenceManager.getDefaultSharedPreferences(MwmApplication.get())
@@ -25,6 +28,26 @@ public final class SharedPropertiesUtils
MwmApplication.prefs().edit().putBoolean(KEY_PREF_STATISTICS, enabled).apply();
}
+ public static void setShouldShowEmulateBadStorageSetting(boolean show)
+ {
+ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(MwmApplication.get());
+ sp.edit().putBoolean(PREFS_SHOW_EMULATE_BAD_STORAGE_SETTING, show).apply();
+ }
+
+ public static boolean shouldShowEmulateBadStorageSetting()
+ {
+ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(MwmApplication.get());
+ return sp.getBoolean(PREFS_SHOW_EMULATE_BAD_STORAGE_SETTING, false);
+ }
+
+ public static boolean shouldEmulateBadExternalStorage()
+ {
+ String key = MwmApplication.get()
+ .getString(R.string.pref_emulate_bad_external_storage);
+ return PreferenceManager.getDefaultSharedPreferences(MwmApplication.get())
+ .getBoolean(key, false);
+ }
+
//Utils class
private SharedPropertiesUtils()
{
diff --git a/android/src/com/mapswithme/util/Utils.java b/android/src/com/mapswithme/util/Utils.java
index 73f9880d4c..ddf4d4364c 100644
--- a/android/src/com/mapswithme/util/Utils.java
+++ b/android/src/com/mapswithme/util/Utils.java
@@ -224,8 +224,11 @@ public class Utils
LoggerFactory.INSTANCE.zipLogs(new OnZipCompletedCallback(activity, subject));
}
- public static void navigateToParent(@NonNull Activity activity)
+ public static void navigateToParent(@Nullable Activity activity)
{
+ if (activity == null)
+ return;
+
if (activity instanceof CustomNavigateUpListener)
((CustomNavigateUpListener) activity).customOnNavigateUp();
else
diff --git a/data/World.mwm b/data/World.mwm
index 62d4e631b8..4c19602394 100644
--- a/data/World.mwm
+++ b/data/World.mwm
Binary files differ
diff --git a/data/WorldCoasts.mwm b/data/WorldCoasts.mwm
index 0f84a6ec9a..213858521f 100644
--- a/data/WorldCoasts.mwm
+++ b/data/WorldCoasts.mwm
Binary files differ
diff --git a/data/categories.txt b/data/categories.txt
index 748c520ee4..2f35fbf71c 100644
--- a/data/categories.txt
+++ b/data/categories.txt
@@ -8895,3 +8895,7 @@ zh-Hant:^山屋
sponsored-thor
en:Collect all the items and win prizes!
ru:Соберите все и выиграйте призы!
+
+sponsored-halloween
+en:Let's check your luck. Trick or treat?
+ru:Проверим вашу удачу? Нажмите на «Trick» или «Treat»
diff --git a/data/countries.txt b/data/countries.txt
index e8003f887c..3fd130e40a 100644
--- a/data/countries.txt
+++ b/data/countries.txt
@@ -1,10 +1,10 @@
{
"id": "Countries",
- "v": 171006,
+ "v": 171020,
"g": [
{
"id": "Abkhazia",
- "s": 4713657,
+ "s": 4717099,
"affiliations": [
"\u0410\u0431\u0445\u0430\u0437\u0438\u044f - \u0410\u04a7\u0441\u043d\u044b",
"\u10d0\u10e4\u10ee\u10d0\u10d6\u10d4\u10d7\u10d8\u10e1 \u10d0\u10d5\u10e2\u10dd\u10dc\u10dd\u10db\u10d8\u10e3\u10e0\u10d8 \u10e0\u10d4\u10e1\u10de\u10e3\u10d1\u10da\u10d8\u10d9\u10d0 - \u0410\u04a7\u0441\u043d\u044b \u0410\u0432\u0442\u043e\u043d\u043e\u043c\u0442\u04d9 \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430",
@@ -16,7 +16,7 @@
},
{
"id": "Afghanistan",
- "s": 18442561,
+ "s": 18467162,
"affiliations": [
"Badakhshan",
"Badghis",
@@ -60,7 +60,7 @@
},
{
"id": "Albania",
- "s": 16782385,
+ "s": 16957542,
"affiliations": [
"Shqip\u00ebria"
],
@@ -73,7 +73,7 @@
"g": [
{
"id": "Algeria_Central",
- "s": 16429000,
+ "s": 16600601,
"affiliations": [
"Adrar \u2d30\u2d37\u2d54\u2d30\u2d54 \u0623\u062f\u0631\u0627\u0631",
"Illizi \u2d49\u2d4d\u2d4d\u2d49\u2d63\u2d49 \u0625\u0644\u0640\u064a\u0640\u0632\u064a",
@@ -100,7 +100,7 @@
},
{
"id": "Algeria_Coast",
- "s": 45383787,
+ "s": 45526328,
"affiliations": [
"Alger - \u0627\u0644\u062c\u0632\u0627\u0626\u0631",
"Alg\u00e9rie \u2d4d\u2d63\u2d63\u2d30\u2d62\u2d3b\u2d54 \u0627\u0644\u062c\u0632\u0627\u0626\u0631",
@@ -143,7 +143,7 @@
},
{
"id": "Andorra",
- "s": 1079718,
+ "s": 1089360,
"affiliations": [
"Andorra"
],
@@ -153,7 +153,7 @@
},
{
"id": "Angola",
- "s": 13256280,
+ "s": 14641510,
"affiliations": [
"Angola",
"Bengo",
@@ -181,7 +181,7 @@
},
{
"id": "Anguilla",
- "s": 509758,
+ "s": 512808,
"affiliations": [
"Anguilla"
],
@@ -191,7 +191,7 @@
},
{
"id": "Antigua and Barbuda",
- "s": 1817150,
+ "s": 1824412,
"affiliations": [
"Antigua and Barbuda",
"Montserrat"
@@ -202,7 +202,7 @@
},
{
"id": "Barbados",
- "s": 1442900,
+ "s": 1461731,
"affiliations": [
"Barbados"
],
@@ -212,7 +212,7 @@
},
{
"id": "British Virgin Islands",
- "s": 680238,
+ "s": 680118,
"affiliations": [
"British Virgin Islands"
],
@@ -222,7 +222,7 @@
},
{
"id": "Caribisch Nederland",
- "s": 4321045,
+ "s": 4323759,
"affiliations": [
"Caribisch Nederland",
"Nederland",
@@ -236,7 +236,7 @@
},
{
"id": "Dominica",
- "s": 1822006,
+ "s": 1798774,
"affiliations": [
"Dominica",
"Saint Andrew Parish",
@@ -256,7 +256,7 @@
},
{
"id": "Grenada",
- "s": 970556,
+ "s": 973411,
"affiliations": [
"Grenada"
],
@@ -266,7 +266,7 @@
},
{
"id": "Guadeloupe",
- "s": 11640402,
+ "s": 11658240,
"affiliations": [
"France",
"Guadeloupe",
@@ -278,7 +278,7 @@
},
{
"id": "Martinique",
- "s": 9941052,
+ "s": 10020689,
"affiliations": [
"France",
"Martinique",
@@ -290,7 +290,7 @@
},
{
"id": "Montserrat",
- "s": 270448,
+ "s": 267304,
"affiliations": [
"Montserrat"
],
@@ -300,7 +300,7 @@
},
{
"id": "Saint Barthelemy",
- "s": 326715,
+ "s": 329980,
"affiliations": [
"France"
],
@@ -310,7 +310,7 @@
},
{
"id": "Saint Kitts and Nevis",
- "s": 406288,
+ "s": 449930,
"affiliations": [
"Saint Kitts and Nevis"
],
@@ -320,7 +320,7 @@
},
{
"id": "Saint Lucia",
- "s": 1360766,
+ "s": 1364849,
"affiliations": [
"Saint Lucia",
"Saint Vincent and the Grenadines"
@@ -331,7 +331,7 @@
},
{
"id": "Saint Martin",
- "s": 1744903,
+ "s": 1763591,
"affiliations": [
"Anguilla",
"France",
@@ -343,7 +343,7 @@
},
{
"id": "Saint Vincent and the Grenadines",
- "s": 721492,
+ "s": 722404,
"affiliations": [
"Saint Vincent and the Grenadines"
],
@@ -353,7 +353,7 @@
},
{
"id": "Trinidad and Tobago",
- "s": 8910172,
+ "s": 8916653,
"affiliations": [
"Trinidad and Tobago"
],
@@ -363,7 +363,7 @@
},
{
"id": "United States Virgin Islands",
- "s": 2295840,
+ "s": 2316582,
"affiliations": [
"British Virgin Islands",
"Puerto Rico",
@@ -381,14 +381,14 @@
"g": [
{
"id": "Campo de Hielo Sur",
- "s": 944227,
+ "s": 944427,
"affiliations": [
"Acuerdo de Campos de Hielo"
]
},
{
"id": "Argentina_Buenos Aires_Buenos Aires",
- "s": 24615650,
+ "s": 24715001,
"affiliations": [
"Argentina",
"Ciudad Aut\u00f3noma de Buenos Aires",
@@ -400,7 +400,7 @@
},
{
"id": "Argentina_Buenos Aires_North",
- "s": 9075365,
+ "s": 9119106,
"affiliations": [
"Argentina",
"Buenos Aires"
@@ -411,7 +411,7 @@
},
{
"id": "Argentina_Buenos Aires_South",
- "s": 10090206,
+ "s": 10125098,
"affiliations": [
"Argentina",
"Buenos Aires"
@@ -422,7 +422,7 @@
},
{
"id": "Argentina_Patagonia",
- "s": 31441811,
+ "s": 31673056,
"affiliations": [
"Argentina",
"Chubut",
@@ -437,7 +437,7 @@
},
{
"id": "Argentina_Cuyo",
- "s": 11467458,
+ "s": 11545557,
"affiliations": [
"Argentina",
"La Rioja",
@@ -451,7 +451,7 @@
},
{
"id": "Argentina_Mesopotamia",
- "s": 26563573,
+ "s": 26878063,
"affiliations": [
"Argentina",
"Corrientes",
@@ -472,7 +472,7 @@
},
{
"id": "Argentina_Northwest",
- "s": 22999998,
+ "s": 23178392,
"affiliations": [
"Chaco",
"Argentina",
@@ -489,7 +489,7 @@
},
{
"id": "Argentina_Pampas",
- "s": 15098429,
+ "s": 15236569,
"affiliations": [
"Argentina",
"C\u00f3rdoba",
@@ -501,7 +501,7 @@
},
{
"id": "Argentina_Santa Fe",
- "s": 11753220,
+ "s": 11801841,
"affiliations": [
"Argentina",
"Santa Fe"
@@ -514,7 +514,7 @@
},
{
"id": "Armenia",
- "s": 15018338,
+ "s": 15174741,
"affiliations": [
"Border Azerbaijan - Armenia (Enclave AZE)",
"Qazax rayonu",
@@ -540,7 +540,7 @@
"g": [
{
"id": "Austria_Burgenland",
- "s": 15541009,
+ "s": 15569498,
"affiliations": [
"Burgenland",
"\u00d6sterreich"
@@ -551,7 +551,7 @@
},
{
"id": "Austria_Carinthia",
- "s": 34757198,
+ "s": 34840106,
"affiliations": [
"K\u00e4rnten",
"\u00d6sterreich"
@@ -562,7 +562,7 @@
},
{
"id": "Austria_Lower Austria_Wien",
- "s": 59647201,
+ "s": 59891296,
"affiliations": [
"\u00d6sterreich",
"Nieder\u00f6sterreich",
@@ -574,7 +574,7 @@
},
{
"id": "Austria_Styria_Graz",
- "s": 51172984,
+ "s": 51466010,
"affiliations": [
"\u00d6sterreich",
"Steiermark"
@@ -585,7 +585,7 @@
},
{
"id": "Austria_Styria_Leoben",
- "s": 30958666,
+ "s": 31063734,
"affiliations": [
"\u00d6sterreich",
"Steiermark"
@@ -596,7 +596,7 @@
},
{
"id": "Austria_Upper Austria_Linz",
- "s": 32607392,
+ "s": 32653609,
"affiliations": [
"\u00d6sterreich",
"Ober\u00f6sterreich"
@@ -607,7 +607,7 @@
},
{
"id": "Austria_Upper Austria_Wels",
- "s": 40886721,
+ "s": 40985173,
"affiliations": [
"\u00d6sterreich",
"Ober\u00f6sterreich"
@@ -618,7 +618,7 @@
},
{
"id": "Austria_Lower Austria_West",
- "s": 46053224,
+ "s": 46337699,
"affiliations": [
"\u00d6sterreich",
"Nieder\u00f6sterreich"
@@ -629,7 +629,7 @@
},
{
"id": "Austria_Tyrol",
- "s": 50269919,
+ "s": 50614329,
"affiliations": [
"\u00d6sterreich",
"Tirol"
@@ -640,7 +640,7 @@
},
{
"id": "Austria_Salzburg",
- "s": 31416329,
+ "s": 31555951,
"affiliations": [
"\u00d6sterreich",
"Salzburg"
@@ -651,7 +651,7 @@
},
{
"id": "Austria_Vorarlberg",
- "s": 17616284,
+ "s": 17645979,
"affiliations": [
"\u00d6sterreich",
"Vorarlberg"
@@ -667,7 +667,7 @@
"g": [
{
"id": "Willis Island",
- "s": 93399,
+ "s": 93599,
"affiliations": [
"Australia",
"Coral Sea Islands Territory",
@@ -676,7 +676,7 @@
},
{
"id": "Australia_Melbourne",
- "s": 36915646,
+ "s": 37002200,
"affiliations": [
"Australia",
"Victoria"
@@ -687,7 +687,7 @@
},
{
"id": "Australia_New South Wales",
- "s": 28539246,
+ "s": 28586731,
"affiliations": [
"Australia",
"Coral Sea Islands Territory",
@@ -701,7 +701,7 @@
},
{
"id": "Australia_Northern Territory",
- "s": 8181028,
+ "s": 8210078,
"affiliations": [
"Australia",
"Northern Territory"
@@ -712,7 +712,7 @@
},
{
"id": "Australia_Queensland",
- "s": 21718015,
+ "s": 21737442,
"affiliations": [
"Australia",
"Coral Sea Islands Territory",
@@ -724,7 +724,7 @@
},
{
"id": "Australia_South Australia",
- "s": 25973128,
+ "s": 26012163,
"affiliations": [
"Australia",
"South Australia"
@@ -735,7 +735,7 @@
},
{
"id": "Australia_Tasmania",
- "s": 21256402,
+ "s": 21270150,
"affiliations": [
"Australia",
"Tasmania"
@@ -746,7 +746,7 @@
},
{
"id": "Australia_Victoria",
- "s": 30610095,
+ "s": 30724522,
"affiliations": [
"Australia",
"Victoria"
@@ -757,7 +757,7 @@
},
{
"id": "Australia_Western Australia",
- "s": 38038579,
+ "s": 38236039,
"affiliations": [
"Ashmore and Cartier Islands",
"Christmas Island",
@@ -773,7 +773,7 @@
},
{
"id": "Australia_Brisbane",
- "s": 30401027,
+ "s": 30471970,
"affiliations": [
"Australia",
"Coral Sea Islands Territory",
@@ -786,7 +786,7 @@
},
{
"id": "Australia_Sydney",
- "s": 46946793,
+ "s": 47092684,
"affiliations": [
"Australia",
"Australian Capital Territory",
@@ -804,7 +804,7 @@
"g": [
{
"id": "Nagorno-Karabakh",
- "s": 2188675,
+ "s": 2199657,
"affiliations": [
"Az\u0259rbaycan",
"\u0544\u0561\u0580\u057f\u0561\u056f\u0565\u0580\u057f\u056b \u0577\u0580\u057b\u0561\u0576 (Martakert Province)",
@@ -822,7 +822,7 @@
},
{
"id": "Azerbaijan",
- "s": 14216664,
+ "s": 14278922,
"affiliations": [
"Ab\u015feron rayonu",
"A\u011fcab\u0259di rayonu",
@@ -904,7 +904,7 @@
},
{
"id": "Bahrain",
- "s": 3652617,
+ "s": 3654096,
"affiliations": [
"\u0645\u062d\u0627\u0641\u0638\u0629 \u0627\u0644\u0645\u062d\u0631\u0642",
"\u0645\u062d\u0627\u0641\u0638\u0629 \u0627\u0644\u0639\u0627\u0635\u0645\u0629",
@@ -919,7 +919,7 @@
},
{
"id": "Bangladesh",
- "s": 65637524,
+ "s": 69983635,
"affiliations": [
"Border India - Bangladesh",
"\u09b0\u09be\u099c\u09b6\u09be\u09b9\u09c0 \u09ac\u09bf\u09ad\u09be\u0997",
@@ -940,7 +940,7 @@
"g": [
{
"id": "Belarus_Vitebsk Region",
- "s": 34179226,
+ "s": 34257675,
"affiliations": [
"\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c",
"\u0412\u0438\u0442\u0435\u0431\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -951,7 +951,7 @@
},
{
"id": "Belarus_Hrodna Region",
- "s": 21204561,
+ "s": 21307196,
"affiliations": [
"\u0413\u0440\u043e\u0434\u043d\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c"
@@ -962,7 +962,7 @@
},
{
"id": "Belarus_Brest Region",
- "s": 17156510,
+ "s": 17267399,
"affiliations": [
"\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c",
"\u0411\u0440\u0435\u0441\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -973,7 +973,7 @@
},
{
"id": "Belarus_Homiel Region",
- "s": 22032781,
+ "s": 22050752,
"affiliations": [
"\u0413\u043e\u043c\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c"
@@ -984,7 +984,7 @@
},
{
"id": "Belarus_Maglieu Region",
- "s": 17692587,
+ "s": 17710552,
"affiliations": [
"\u041c\u043e\u0433\u0438\u043b\u0451\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c"
@@ -995,7 +995,7 @@
},
{
"id": "Belarus_Minsk Region",
- "s": 41476490,
+ "s": 41782557,
"affiliations": [
"\u0413\u043e\u043b\u044c\u0444-\u043a\u043b\u0443\u0431",
"\u041c\u0438\u043d\u0441\u043a",
@@ -1015,7 +1015,7 @@
"g": [
{
"id": "Belgium_West Flanders",
- "s": 28073978,
+ "s": 28234145,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Vlaanderen"
@@ -1027,7 +1027,7 @@
},
{
"id": "Belgium_Antwerp",
- "s": 43750383,
+ "s": 43940815,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Nederland - Belgique / Belgi\u00eb / Belgien",
@@ -1039,7 +1039,7 @@
},
{
"id": "Belgium_East Flanders",
- "s": 29084593,
+ "s": 29207024,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Vlaanderen"
@@ -1050,7 +1050,7 @@
},
{
"id": "Belgium_Hainaut",
- "s": 19245688,
+ "s": 19303889,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Wallonie"
@@ -1061,7 +1061,7 @@
},
{
"id": "Belgium_Walloon Brabant",
- "s": 6643609,
+ "s": 6655754,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Wallonie"
@@ -1072,7 +1072,7 @@
},
{
"id": "Belgium_Namur",
- "s": 10799244,
+ "s": 10817636,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Wallonie"
@@ -1083,7 +1083,7 @@
},
{
"id": "Belgium_Limburg",
- "s": 26183331,
+ "s": 26278968,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Vlaanderen"
@@ -1094,7 +1094,7 @@
},
{
"id": "Belgium_Luxembourg",
- "s": 12431999,
+ "s": 12450367,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Wallonie"
@@ -1105,7 +1105,7 @@
},
{
"id": "Belgium_Flemish Brabant",
- "s": 43383528,
+ "s": 43558841,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"R\u00e9gion de Bruxelles-Capitale - Brussels Hoofdstedelijk Gewest",
@@ -1117,7 +1117,7 @@
},
{
"id": "Belgium_Liege",
- "s": 27218039,
+ "s": 27349247,
"affiliations": [
"Belgi\u00eb - Belgique - Belgien",
"Wallonie"
@@ -1130,7 +1130,7 @@
},
{
"id": "Belize",
- "s": 3893424,
+ "s": 3903834,
"affiliations": [
"Belize District",
"Belize",
@@ -1148,7 +1148,7 @@
},
{
"id": "Benin",
- "s": 16036690,
+ "s": 16293638,
"affiliations": [
"Alibori",
"Atakora",
@@ -1170,7 +1170,7 @@
},
{
"id": "Bermuda",
- "s": 709886,
+ "s": 710327,
"affiliations": [
"Bermuda"
],
@@ -1180,7 +1180,7 @@
},
{
"id": "Bhutan",
- "s": 4048023,
+ "s": 4072380,
"affiliations": [
"\u0f60\u0f56\u0fb2\u0f74\u0f42\u0f61\u0f74\u0f63\u0f0b",
"\u0f58\u0f42\u0f62\u0f0b\u0f66\u0f0b\u0f62\u0fab\u0f7c\u0f44\u0f0b\u0f41\u0f42\u0f0b",
@@ -1213,7 +1213,7 @@
"g": [
{
"id": "Bolivia_North",
- "s": 30755033,
+ "s": 30854985,
"affiliations": [
"Bolivia",
"Beni",
@@ -1227,7 +1227,7 @@
},
{
"id": "Bolivia_South",
- "s": 28873541,
+ "s": 29094671,
"affiliations": [
"Bolivia",
"Chuquisaca",
@@ -1247,7 +1247,7 @@
"g": [
{
"id": "Bosnia and Herzegovina_Entity Federation of Bosnia and Herzegovina",
- "s": 34711069,
+ "s": 34766935,
"affiliations": [
"Bosna i Hercegovina",
"Federacija Bosne i Hercegovine"
@@ -1258,7 +1258,7 @@
},
{
"id": "Bosnia and Herzegovina_Brcko district of Bosnia and Herzegowina",
- "s": 661770,
+ "s": 669494,
"affiliations": [
"Br\u010dko distrikt Bosne i Hercegovine",
"Bosna i Hercegovina",
@@ -1270,7 +1270,7 @@
},
{
"id": "Bosnia and Herzegovina_Republic of Srpska",
- "s": 30392214,
+ "s": 30430700,
"affiliations": [
"Bosna i Hercegovina",
"Republika Srpska"
@@ -1283,7 +1283,7 @@
},
{
"id": "Botswana",
- "s": 27395638,
+ "s": 27408339,
"affiliations": [
"Botswana",
"Central District",
@@ -1305,7 +1305,7 @@
"g": [
{
"id": "Brazil_Bahia",
- "s": 23900408,
+ "s": 24066662,
"affiliations": [
"Bahia",
"Brasil"
@@ -1316,7 +1316,7 @@
},
{
"id": "Brazil_Goias_North",
- "s": 8179075,
+ "s": 8217435,
"affiliations": [
"Brasil",
"Goi\u00e1s"
@@ -1327,7 +1327,7 @@
},
{
"id": "Brazil_Goias_Brasilia",
- "s": 17092723,
+ "s": 17341289,
"affiliations": [
"Brasil",
"Distrito Federal",
@@ -1339,7 +1339,7 @@
},
{
"id": "Brazil_Mato Grosso Do Sul",
- "s": 8635603,
+ "s": 8678896,
"affiliations": [
"Brasil",
"Mato Grosso do Sul"
@@ -1350,7 +1350,7 @@
},
{
"id": "Brazil_Mato Grosso",
- "s": 14431615,
+ "s": 14565000,
"affiliations": [
"Brasil",
"Mato Grosso"
@@ -1361,7 +1361,7 @@
},
{
"id": "Brazil_North Region_East",
- "s": 23806472,
+ "s": 23901573,
"affiliations": [
"Amap\u00e1",
"Brasil",
@@ -1374,7 +1374,7 @@
},
{
"id": "Brazil_North Region_West",
- "s": 21143260,
+ "s": 21154113,
"affiliations": [
"Acre",
"Amazonas",
@@ -1388,7 +1388,7 @@
},
{
"id": "Brazil_Northeast Region_East",
- "s": 20218956,
+ "s": 20341864,
"affiliations": [
"Alagoas",
"Brasil",
@@ -1401,7 +1401,7 @@
},
{
"id": "Brazil_Northeast Region_West",
- "s": 27189981,
+ "s": 27381608,
"affiliations": [
"Brasil",
"Cear\u00e1",
@@ -1415,7 +1415,7 @@
},
{
"id": "Brazil_Paraiba",
- "s": 9411070,
+ "s": 9500893,
"affiliations": [
"Brasil",
"Para\u00edba"
@@ -1426,7 +1426,7 @@
},
{
"id": "Brazil_Parana_East",
- "s": 17016303,
+ "s": 17081423,
"affiliations": [
"Brasil",
"Paran\u00e1"
@@ -1437,7 +1437,7 @@
},
{
"id": "Brazil_Parana_West",
- "s": 24553548,
+ "s": 24597075,
"affiliations": [
"Brasil",
"Paran\u00e1"
@@ -1448,7 +1448,7 @@
},
{
"id": "Brazil_Rio Grande do Norte",
- "s": 5854742,
+ "s": 5902618,
"affiliations": [
"Brasil",
"Pernambuco",
@@ -1460,7 +1460,7 @@
},
{
"id": "Brazil_Santa Catarina",
- "s": 36629018,
+ "s": 36752838,
"affiliations": [
"Brasil",
"Santa Catarina"
@@ -1471,7 +1471,7 @@
},
{
"id": "Brazil_South Region_East",
- "s": 37250994,
+ "s": 37419854,
"affiliations": [
"Brasil",
"Rio Grande do Sul"
@@ -1482,7 +1482,7 @@
},
{
"id": "Brazil_South Region_West",
- "s": 26914565,
+ "s": 27083794,
"affiliations": [
"Brasil",
"Rio Grande do Sul"
@@ -1493,7 +1493,7 @@
},
{
"id": "Brazil_Southeast Region_Espirito Santo",
- "s": 16509599,
+ "s": 16529299,
"affiliations": [
"Brasil",
"Esp\u00edrito Santo"
@@ -1504,7 +1504,7 @@
},
{
"id": "Brazil_Southeast Region_Minas Gerais_Contagem",
- "s": 34841007,
+ "s": 35018823,
"affiliations": [
"Brasil",
"Minas Gerais"
@@ -1515,7 +1515,7 @@
},
{
"id": "Brazil_Southeast Region_Minas Gerais_North",
- "s": 28206350,
+ "s": 28425692,
"affiliations": [
"Brasil",
"Minas Gerais"
@@ -1526,7 +1526,7 @@
},
{
"id": "Brazil_Southeast Region_Rio de Janeiro",
- "s": 28856368,
+ "s": 28889633,
"affiliations": [
"Brasil",
"Rio de Janeiro"
@@ -1537,7 +1537,7 @@
},
{
"id": "Brazil_Southeast Region_Sao Paulo_Campinas",
- "s": 24809446,
+ "s": 25054087,
"affiliations": [
"Brasil",
"S\u00e3o Paulo"
@@ -1548,7 +1548,7 @@
},
{
"id": "Brazil_Southeast Region_Sao Paulo_City",
- "s": 51684504,
+ "s": 51516369,
"affiliations": [
"Brasil",
"S\u00e3o Paulo"
@@ -1559,7 +1559,7 @@
},
{
"id": "Brazil_Southeast Region_Sao Paulo_West",
- "s": 20776220,
+ "s": 20958903,
"affiliations": [
"Brasil",
"S\u00e3o Paulo"
@@ -1572,7 +1572,7 @@
},
{
"id": "Brunei",
- "s": 2611737,
+ "s": 2623028,
"affiliations": [
"Brunei Darussalam"
],
@@ -1585,7 +1585,7 @@
"g": [
{
"id": "Bulgaria_East",
- "s": 28625712,
+ "s": 28628557,
"affiliations": [
"\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f"
],
@@ -1595,7 +1595,7 @@
},
{
"id": "Bulgaria_West",
- "s": 45957650,
+ "s": 46266472,
"affiliations": [
"\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f"
],
@@ -1607,7 +1607,7 @@
},
{
"id": "Burkina Faso",
- "s": 22432135,
+ "s": 22778591,
"affiliations": [
"Boucle du Mouhoun",
"Burkina Faso",
@@ -1630,7 +1630,7 @@
},
{
"id": "Burundi",
- "s": 7446569,
+ "s": 7447323,
"affiliations": [
"Cibitoke",
"Bubanza",
@@ -1657,7 +1657,7 @@
},
{
"id": "Cambodia",
- "s": 17266578,
+ "s": 17321227,
"affiliations": [
"Bantey Meanchey",
"Battambang",
@@ -1695,7 +1695,7 @@
"g": [
{
"id": "Cameroon_Central",
- "s": 52968464,
+ "s": 52973204,
"affiliations": [
"Adamaoua",
"Cameroun",
@@ -1711,7 +1711,7 @@
},
{
"id": "Cameroon_West",
- "s": 37061358,
+ "s": 37068688,
"affiliations": [
"Cameroun",
"Littoral",
@@ -1733,7 +1733,7 @@
"g": [
{
"id": "Canada_Alberta_Edmonton",
- "s": 57380096,
+ "s": 57496481,
"affiliations": [
"Alberta",
"Canada"
@@ -1744,7 +1744,7 @@
},
{
"id": "Canada_Alberta_North",
- "s": 25895909,
+ "s": 25909776,
"affiliations": [
"Alberta",
"Canada"
@@ -1755,7 +1755,7 @@
},
{
"id": "Canada_Alberta_South",
- "s": 24776000,
+ "s": 24823903,
"affiliations": [
"Alberta",
"Canada"
@@ -1771,7 +1771,7 @@
"g": [
{
"id": "Canada_British Columbia_Central",
- "s": 45755038,
+ "s": 45773220,
"affiliations": [
"British Columbia",
"Canada"
@@ -1782,7 +1782,7 @@
},
{
"id": "Canada_British Columbia_Far_North",
- "s": 26500403,
+ "s": 26504213,
"affiliations": [
"British Columbia",
"Canada"
@@ -1793,7 +1793,7 @@
},
{
"id": "Canada_British Columbia_Islands",
- "s": 37758713,
+ "s": 37869216,
"affiliations": [
"British Columbia",
"Canada"
@@ -1804,7 +1804,7 @@
},
{
"id": "Canada_British Columbia_North",
- "s": 40884254,
+ "s": 40927370,
"affiliations": [
"British Columbia",
"Canada"
@@ -1815,7 +1815,7 @@
},
{
"id": "Canada_British Columbia_Northeast",
- "s": 46309500,
+ "s": 46311889,
"affiliations": [
"British Columbia",
"Canada"
@@ -1826,7 +1826,7 @@
},
{
"id": "Canada_British Columbia_Southeast",
- "s": 47886533,
+ "s": 47901112,
"affiliations": [
"British Columbia",
"Canada"
@@ -1837,7 +1837,7 @@
},
{
"id": "Canada_British Columbia_Vancouver",
- "s": 41696953,
+ "s": 42034252,
"affiliations": [
"British Columbia",
"Canada"
@@ -1853,7 +1853,7 @@
"g": [
{
"id": "Canada_Labrador_North",
- "s": 45879833,
+ "s": 45880065,
"affiliations": [
"Canada",
"Newfoundland and Labrador",
@@ -1865,7 +1865,7 @@
},
{
"id": "Canada_Labrador_South",
- "s": 35002958,
+ "s": 35003158,
"affiliations": [
"Canada",
"Newfoundland and Labrador"
@@ -1876,7 +1876,7 @@
},
{
"id": "Canada_Labrador_West",
- "s": 45658544,
+ "s": 45658976,
"affiliations": [
"Canada",
"Newfoundland and Labrador"
@@ -1892,7 +1892,7 @@
"g": [
{
"id": "Canada_Manitoba_Northeast",
- "s": 34318018,
+ "s": 34318635,
"affiliations": [
"Canada",
"Manitoba",
@@ -1905,7 +1905,7 @@
},
{
"id": "Canada_Manitoba_Northwest",
- "s": 36126978,
+ "s": 36127178,
"affiliations": [
"Canada",
"Manitoba"
@@ -1916,7 +1916,7 @@
},
{
"id": "Canada_Manitoba_South",
- "s": 37515053,
+ "s": 37520197,
"affiliations": [
"Canada",
"Manitoba"
@@ -1927,7 +1927,7 @@
},
{
"id": "Canada_Manitoba_Winnipeg",
- "s": 31430956,
+ "s": 31506404,
"affiliations": [
"Canada",
"Manitoba"
@@ -1940,7 +1940,7 @@
},
{
"id": "Canada_New Brunswick",
- "s": 43415247,
+ "s": 43443887,
"affiliations": [
"Canada",
"Devon Indian Reserve NO. 30",
@@ -1956,7 +1956,7 @@
"g": [
{
"id": "Canada_Newfoundland_East",
- "s": 18484812,
+ "s": 18495740,
"affiliations": [
"Canada",
"Newfoundland and Labrador"
@@ -1967,7 +1967,7 @@
},
{
"id": "Canada_Newfoundland_North",
- "s": 26325868,
+ "s": 26327088,
"affiliations": [
"Canada",
"Newfoundland and Labrador"
@@ -1978,7 +1978,7 @@
},
{
"id": "Canada_Newfoundland_South",
- "s": 17516069,
+ "s": 17516902,
"affiliations": [
"Canada",
"France",
@@ -1992,7 +1992,7 @@
},
{
"id": "Canada_Newfoundland_West",
- "s": 20657022,
+ "s": 20657621,
"affiliations": [
"Canada",
"Newfoundland and Labrador"
@@ -2008,7 +2008,7 @@
"g": [
{
"id": "Canada_Northwest Territories_East",
- "s": 16906604,
+ "s": 16927644,
"affiliations": [
"Canada",
"Northwest Territories"
@@ -2019,7 +2019,7 @@
},
{
"id": "Canada_Northwest Territories_North",
- "s": 28671356,
+ "s": 28678568,
"affiliations": [
"Canada",
"Northwest Territories"
@@ -2030,7 +2030,7 @@
},
{
"id": "Canada_Northwest Territories_Yellowknife",
- "s": 42247737,
+ "s": 42277666,
"affiliations": [
"Canada",
"Northwest Territories"
@@ -2046,7 +2046,7 @@
"g": [
{
"id": "Canada_Nova Scotia_Halifax",
- "s": 48179601,
+ "s": 48292637,
"affiliations": [
"Canada",
"Nova Scotia"
@@ -2057,7 +2057,7 @@
},
{
"id": "Canada_Nova Scotia_Sydney",
- "s": 18833931,
+ "s": 18831538,
"affiliations": [
"Canada",
"Nova Scotia",
@@ -2074,7 +2074,7 @@
"g": [
{
"id": "Canada_Nunavut_North",
- "s": 34750197,
+ "s": 34750397,
"affiliations": [
"Canada",
"\u14c4\u14c7\u1557\u1466 Nunavut"
@@ -2085,7 +2085,7 @@
},
{
"id": "Canada_Nunavut_South",
- "s": 75747558,
+ "s": 76281647,
"affiliations": [
"Canada",
"\u14c4\u14c7\u1557\u1466 Nunavut"
@@ -2101,7 +2101,7 @@
"g": [
{
"id": "Canada_Ontario_Bame",
- "s": 42625364,
+ "s": 42639890,
"affiliations": [
"Canada",
"Ontario"
@@ -2112,7 +2112,7 @@
},
{
"id": "Canada_Ontario_Kingston",
- "s": 67067143,
+ "s": 67174954,
"affiliations": [
"Canada",
"Ontario"
@@ -2123,7 +2123,7 @@
},
{
"id": "Canada_Ontario_London",
- "s": 41678679,
+ "s": 41726003,
"affiliations": [
"Canada",
"Ontario"
@@ -2134,7 +2134,7 @@
},
{
"id": "Canada_Ontario_Northeastern_Central",
- "s": 29165996,
+ "s": 29169802,
"affiliations": [
"Canada",
"Ontario"
@@ -2145,7 +2145,7 @@
},
{
"id": "Canada_Ontario_Northeastern_North",
- "s": 35887602,
+ "s": 35888218,
"affiliations": [
"Canada",
"Ontario",
@@ -2158,7 +2158,7 @@
},
{
"id": "Canada_Ontario_Northeastern_S",
- "s": 31142116,
+ "s": 31145468,
"affiliations": [
"Canada",
"Ontario"
@@ -2169,7 +2169,7 @@
},
{
"id": "Canada_Ontario_Northeastern_SE",
- "s": 18045883,
+ "s": 18049007,
"affiliations": [
"Canada",
"Ontario"
@@ -2180,7 +2180,7 @@
},
{
"id": "Canada_Ontario_Northeastern_SW",
- "s": 35686155,
+ "s": 35690644,
"affiliations": [
"Canada",
"Ontario"
@@ -2191,7 +2191,7 @@
},
{
"id": "Canada_Ontario_Northeastern_Wawa",
- "s": 27061636,
+ "s": 27062116,
"affiliations": [
"Canada",
"Ontario"
@@ -2202,7 +2202,7 @@
},
{
"id": "Canada_Ontario_Northern",
- "s": 38107104,
+ "s": 38110569,
"affiliations": [
"Canada",
"Ontario"
@@ -2213,7 +2213,7 @@
},
{
"id": "Canada_Ontario_Northwestern",
- "s": 78955375,
+ "s": 78961492,
"affiliations": [
"Canada",
"NU",
@@ -2227,7 +2227,7 @@
},
{
"id": "Canada_Ontario_Toronto",
- "s": 55108515,
+ "s": 55203430,
"affiliations": [
"Canada",
"Ontario"
@@ -2240,7 +2240,7 @@
},
{
"id": "Canada_Prince Edward Island",
- "s": 7057196,
+ "s": 7049828,
"affiliations": [
"Canada",
"Prince Edward Island"
@@ -2254,7 +2254,7 @@
"g": [
{
"id": "Canada_Quebec_Quebec",
- "s": 42947917,
+ "s": 42960490,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2265,7 +2265,7 @@
},
{
"id": "Canada_Quebek_Far North",
- "s": 44208484,
+ "s": 44208732,
"affiliations": [
"Canada",
"NU",
@@ -2279,7 +2279,7 @@
},
{
"id": "Canada_Quebek_Montreal",
- "s": 30821549,
+ "s": 30906960,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2290,7 +2290,7 @@
},
{
"id": "Canada_Quebek_Lachute",
- "s": 38504744,
+ "s": 38527849,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2301,7 +2301,7 @@
},
{
"id": "Canada_Quebek_North",
- "s": 49834695,
+ "s": 49836319,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2312,7 +2312,7 @@
},
{
"id": "Canada_Quebek_Southeast_Rimouski",
- "s": 19449836,
+ "s": 19490239,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2323,7 +2323,7 @@
},
{
"id": "Canada_Quebek_Southeast_Saguenay",
- "s": 36598999,
+ "s": 36623209,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2334,7 +2334,7 @@
},
{
"id": "Canada_Quebek_West_Chibougamau",
- "s": 45784557,
+ "s": 45787893,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2345,7 +2345,7 @@
},
{
"id": "Canada_Quebek_West_Rouyn-Noranda",
- "s": 31339753,
+ "s": 31342596,
"affiliations": [
"Canada",
"Qu\u00e9bec"
@@ -2361,7 +2361,7 @@
"g": [
{
"id": "Canada_Saskatchewan_North",
- "s": 31644318,
+ "s": 31672450,
"affiliations": [
"Canada",
"Saskatchewan"
@@ -2372,7 +2372,7 @@
},
{
"id": "Canada_Saskatchewan_Saskatoon",
- "s": 21181337,
+ "s": 21195087,
"affiliations": [
"Canada",
"Saskatchewan"
@@ -2383,7 +2383,7 @@
},
{
"id": "Canada_Saskatchewan_Regina",
- "s": 32784856,
+ "s": 32831200,
"affiliations": [
"Canada",
"Saskatchewan"
@@ -2399,7 +2399,7 @@
"g": [
{
"id": "Canada_Yukon_North",
- "s": 28802119,
+ "s": 29160146,
"affiliations": [
"Canada",
"Yukon"
@@ -2410,7 +2410,7 @@
},
{
"id": "Canada_Yukon_Whitehorse",
- "s": 34706600,
+ "s": 34723293,
"affiliations": [
"Canada",
"Yukon"
@@ -2425,7 +2425,7 @@
},
{
"id": "Cape Verde",
- "s": 3517649,
+ "s": 3543815,
"affiliations": [
"Cabo Verde"
],
@@ -2435,7 +2435,7 @@
},
{
"id": "Cayman Islands",
- "s": 954231,
+ "s": 954793,
"affiliations": [
"Cayman Islands"
],
@@ -2445,7 +2445,7 @@
},
{
"id": "Central African Republic",
- "s": 17573806,
+ "s": 17561546,
"affiliations": [
"Bamingui-Bangoran",
"Basse-Kotto",
@@ -2471,7 +2471,7 @@
},
{
"id": "Chad",
- "s": 15812974,
+ "s": 15900233,
"affiliations": [
"Bahr el Gazel",
"Batha",
@@ -2506,7 +2506,7 @@
"g": [
{
"id": "Colombia_North",
- "s": 37470968,
+ "s": 37883873,
"affiliations": [
"Bol\u00edvar",
"Antioquia",
@@ -2528,7 +2528,7 @@
},
{
"id": "Colombia_West",
- "s": 39700367,
+ "s": 40643278,
"affiliations": [
"Cauca",
"Bogot\u00e1",
@@ -2551,7 +2551,7 @@
},
{
"id": "Colombia_East",
- "s": 13689404,
+ "s": 13709114,
"affiliations": [
"Amazonas",
"Arauca",
@@ -2573,7 +2573,7 @@
},
{
"id": "Comoros",
- "s": 1332428,
+ "s": 1333485,
"affiliations": [
"Komori",
"Ngazidja",
@@ -2586,7 +2586,7 @@
},
{
"id": "Congo-Brazzaville",
- "s": 5136755,
+ "s": 5146698,
"affiliations": [
"Bouenza",
"Brazzaville",
@@ -2611,7 +2611,7 @@
"g": [
{
"id": "Congo-Kinshasa_West",
- "s": 51079346,
+ "s": 51220178,
"affiliations": [
"Bas-Uele",
"Haut-Katanga",
@@ -2645,7 +2645,7 @@
},
{
"id": "Congo-Kinshasa_Kivu",
- "s": 22503081,
+ "s": 22556041,
"affiliations": [
"R\u00e9publique d\u00e9mocratique du Congo",
"Nord-Kivu",
@@ -2659,7 +2659,7 @@
},
{
"id": "Cook Islands",
- "s": 537682,
+ "s": 537762,
"affiliations": [
"Cook Islands"
],
@@ -2669,7 +2669,7 @@
},
{
"id": "Costa Rica",
- "s": 14498514,
+ "s": 14739542,
"affiliations": [
"Alajuela",
"Cartago",
@@ -2691,7 +2691,7 @@
"g": [
{
"id": "Croatia_Central",
- "s": 34445837,
+ "s": 34604696,
"affiliations": [
"Hrvatska"
],
@@ -2701,7 +2701,7 @@
},
{
"id": "Croatia_West",
- "s": 56386384,
+ "s": 55158643,
"affiliations": [
"Hrvatska",
"Italia"
@@ -2714,7 +2714,7 @@
},
{
"id": "Cuba",
- "s": 26305794,
+ "s": 26431433,
"affiliations": [
"Artemisa",
"Ciego de \u00c1vila",
@@ -2738,7 +2738,7 @@
},
{
"id": "Cyprus",
- "s": 10175946,
+ "s": 10254741,
"affiliations": [
"British Sovereign Base Areas",
"\u039a\u03cd\u03c0\u03c1\u03bf\u03c2 - K\u0131br\u0131s"
@@ -2752,7 +2752,7 @@
"g": [
{
"id": "Czech_Praha",
- "s": 23790495,
+ "s": 23837432,
"affiliations": [
"Praha",
"\u010cesko"
@@ -2763,7 +2763,7 @@
},
{
"id": "Czech_Severovychod_Pardubicky kraj",
- "s": 31096628,
+ "s": 31155595,
"affiliations": [
"Severov\u00fdchod",
"\u010cesko"
@@ -2774,7 +2774,7 @@
},
{
"id": "Czech_Karlovasky kraj",
- "s": 16179511,
+ "s": 16205592,
"affiliations": [
"Severoz\u00e1pad",
"\u010cesko"
@@ -2785,7 +2785,7 @@
},
{
"id": "Czech_Ustecky kraj",
- "s": 38567518,
+ "s": 38595870,
"affiliations": [
"Severoz\u00e1pad",
"\u010cesko"
@@ -2796,7 +2796,7 @@
},
{
"id": "Czech_Jihozapad_Plzensky kraj",
- "s": 40175675,
+ "s": 40208906,
"affiliations": [
"Jihoz\u00e1pad",
"\u010cesko"
@@ -2807,7 +2807,7 @@
},
{
"id": "Czech_Severovychod_Kralovehradecky kraj",
- "s": 34663735,
+ "s": 34719273,
"affiliations": [
"Severov\u00fdchod",
"\u010cesko"
@@ -2818,7 +2818,7 @@
},
{
"id": "Czech_Olomoucky kraj",
- "s": 33546864,
+ "s": 33625415,
"affiliations": [
"St\u0159edn\u00ed Morava",
"\u010cesko"
@@ -2829,7 +2829,7 @@
},
{
"id": "Czech_Zlinsky Kraj",
- "s": 30373240,
+ "s": 30523571,
"affiliations": [
"St\u0159edn\u00ed Morava",
"\u010cesko"
@@ -2840,7 +2840,7 @@
},
{
"id": "Czech_Stredni Cechy_East",
- "s": 48014117,
+ "s": 48071077,
"affiliations": [
"St\u0159edn\u00ed \u010cechy",
"\u010cesko"
@@ -2851,7 +2851,7 @@
},
{
"id": "Czech_Jihozapad_Jihocesky kraj",
- "s": 56668934,
+ "s": 56787493,
"affiliations": [
"Jihoz\u00e1pad",
"\u010cesko"
@@ -2862,7 +2862,7 @@
},
{
"id": "Czech_Jihovychod_Kraj Vysocina",
- "s": 44533401,
+ "s": 44565011,
"affiliations": [
"Jihov\u00fdchod",
"\u010cesko"
@@ -2873,7 +2873,7 @@
},
{
"id": "Czech_Severovychod_Liberecky kraj",
- "s": 26995719,
+ "s": 27030544,
"affiliations": [
"Severov\u00fdchod",
"\u010cesko"
@@ -2884,7 +2884,7 @@
},
{
"id": "Czech_Stredni Cechy_West",
- "s": 37744290,
+ "s": 37759884,
"affiliations": [
"St\u0159edn\u00ed \u010cechy",
"\u010cesko"
@@ -2895,7 +2895,7 @@
},
{
"id": "Czech_Moravskoslezsko",
- "s": 47111413,
+ "s": 47284869,
"affiliations": [
"Moravskoslezsko",
"\u010cesko"
@@ -2906,7 +2906,7 @@
},
{
"id": "Czech_Jihovychod_Jihomoravsky kraj",
- "s": 54554435,
+ "s": 54627226,
"affiliations": [
"Jihov\u00fdchod",
"\u010cesko"
@@ -2919,7 +2919,7 @@
},
{
"id": "Cote dIvoire",
- "s": 16143036,
+ "s": 16492651,
"affiliations": [
"Abidjan",
"Bas-Sassandra",
@@ -2946,7 +2946,7 @@
"g": [
{
"id": "Denmark_North Denmark Region",
- "s": 34223297,
+ "s": 34240990,
"affiliations": [
"Danmark",
"Region Nordjylland"
@@ -2957,7 +2957,7 @@
},
{
"id": "Denmark_Central Denmark Region",
- "s": 58981180,
+ "s": 59110279,
"affiliations": [
"Danmark",
"Region Midtjylland"
@@ -2968,7 +2968,7 @@
},
{
"id": "Denmark_Capital Region of Denmark",
- "s": 44525684,
+ "s": 44557463,
"affiliations": [
"Danmark",
"Region Hovedstaden",
@@ -2980,7 +2980,7 @@
},
{
"id": "Denmark_Region Zealand",
- "s": 38293156,
+ "s": 38346858,
"affiliations": [
"Danmark",
"Region Sj\u00e6lland"
@@ -2991,7 +2991,7 @@
},
{
"id": "Denmark_Region of Southern Denmark",
- "s": 67117191,
+ "s": 67214027,
"affiliations": [
"Danmark",
"Region Syddanmark"
@@ -3004,7 +3004,7 @@
},
{
"id": "Djibouti",
- "s": 1071100,
+ "s": 1079145,
"affiliations": [
"Ali Sabieh",
"Arta",
@@ -3020,7 +3020,7 @@
},
{
"id": "Dominican Republic",
- "s": 12187751,
+ "s": 12222061,
"affiliations": [
"Azua",
"Baoruco",
@@ -3062,7 +3062,7 @@
},
{
"id": "East Timor",
- "s": 3082146,
+ "s": 3089977,
"affiliations": [
"Aileu",
"Ainaro",
@@ -3091,14 +3091,14 @@
"g": [
{
"id": "Campo de Hielo Sur",
- "s": 944227,
+ "s": 944427,
"affiliations": [
"Acuerdo de Campos de Hielo"
]
},
{
"id": "Chile_Central",
- "s": 39083617,
+ "s": 39309622,
"affiliations": [
"Chile",
"Islote Gaviota",
@@ -3115,7 +3115,7 @@
},
{
"id": "Chile_North",
- "s": 13667447,
+ "s": 13769319,
"affiliations": [
"Chile",
"I Regi\u00f3n de Tarapac\u00e1",
@@ -3131,7 +3131,7 @@
},
{
"id": "Chile_South",
- "s": 64180139,
+ "s": 64461847,
"affiliations": [
"Chile",
"IX Regi\u00f3n de la Araucan\u00eda",
@@ -3152,7 +3152,7 @@
"g": [
{
"id": "Ecuador_East",
- "s": 22430439,
+ "s": 22358551,
"affiliations": [
"Azuay",
"Carchi",
@@ -3177,7 +3177,7 @@
},
{
"id": "Ecuador_West",
- "s": 29437686,
+ "s": 29622878,
"affiliations": [
"Bol\u00edvar",
"Azuay",
@@ -3206,7 +3206,7 @@
},
{
"id": "Egypt",
- "s": 43431693,
+ "s": 43481581,
"affiliations": [
"\u062f\u0645\u064a\u0627\u0637\u200e\u200e",
"\u200f\u0645\u062d\u0627\u0641\u0638\u0629 \u0628\u0646\u0649 \u0633\u0648\u064a\u0641",
@@ -3242,7 +3242,7 @@
},
{
"id": "El Salvador",
- "s": 8703345,
+ "s": 8709628,
"affiliations": [
"Departamento de Cuscatl\u00e1n",
"Departamento de La Libertad",
@@ -3266,7 +3266,7 @@
},
{
"id": "Equatorial Guinea",
- "s": 1271549,
+ "s": 1275361,
"affiliations": [
"Centro Sur",
"Annob\u00f3n",
@@ -3283,7 +3283,7 @@
},
{
"id": "Eritrea",
- "s": 2555509,
+ "s": 2602953,
"affiliations": [
"Debub",
"Debubawi Kayih Bahri",
@@ -3302,7 +3302,7 @@
"g": [
{
"id": "Estonia_West",
- "s": 30559722,
+ "s": 30581343,
"affiliations": [
"Eesti"
],
@@ -3312,7 +3312,7 @@
},
{
"id": "Estonia_East",
- "s": 35138152,
+ "s": 35161832,
"affiliations": [
"Eesti"
],
@@ -3324,7 +3324,7 @@
},
{
"id": "Ethiopia",
- "s": 27996642,
+ "s": 28359223,
"affiliations": [
"Addis Abeba",
"Afar",
@@ -3347,7 +3347,7 @@
},
{
"id": "Faroe Islands",
- "s": 2135558,
+ "s": 2148268,
"affiliations": [
"Eysturoyar s\u00fdsla",
"F\u00f8royar",
@@ -3364,7 +3364,7 @@
},
{
"id": "Federated States of Micronesia",
- "s": 1031458,
+ "s": 1031922,
"affiliations": [
"Chuuk",
"Federated States of Micronesia",
@@ -3379,7 +3379,7 @@
},
{
"id": "Fiji",
- "s": 6239241,
+ "s": 6246382,
"affiliations": [
"Central",
"Eastern",
@@ -3395,7 +3395,7 @@
"g": [
{
"id": "Finland_Western Finland_Jyvaskyla",
- "s": 21937961,
+ "s": 21953677,
"affiliations": [
"L\u00e4nsi-Suomi",
"Suomi"
@@ -3406,7 +3406,7 @@
},
{
"id": "Finland_Western Finland_Tampere",
- "s": 40045449,
+ "s": 40708446,
"affiliations": [
"L\u00e4nsi-Suomi",
"Suomi"
@@ -3417,7 +3417,7 @@
},
{
"id": "Finland_Northern Finland",
- "s": 44628957,
+ "s": 45634047,
"affiliations": [
"Pohjois-Suomi",
"Suomi"
@@ -3428,7 +3428,7 @@
},
{
"id": "Finland_Eastern Finland_North",
- "s": 25900363,
+ "s": 25957816,
"affiliations": [
"It\u00e4-Suomi",
"Suomi"
@@ -3439,7 +3439,7 @@
},
{
"id": "Finland_Eastern Finland_South",
- "s": 34351006,
+ "s": 34367574,
"affiliations": [
"It\u00e4-Suomi",
"Suomi"
@@ -3450,7 +3450,7 @@
},
{
"id": "Finland_Southern Finland_West",
- "s": 25206556,
+ "s": 25426544,
"affiliations": [
"Etel\u00e4-Suomi",
"Suomi",
@@ -3462,7 +3462,7 @@
},
{
"id": "Finland_Southern Finland_Helsinki",
- "s": 56334154,
+ "s": 56419920,
"affiliations": [
"Etel\u00e4-Suomi",
"Suomi"
@@ -3473,7 +3473,7 @@
},
{
"id": "Finland_Southern Finland_Lappeenranta",
- "s": 39590973,
+ "s": 39624022,
"affiliations": [
"Etel\u00e4-Suomi",
"Suomi"
@@ -3492,7 +3492,7 @@
"g": [
{
"id": "France_Alsace_Bas-Rhin",
- "s": 41611707,
+ "s": 41680998,
"affiliations": [
"Alsace-Champagne-Ardenne-Lorraine",
"France"
@@ -3503,7 +3503,7 @@
},
{
"id": "France_Alsace_Haut-Rhin",
- "s": 30853702,
+ "s": 30883917,
"affiliations": [
"Alsace-Champagne-Ardenne-Lorraine",
"France"
@@ -3519,7 +3519,7 @@
"g": [
{
"id": "France_Aquitaine_Dordogne",
- "s": 27598599,
+ "s": 27777844,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -3530,7 +3530,7 @@
},
{
"id": "France_Aquitaine_Gironde",
- "s": 52254108,
+ "s": 52382379,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -3541,7 +3541,7 @@
},
{
"id": "France_Aquitaine_Landes",
- "s": 24237219,
+ "s": 24314271,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -3552,7 +3552,7 @@
},
{
"id": "France_Aquitaine_Lot-et-Garonne",
- "s": 20443236,
+ "s": 20466279,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -3563,7 +3563,7 @@
},
{
"id": "France_Aquitaine_Pyrenees-Atlantiques",
- "s": 32227879,
+ "s": 32282167,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -3579,7 +3579,7 @@
"g": [
{
"id": "France_Auvergne_Allier",
- "s": 21884683,
+ "s": 21898282,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -3590,7 +3590,7 @@
},
{
"id": "France_Auvergne_Cantal",
- "s": 12517079,
+ "s": 12528874,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -3601,7 +3601,7 @@
},
{
"id": "France_Auvergne_Haute-Loire",
- "s": 16212159,
+ "s": 16214922,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -3612,7 +3612,7 @@
},
{
"id": "France_Auvergne_Puy-de-Dome",
- "s": 33401735,
+ "s": 33421517,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -3628,7 +3628,7 @@
"g": [
{
"id": "France_Brittany_Cotes-dArmor",
- "s": 35494634,
+ "s": 35587096,
"affiliations": [
"Bretagne",
"France",
@@ -3641,7 +3641,7 @@
},
{
"id": "France_Brittany_Finistere",
- "s": 50611590,
+ "s": 50636577,
"affiliations": [
"Bretagne",
"France"
@@ -3652,7 +3652,7 @@
},
{
"id": "France_Brittany_Ille-et-Vilaine",
- "s": 44482477,
+ "s": 44519801,
"affiliations": [
"Bretagne",
"France",
@@ -3664,7 +3664,7 @@
},
{
"id": "France_Brittany_Morbihan",
- "s": 36985075,
+ "s": 37081685,
"affiliations": [
"Bretagne",
"France"
@@ -3680,7 +3680,7 @@
"g": [
{
"id": "France_Burgundy_Cote-dOr",
- "s": 24329090,
+ "s": 24344374,
"affiliations": [
"Bourgogne-Franche-Comt\u00e9",
"France"
@@ -3691,7 +3691,7 @@
},
{
"id": "France_Burgundy_Nievre",
- "s": 14730201,
+ "s": 14751471,
"affiliations": [
"Bourgogne-Franche-Comt\u00e9",
"France"
@@ -3702,7 +3702,7 @@
},
{
"id": "France_Burgundy_Saone-et-Loire",
- "s": 40792333,
+ "s": 40835431,
"affiliations": [
"Bourgogne-Franche-Comt\u00e9",
"France"
@@ -3713,7 +3713,7 @@
},
{
"id": "France_Burgundy_Yonne",
- "s": 21709828,
+ "s": 21721469,
"affiliations": [
"Bourgogne-Franche-Comt\u00e9",
"France"
@@ -3729,7 +3729,7 @@
"g": [
{
"id": "France_Centre-Val de Loire_Cher",
- "s": 16576509,
+ "s": 16676398,
"affiliations": [
"Centre-Val de Loire",
"France"
@@ -3740,7 +3740,7 @@
},
{
"id": "France_Centre-Val de Loire_Eure-et-Loir",
- "s": 17187393,
+ "s": 17249075,
"affiliations": [
"Centre-Val de Loire",
"France"
@@ -3751,7 +3751,7 @@
},
{
"id": "France_Centre-Val de Loire_Indre",
- "s": 20380826,
+ "s": 20498251,
"affiliations": [
"Centre-Val de Loire",
"France"
@@ -3762,7 +3762,7 @@
},
{
"id": "France_Centre-Val de Loire_Indre-et-Loire",
- "s": 28101596,
+ "s": 28176738,
"affiliations": [
"Centre-Val de Loire",
"France"
@@ -3773,7 +3773,7 @@
},
{
"id": "France_Centre-Val de Loire_Loir-et-Cher",
- "s": 18319385,
+ "s": 18428011,
"affiliations": [
"Centre-Val de Loire",
"France"
@@ -3784,7 +3784,7 @@
},
{
"id": "France_Centre-Val de Loire_Loiret",
- "s": 25684347,
+ "s": 25724886,
"affiliations": [
"Centre-Val de Loire",
"France"
@@ -3797,7 +3797,7 @@
},
{
"id": "France_Champagne-Ardenne",
- "s": 49560805,
+ "s": 49823157,
"affiliations": [
"Alsace-Champagne-Ardenne-Lorraine",
"France"
@@ -3808,7 +3808,7 @@
},
{
"id": "France_Corsica",
- "s": 11328550,
+ "s": 11291456,
"affiliations": [
"Corse - Mer M\u00e9diterran\u00e9e",
"Corse",
@@ -3822,7 +3822,7 @@
},
{
"id": "France_Free County_North",
- "s": 32884652,
+ "s": 32947725,
"affiliations": [
"Bourgogne-Franche-Comt\u00e9",
"France"
@@ -3833,7 +3833,7 @@
},
{
"id": "France_Free County_South",
- "s": 25149481,
+ "s": 25388995,
"affiliations": [
"Bourgogne-Franche-Comt\u00e9",
"France"
@@ -3844,7 +3844,7 @@
},
{
"id": "France_French Guiana",
- "s": 6673964,
+ "s": 6679706,
"affiliations": [
"France",
"Guyane"
@@ -3858,7 +3858,7 @@
"g": [
{
"id": "France_Ile-de-France_Essonne",
- "s": 25882021,
+ "s": 25907559,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3869,7 +3869,7 @@
},
{
"id": "France_Ile-de-France_Hauts-de-Seine",
- "s": 12556040,
+ "s": 12567523,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3880,7 +3880,7 @@
},
{
"id": "France_Ile-de-France_Paris",
- "s": 15689864,
+ "s": 15719219,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3891,7 +3891,7 @@
},
{
"id": "France_Ile-de-France_Seine-Saint-Denis",
- "s": 14072983,
+ "s": 14079858,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3902,7 +3902,7 @@
},
{
"id": "France_Ile-de-France_Seine-et-Marne",
- "s": 34484534,
+ "s": 34514855,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3913,7 +3913,7 @@
},
{
"id": "France_Ile-de-France_Val-dOise",
- "s": 18634846,
+ "s": 18668608,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3924,7 +3924,7 @@
},
{
"id": "France_Ile-de-France_Val-de-Marne",
- "s": 13552077,
+ "s": 13571573,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3935,7 +3935,7 @@
},
{
"id": "France_Ile-de-France_Yvelines",
- "s": 25216645,
+ "s": 25240665,
"affiliations": [
"France",
"\u00cele-de-France"
@@ -3951,7 +3951,7 @@
"g": [
{
"id": "France_Languedoc-Roussillon_Aude",
- "s": 24715041,
+ "s": 24636014,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -3962,7 +3962,7 @@
},
{
"id": "France_Languedoc-Roussillon_Gard",
- "s": 28401329,
+ "s": 28427391,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -3973,7 +3973,7 @@
},
{
"id": "France_Languedoc-Roussillon_Herault",
- "s": 42496381,
+ "s": 42573719,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -3984,7 +3984,7 @@
},
{
"id": "France_Languedoc-Roussillon_Lozere",
- "s": 10759799,
+ "s": 10767110,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -3995,7 +3995,7 @@
},
{
"id": "France_Languedoc-Roussillon_Pyrenees-Orientales",
- "s": 22751759,
+ "s": 22848346,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4008,7 +4008,7 @@
},
{
"id": "France_Limousin",
- "s": 46967236,
+ "s": 47020070,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -4022,7 +4022,7 @@
"g": [
{
"id": "France_Lorraine_Meurthe-et-Moselle",
- "s": 24259367,
+ "s": 24300725,
"affiliations": [
"Alsace-Champagne-Ardenne-Lorraine",
"France"
@@ -4033,7 +4033,7 @@
},
{
"id": "France_Lorraine_Meuse",
- "s": 10987624,
+ "s": 10998804,
"affiliations": [
"Alsace-Champagne-Ardenne-Lorraine",
"France"
@@ -4044,7 +4044,7 @@
},
{
"id": "France_Lorraine_Moselle",
- "s": 34967221,
+ "s": 35011955,
"affiliations": [
"Alsace-Champagne-Ardenne-Lorraine",
"France"
@@ -4055,7 +4055,7 @@
},
{
"id": "France_Lorraine_Vosges",
- "s": 23130948,
+ "s": 23165301,
"affiliations": [
"Alsace-Champagne-Ardenne-Lorraine",
"France"
@@ -4071,7 +4071,7 @@
"g": [
{
"id": "France_Lower Normandy_Calvados",
- "s": 25855531,
+ "s": 25874257,
"affiliations": [
"France",
"Normandie"
@@ -4082,7 +4082,7 @@
},
{
"id": "France_Lower Normandy_Manche",
- "s": 25750015,
+ "s": 25764629,
"affiliations": [
"France",
"Jersey",
@@ -4094,7 +4094,7 @@
},
{
"id": "France_Lower Normandy_Orne",
- "s": 18777463,
+ "s": 18844673,
"affiliations": [
"France",
"Normandie"
@@ -4110,7 +4110,7 @@
"g": [
{
"id": "France_Midi-Pyrenees_Ariege",
- "s": 11534513,
+ "s": 11543361,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4121,7 +4121,7 @@
},
{
"id": "France_Midi-Pyrenees_Aveyron",
- "s": 28268016,
+ "s": 28286217,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4132,7 +4132,7 @@
},
{
"id": "France_Midi-Pyrenees_Gers",
- "s": 18673396,
+ "s": 18680828,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4143,7 +4143,7 @@
},
{
"id": "France_Midi-Pyrenees_Haute-Garonne",
- "s": 44590653,
+ "s": 44671729,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4154,7 +4154,7 @@
},
{
"id": "France_Midi-Pyrenees_Hautes-Pyrenees",
- "s": 29793158,
+ "s": 29771543,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4165,7 +4165,7 @@
},
{
"id": "France_Midi-Pyrenees_Lot",
- "s": 14063598,
+ "s": 14080279,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4176,7 +4176,7 @@
},
{
"id": "France_Midi-Pyrenees_Tarn",
- "s": 21263067,
+ "s": 21276910,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4187,7 +4187,7 @@
},
{
"id": "France_Midi-Pyrenees_Tarn-et-Garonne",
- "s": 13469792,
+ "s": 13483438,
"affiliations": [
"France",
"Languedoc-Roussillon-Midi-Pyr\u00e9n\u00e9es"
@@ -4200,7 +4200,7 @@
},
{
"id": "France_New Caledonia",
- "s": 6196990,
+ "s": 6206216,
"affiliations": [
"France",
"France, Nouvelle-Cal\u00e9donie, Grande Terre et r\u00e9cifs d'Entrecasteaux (eaux territoriales)",
@@ -4222,7 +4222,7 @@
"g": [
{
"id": "France_Nord-Pas-de-Calais_Nord",
- "s": 31205676,
+ "s": 31219679,
"affiliations": [
"France",
"Nord-Pas-de-Calais-Picardie"
@@ -4233,7 +4233,7 @@
},
{
"id": "France_Nord-Pas-de-Calais_Lille",
- "s": 35824715,
+ "s": 35854653,
"affiliations": [
"France",
"Nord-Pas-de-Calais-Picardie"
@@ -4244,7 +4244,7 @@
},
{
"id": "France_Nord-Pas-de-Calais_Pas-de-Calais",
- "s": 48452169,
+ "s": 48463364,
"affiliations": [
"England",
"France",
@@ -4262,7 +4262,7 @@
"g": [
{
"id": "France_Pays de la Loire_Loire-Atlantique_Nantes",
- "s": 38952755,
+ "s": 39021343,
"affiliations": [
"France",
"Pays de la Loire"
@@ -4273,7 +4273,7 @@
},
{
"id": "France_Pays de la Loire_Loire-Atlantique_Saint-Nazaire",
- "s": 20453026,
+ "s": 20479169,
"affiliations": [
"France",
"Pays de la Loire"
@@ -4284,7 +4284,7 @@
},
{
"id": "France_Pays de la Loire_Maine-et-Loire",
- "s": 36032113,
+ "s": 36102722,
"affiliations": [
"France",
"Pays de la Loire"
@@ -4295,7 +4295,7 @@
},
{
"id": "France_Pays de la Loire_Mayenne",
- "s": 19261300,
+ "s": 19269811,
"affiliations": [
"France",
"Pays de la Loire"
@@ -4306,7 +4306,7 @@
},
{
"id": "France_Pays de la Loire_Sarthe",
- "s": 32514757,
+ "s": 32542081,
"affiliations": [
"France",
"Pays de la Loire"
@@ -4317,7 +4317,7 @@
},
{
"id": "France_Pays de la Loire_Vendee",
- "s": 46214550,
+ "s": 46224958,
"affiliations": [
"France",
"Pays de la Loire"
@@ -4333,7 +4333,7 @@
"g": [
{
"id": "France_Picardy_Aisne",
- "s": 25649263,
+ "s": 25674980,
"affiliations": [
"France",
"Nord-Pas-de-Calais-Picardie"
@@ -4344,7 +4344,7 @@
},
{
"id": "France_Picardy_Oise",
- "s": 29531294,
+ "s": 29551168,
"affiliations": [
"France",
"Nord-Pas-de-Calais-Picardie"
@@ -4355,7 +4355,7 @@
},
{
"id": "France_Picardy_Somme",
- "s": 27680487,
+ "s": 27746631,
"affiliations": [
"France",
"Nord-Pas-de-Calais-Picardie"
@@ -4371,7 +4371,7 @@
"g": [
{
"id": "France_Poitou-Charentes_Charente",
- "s": 22090338,
+ "s": 22106534,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -4382,7 +4382,7 @@
},
{
"id": "France_Poitou-Charentes_Charente-Maritime",
- "s": 41684334,
+ "s": 41683126,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -4393,7 +4393,7 @@
},
{
"id": "France_Poitou-Charentes_Deux-Sevres",
- "s": 29955126,
+ "s": 29960594,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -4404,7 +4404,7 @@
},
{
"id": "France_Poitou-Charentes_Vienne",
- "s": 27422878,
+ "s": 27422078,
"affiliations": [
"Aquitaine-Limousin-Poitou-Charentes",
"France"
@@ -4420,7 +4420,7 @@
"g": [
{
"id": "France_Provence-Alpes-Cote dAzur_Alpes-de-Haute-Provence",
- "s": 14470735,
+ "s": 14493717,
"affiliations": [
"France",
"Provence-Alpes-C\u00f4te d'Azur"
@@ -4431,7 +4431,7 @@
},
{
"id": "France_Provence-Alpes-Cote dAzur_Bouches-du-Rhone",
- "s": 46839945,
+ "s": 46860652,
"affiliations": [
"France",
"Provence-Alpes-C\u00f4te d'Azur"
@@ -4442,7 +4442,7 @@
},
{
"id": "France_Provence-Alpes-Cote dAzur_Hautes-Alpes",
- "s": 12436176,
+ "s": 12486372,
"affiliations": [
"France",
"Provence-Alpes-C\u00f4te d'Azur"
@@ -4453,7 +4453,7 @@
},
{
"id": "France_Provence-Alpes-Cote dAzur_Maritime Alps",
- "s": 27001680,
+ "s": 26995894,
"affiliations": [
"France",
"Provence-Alpes-C\u00f4te d'Azur"
@@ -4465,7 +4465,7 @@
},
{
"id": "France_Provence-Alpes-Cote dAzur_Var",
- "s": 36422037,
+ "s": 36437059,
"affiliations": [
"France",
"Provence-Alpes-C\u00f4te d'Azur"
@@ -4476,7 +4476,7 @@
},
{
"id": "France_Provence-Alpes-Cote dAzur_Vaucluse",
- "s": 26095390,
+ "s": 26231591,
"affiliations": [
"France",
"Provence-Alpes-C\u00f4te d'Azur"
@@ -4492,7 +4492,7 @@
"g": [
{
"id": "France_Rhone-Alpes_Ain",
- "s": 33292541,
+ "s": 33315381,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -4503,7 +4503,7 @@
},
{
"id": "France_Rhone-Alpes_Ardeche",
- "s": 21786948,
+ "s": 21794040,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -4514,7 +4514,7 @@
},
{
"id": "France_Rhone-Alpes_Drome",
- "s": 27480542,
+ "s": 27490691,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France",
@@ -4526,7 +4526,7 @@
},
{
"id": "France_Rhone-Alpes_Haute-Savoie",
- "s": 29481236,
+ "s": 29535719,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -4537,7 +4537,7 @@
},
{
"id": "France_Rhone-Alpes_Isere",
- "s": 41856765,
+ "s": 41949838,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -4548,7 +4548,7 @@
},
{
"id": "France_Rhone-Alpes_Loire",
- "s": 26019297,
+ "s": 26114675,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -4559,7 +4559,7 @@
},
{
"id": "France_Rhone-Alpes_Rhone",
- "s": 38899479,
+ "s": 38956927,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -4570,7 +4570,7 @@
},
{
"id": "France_Rhone-Alpes_Savoie",
- "s": 21503727,
+ "s": 21620957,
"affiliations": [
"Auvergne-Rh\u00f4ne-Alpes",
"France"
@@ -4583,7 +4583,7 @@
},
{
"id": "France_Southern Islands",
- "s": 23468763,
+ "s": 23537667,
"affiliations": [
"France",
"France, Mayotte (eaux territoriales)",
@@ -4605,7 +4605,7 @@
},
{
"id": "France_Upper Normandy",
- "s": 50253202,
+ "s": 50354310,
"affiliations": [
"France",
"Normandie"
@@ -4616,7 +4616,7 @@
},
{
"id": "French Polynesia",
- "s": 2635687,
+ "s": 2646894,
"affiliations": [
"France",
"France, Polyn\u00e9sie fran\u00e7aise, \u00celes Gambier (eaux territoriales)",
@@ -4634,7 +4634,7 @@
},
{
"id": "Wallis and Futuna",
- "s": 332253,
+ "s": 332766,
"affiliations": [
"France",
"France, Wallis-et-Futuna (eaux territoriales)"
@@ -4647,7 +4647,7 @@
},
{
"id": "Gabon",
- "s": 5480191,
+ "s": 5490983,
"affiliations": [
"Estuaire",
"Gabon",
@@ -4669,7 +4669,7 @@
"g": [
{
"id": "Georgia",
- "s": 30223382,
+ "s": 30607548,
"affiliations": [
"\u10d7\u10d1\u10d8\u10da\u10d8\u10e1\u10d8",
"\u10d8\u10db\u10d4\u10e0\u10d4\u10d7\u10d8",
@@ -4690,7 +4690,7 @@
},
{
"id": "Abkhazia",
- "s": 4713657,
+ "s": 4717099,
"affiliations": [
"\u0410\u0431\u0445\u0430\u0437\u0438\u044f - \u0410\u04a7\u0441\u043d\u044b",
"\u10d0\u10e4\u10ee\u10d0\u10d6\u10d4\u10d7\u10d8\u10e1 \u10d0\u10d5\u10e2\u10dd\u10dc\u10dd\u10db\u10d8\u10e3\u10e0\u10d8 \u10e0\u10d4\u10e1\u10de\u10e3\u10d1\u10da\u10d8\u10d9\u10d0 - \u0410\u04a7\u0441\u043d\u044b \u0410\u0432\u0442\u043e\u043d\u043e\u043c\u0442\u04d9 \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430",
@@ -4702,7 +4702,7 @@
},
{
"id": "South Ossetia",
- "s": 1350125,
+ "s": 1350959,
"affiliations": [
"\u0425\u0443\u0441\u0441\u0430\u0440 \u0418\u0440\u044b\u0441\u0442\u043e\u043d",
"\u0425\u0443\u0441\u0441\u0430\u0440 \u0418\u0440\u044b\u0441\u0442\u043e\u043d - \u042e\u0436\u043d\u0430\u044f \u041e\u0441\u0435\u0442\u0438\u044f",
@@ -4722,7 +4722,7 @@
"g": [
{
"id": "Germany_Baden-Wurttemberg_Regierungsbezirk Freiburg",
- "s": 85423841,
+ "s": 84386032,
"affiliations": [
"Baden-W\u00fcrttemberg",
"Deutschland",
@@ -4735,7 +4735,7 @@
},
{
"id": "Germany_Baden-Wurttemberg_Regierungsbezirk Karlsruhe",
- "s": 87799570,
+ "s": 83609565,
"affiliations": [
"Baden-W\u00fcrttemberg",
"Deutschland"
@@ -4746,7 +4746,7 @@
},
{
"id": "Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Heilbronn",
- "s": 34270145,
+ "s": 31107658,
"affiliations": [
"Baden-W\u00fcrttemberg",
"Deutschland"
@@ -4757,7 +4757,7 @@
},
{
"id": "Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Stuttgart",
- "s": 84174544,
+ "s": 80134253,
"affiliations": [
"Baden-W\u00fcrttemberg",
"Deutschland"
@@ -4768,7 +4768,7 @@
},
{
"id": "Germany_Baden-Wurttemberg_Regierungsbezirk Tubingen",
- "s": 61120480,
+ "s": 58807896,
"affiliations": [
"Baden-W\u00fcrttemberg",
"Deutschland"
@@ -4781,7 +4781,7 @@
},
{
"id": "Germany_Berlin",
- "s": 45813367,
+ "s": 45891688,
"affiliations": [
"Berlin",
"Deutschland"
@@ -4792,7 +4792,7 @@
},
{
"id": "Germany_Brandenburg_North",
- "s": 44752729,
+ "s": 43946774,
"affiliations": [
"Brandenburg",
"Deutschland"
@@ -4803,7 +4803,7 @@
},
{
"id": "Germany_Brandenburg_South",
- "s": 44108313,
+ "s": 43267940,
"affiliations": [
"Brandenburg",
"Deutschland"
@@ -4817,7 +4817,7 @@
"g": [
{
"id": "Germany_Free State of Bavaria_Lower Bavaria",
- "s": 44756459,
+ "s": 43876713,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4828,7 +4828,7 @@
},
{
"id": "Germany_Free State of Bavaria_Lower Franconia",
- "s": 45503094,
+ "s": 42612120,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4839,7 +4839,7 @@
},
{
"id": "Germany_Free State of Bavaria_Middle Franconia",
- "s": 50197644,
+ "s": 47420099,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4850,7 +4850,7 @@
},
{
"id": "Germany_Free State of Bavaria_Swabia",
- "s": 68653260,
+ "s": 65922559,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4861,7 +4861,7 @@
},
{
"id": "Germany_Free State of Bavaria_Upper Bavaria_East",
- "s": 43440253,
+ "s": 43147981,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4872,7 +4872,7 @@
},
{
"id": "Germany_Free State of Bavaria_Upper Bavaria_Ingolstadt",
- "s": 23155934,
+ "s": 22331661,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4883,7 +4883,7 @@
},
{
"id": "Germany_Free State of Bavaria_Upper Bavaria_Munchen",
- "s": 42314347,
+ "s": 41389124,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4894,7 +4894,7 @@
},
{
"id": "Germany_Free State of Bavaria_Upper Bavaria_South",
- "s": 19069804,
+ "s": 18785739,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4905,7 +4905,7 @@
},
{
"id": "Germany_Free State of Bavaria_Upper Franconia",
- "s": 44716331,
+ "s": 43035013,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4916,7 +4916,7 @@
},
{
"id": "Germany_Free State of Bavaria_Upper Palatinate",
- "s": 44822848,
+ "s": 42718939,
"affiliations": [
"Bayern",
"Deutschland"
@@ -4929,7 +4929,7 @@
},
{
"id": "Germany_Hamburg_main",
- "s": 24981617,
+ "s": 24948600,
"affiliations": [
"Deutschland",
"Hamburg"
@@ -4943,7 +4943,7 @@
"g": [
{
"id": "Germany_Hesse_Regierungsbezirk Darmstadt",
- "s": 87340905,
+ "s": 84000969,
"affiliations": [
"Deutschland",
"Hessen"
@@ -4954,7 +4954,7 @@
},
{
"id": "Germany_Hesse_Regierungsbezirk Giessen",
- "s": 36068722,
+ "s": 33305009,
"affiliations": [
"Deutschland",
"Hessen"
@@ -4965,7 +4965,7 @@
},
{
"id": "Germany_Hesse_Regierungsbezirk Kassel",
- "s": 51151270,
+ "s": 47420662,
"affiliations": [
"Deutschland",
"Hessen"
@@ -4981,7 +4981,7 @@
"g": [
{
"id": "Germany_Lower Saxony_Bremen_Bremen",
- "s": 45689801,
+ "s": 45363644,
"affiliations": [
"Bremen",
"Deutschland",
@@ -4995,7 +4995,7 @@
},
{
"id": "Germany_Lower Saxony_Bremen_Munster",
- "s": 47651402,
+ "s": 47167747,
"affiliations": [
"Deutschland",
"Niedersachsen"
@@ -5006,7 +5006,7 @@
},
{
"id": "Germany_Lower Saxony_Hannover",
- "s": 42006748,
+ "s": 41106548,
"affiliations": [
"Deutschland",
"Niedersachsen"
@@ -5017,7 +5017,7 @@
},
{
"id": "Germany_Lower Saxony_Braunschweig",
- "s": 51119493,
+ "s": 50213519,
"affiliations": [
"Deutschland",
"Niedersachsen"
@@ -5028,7 +5028,7 @@
},
{
"id": "Germany_Lower Saxony_Oldenburg",
- "s": 66642443,
+ "s": 66518185,
"affiliations": [
"Bremen",
"Deutschland",
@@ -5042,7 +5042,7 @@
},
{
"id": "Germany_Mecklenburg-Vorpommern",
- "s": 68085418,
+ "s": 68132121,
"affiliations": [
"Deutschland",
"Mecklenburg-Vorpommern"
@@ -5056,7 +5056,7 @@
"g": [
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Arnsberg",
- "s": 45293985,
+ "s": 43343177,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5067,7 +5067,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Dortmund",
- "s": 69761689,
+ "s": 69365947,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5078,7 +5078,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Detmold",
- "s": 76291787,
+ "s": 75390733,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5089,7 +5089,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Dusseldorf",
- "s": 60451846,
+ "s": 60027440,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5100,7 +5100,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Mulheim",
- "s": 53019727,
+ "s": 53045323,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5111,7 +5111,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Wesel",
- "s": 17213900,
+ "s": 17129078,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5122,7 +5122,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Aachen",
- "s": 60330957,
+ "s": 59103453,
"affiliations": [
"Deutschland",
"Deutschland - Belgique / Belgi\u00eb / Belgien",
@@ -5134,7 +5134,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Koln",
- "s": 75688010,
+ "s": 74694484,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5145,7 +5145,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Munster",
- "s": 39414636,
+ "s": 39159863,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5156,7 +5156,7 @@
},
{
"id": "Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Recklinghausen",
- "s": 47493399,
+ "s": 47351179,
"affiliations": [
"Deutschland",
"Nordrhein-Westfalen"
@@ -5169,7 +5169,7 @@
},
{
"id": "Germany_Rhineland-Palatinate_Koblenz",
- "s": 62660861,
+ "s": 59329058,
"affiliations": [
"Deutschland",
"Rheinland-Pfalz"
@@ -5180,7 +5180,7 @@
},
{
"id": "Germany_Rhineland-Palatinate_South",
- "s": 56696739,
+ "s": 56281957,
"affiliations": [
"Deutschland",
"Rheinland-Pfalz"
@@ -5191,7 +5191,7 @@
},
{
"id": "Germany_Saarland",
- "s": 26837692,
+ "s": 26646936,
"affiliations": [
"Deutschland",
"Saarland"
@@ -5202,7 +5202,7 @@
},
{
"id": "Germany_Saxony-Anhalt_Magdeburg",
- "s": 37346858,
+ "s": 36978723,
"affiliations": [
"Deutschland",
"Sachsen-Anhalt"
@@ -5213,7 +5213,7 @@
},
{
"id": "Germany_Saxony-Anhalt_Halle",
- "s": 35482459,
+ "s": 33901685,
"affiliations": [
"Deutschland",
"Sachsen-Anhalt"
@@ -5224,7 +5224,7 @@
},
{
"id": "Germany_Saxony_Dresden",
- "s": 49162625,
+ "s": 49040250,
"affiliations": [
"Deutschland",
"Sachsen"
@@ -5235,7 +5235,7 @@
},
{
"id": "Germany_Saxony_Leipzig",
- "s": 80166519,
+ "s": 79005987,
"affiliations": [
"Deutschland",
"Sachsen"
@@ -5246,7 +5246,7 @@
},
{
"id": "Germany_Schleswig-Holstein_Kiel",
- "s": 43339515,
+ "s": 43266939,
"affiliations": [
"Danmark",
"Deutschland",
@@ -5258,7 +5258,7 @@
},
{
"id": "Germany_Schleswig-Holstein_Flensburg",
- "s": 42092940,
+ "s": 42109978,
"affiliations": [
"Deutschland",
"Schleswig-Holstein"
@@ -5269,7 +5269,7 @@
},
{
"id": "Germany_Thuringia",
- "s": 74743190,
+ "s": 72228218,
"affiliations": [
"Deutschland",
"Th\u00fcringen"
@@ -5282,7 +5282,7 @@
},
{
"id": "Ghana",
- "s": 14308476,
+ "s": 14530693,
"affiliations": [
"Ashanti Region",
"Brong-Ahafo Region",
@@ -5302,7 +5302,7 @@
},
{
"id": "Gibraltar",
- "s": 303407,
+ "s": 305681,
"affiliations": [
"Espa\u00f1a",
"Gibraltar"
@@ -5317,7 +5317,7 @@
"g": [
{
"id": "Greece_Decentralized Administration of Crete",
- "s": 9374293,
+ "s": 9450625,
"affiliations": [
"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
"Territorial waters of Greece - Gavdos and Gavdopoula",
@@ -5329,7 +5329,7 @@
},
{
"id": "Greece_Decentralized Administration of West Greece",
- "s": 23104480,
+ "s": 23098814,
"affiliations": [
"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
"Territorial waters of Greece - Strofades",
@@ -5342,7 +5342,7 @@
},
{
"id": "Greece_Decentralized Administration of Aegean",
- "s": 17639043,
+ "s": 17513664,
"affiliations": [
"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
"\u0391\u03c0\u03bf\u03ba\u03b5\u03bd\u03c4\u03c1\u03c9\u03bc\u03ad\u03bd\u03b7 \u0394\u03b9\u03bf\u03af\u03ba\u03b7\u03c3\u03b7 \u0391\u03b9\u03b3\u03b1\u03af\u03bf\u03c5"
@@ -5353,7 +5353,7 @@
},
{
"id": "Greece_Decentralized Administration of Epirus - Western Macedonia",
- "s": 12516801,
+ "s": 12728735,
"affiliations": [
"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
"\u0391\u03c0\u03bf\u03ba\u03b5\u03bd\u03c4\u03c1\u03c9\u03bc\u03ad\u03bd\u03b7 \u0394\u03b9\u03bf\u03af\u03ba\u03b7\u03c3\u03b7 \u0397\u03c0\u03b5\u03af\u03c1\u03bf\u03c5 - \u0394\u03c5\u03c4\u03b9\u03ba\u03ae\u03c2 \u039c\u03b1\u03ba\u03b5\u03b4\u03bf\u03bd\u03af\u03b1\u03c2"
@@ -5364,7 +5364,7 @@
},
{
"id": "Greece_Decentralized Administration of Macedonia and Thrace",
- "s": 22647187,
+ "s": 22660630,
"affiliations": [
"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
"\u0391\u03c0\u03bf\u03ba\u03b5\u03bd\u03c4\u03c1\u03c9\u03bc\u03ad\u03bd\u03b7 \u0394\u03b9\u03bf\u03af\u03ba\u03b7\u03c3\u03b7 \u039c\u03b1\u03ba\u03b5\u03b4\u03bf\u03bd\u03af\u03b1\u03c2 - \u0398\u03c1\u03ac\u03ba\u03b7\u03c2"
@@ -5375,7 +5375,7 @@
},
{
"id": "Greece_Decentralized Administration of Thessaly - Central Greece",
- "s": 25532373,
+ "s": 25579330,
"affiliations": [
"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
"\u0391\u03c0\u03bf\u03ba\u03b5\u03bd\u03c4\u03c1\u03c9\u03bc\u03ad\u03bd\u03b7 \u0394\u03b9\u03bf\u03af\u03ba\u03b7\u03c3\u03b7 \u0391\u03c4\u03c4\u03b9\u03ba\u03ae\u03c2",
@@ -5387,7 +5387,7 @@
},
{
"id": "Greece_Decentralized Administration of Attica",
- "s": 20788094,
+ "s": 20943595,
"affiliations": [
"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",
"\u0391\u03c0\u03bf\u03ba\u03b5\u03bd\u03c4\u03c1\u03c9\u03bc\u03ad\u03bd\u03b7 \u0394\u03b9\u03bf\u03af\u03ba\u03b7\u03c3\u03b7 \u0391\u03c4\u03c4\u03b9\u03ba\u03ae\u03c2"
@@ -5400,7 +5400,7 @@
},
{
"id": "Greenland",
- "s": 23802081,
+ "s": 23806133,
"affiliations": [
"Kalaallit Nunaat"
],
@@ -5410,7 +5410,7 @@
},
{
"id": "Guatemala",
- "s": 25056980,
+ "s": 25160716,
"affiliations": [
"Alta Verapaz",
"Baja Verapaz",
@@ -5442,7 +5442,7 @@
},
{
"id": "Guernsey",
- "s": 805580,
+ "s": 834465,
"affiliations": [
"Alderney",
"Brecqhou",
@@ -5475,7 +5475,7 @@
},
{
"id": "Guinea",
- "s": 33648691,
+ "s": 33653083,
"affiliations": [
"Conakry",
"Faranah",
@@ -5493,7 +5493,7 @@
},
{
"id": "Guinea-Bissau",
- "s": 4176070,
+ "s": 4181481,
"affiliations": [
"Guin\u00e9-Bissau",
"Regi\u00e3o de Bafat\u00e1",
@@ -5511,7 +5511,7 @@
},
{
"id": "Guyana",
- "s": 3594886,
+ "s": 3598362,
"affiliations": [
"Guyana"
],
@@ -5521,7 +5521,7 @@
},
{
"id": "Haiti",
- "s": 32597341,
+ "s": 32609026,
"affiliations": [
"Ayiti",
"D\u00e9partement de l'Artibonite",
@@ -5541,7 +5541,7 @@
},
{
"id": "Honduras",
- "s": 15344817,
+ "s": 15356163,
"affiliations": [
"Atl\u00e1ntida",
"Chinandega",
@@ -5573,7 +5573,7 @@
"g": [
{
"id": "Hungary_Northern Great Plain",
- "s": 45073588,
+ "s": 45409510,
"affiliations": [
"Alf\u00f6ld \u00e9s \u00c9szak",
"Magyarorsz\u00e1g"
@@ -5584,7 +5584,7 @@
},
{
"id": "Hungary_Transdanubia",
- "s": 55443326,
+ "s": 55508303,
"affiliations": [
"Dun\u00e1nt\u00fal",
"Magyarorsz\u00e1g"
@@ -5595,7 +5595,7 @@
},
{
"id": "Hungary_Kozep-Magyarorszag",
- "s": 30936013,
+ "s": 31032594,
"affiliations": [
"K\u00f6z\u00e9p-Magyarorsz\u00e1g",
"Magyarorsz\u00e1g"
@@ -5608,7 +5608,7 @@
},
{
"id": "Iceland",
- "s": 22549302,
+ "s": 22615685,
"affiliations": [
"\u00cdsland"
],
@@ -5621,7 +5621,7 @@
"g": [
{
"id": "India_Andaman and Nicobar Islands",
- "s": 1362830,
+ "s": 1361557,
"affiliations": [
"Andaman and Nicobar Islands",
"India"
@@ -5632,7 +5632,7 @@
},
{
"id": "India_Lakshadweep",
- "s": 281791,
+ "s": 281991,
"affiliations": [
"India",
"Lakshadweep"
@@ -5643,7 +5643,7 @@
},
{
"id": "India_Andhra Pradesh",
- "s": 18683125,
+ "s": 18812927,
"affiliations": [
"Andhra Pradesh",
"India",
@@ -5655,7 +5655,7 @@
},
{
"id": "India_Gujarat",
- "s": 16862587,
+ "s": 17058614,
"affiliations": [
"Gujarat",
"India",
@@ -5668,7 +5668,7 @@
},
{
"id": "India_Kerala",
- "s": 12114036,
+ "s": 12205559,
"affiliations": [
"India",
"Kerala"
@@ -5679,7 +5679,7 @@
},
{
"id": "India_Madhya Pradesh",
- "s": 18682309,
+ "s": 18712208,
"affiliations": [
"India",
"Madhya Pradesh"
@@ -5690,7 +5690,7 @@
},
{
"id": "India_Rajasthan",
- "s": 20052538,
+ "s": 20148111,
"affiliations": [
"India",
"Rajasthan"
@@ -5701,7 +5701,7 @@
},
{
"id": "India_Tamil Nadu",
- "s": 29749190,
+ "s": 29947423,
"affiliations": [
"Cuddalore-Puducherry Administrative Boundary",
"India",
@@ -5718,7 +5718,7 @@
},
{
"id": "India_Haryana",
- "s": 16655770,
+ "s": 16663427,
"affiliations": [
"Haryana",
"India"
@@ -5729,7 +5729,7 @@
},
{
"id": "India_Goa",
- "s": 2461272,
+ "s": 2487606,
"affiliations": [
"Goa",
"India"
@@ -5740,7 +5740,7 @@
},
{
"id": "India_Karnataka_North",
- "s": 17001691,
+ "s": 17092547,
"affiliations": [
"India",
"Karnataka"
@@ -5751,7 +5751,7 @@
},
{
"id": "India_Karnataka_South",
- "s": 31717461,
+ "s": 31762847,
"affiliations": [
"India",
"Karnataka"
@@ -5762,7 +5762,7 @@
},
{
"id": "India_Maharashtra",
- "s": 46400043,
+ "s": 46467127,
"affiliations": [
"Ankisha",
"Ganjiramannapeta",
@@ -5778,7 +5778,7 @@
},
{
"id": "India_Telangana",
- "s": 33345224,
+ "s": 33387470,
"affiliations": [
"India",
"Telangana"
@@ -5789,7 +5789,7 @@
},
{
"id": "India_Delhi",
- "s": 9889232,
+ "s": 9907282,
"affiliations": [
"Delhi",
"India"
@@ -5800,7 +5800,7 @@
},
{
"id": "India_Uttar Pradesh",
- "s": 21982385,
+ "s": 22245830,
"affiliations": [
"Uttar Pradesh",
"India"
@@ -5811,7 +5811,7 @@
},
{
"id": "India_Odisha",
- "s": 8188004,
+ "s": 8243678,
"affiliations": [
"India",
"Odisha"
@@ -5822,7 +5822,7 @@
},
{
"id": "India_Chhattisgarh",
- "s": 5880835,
+ "s": 5961012,
"affiliations": [
"Chhattisgarh",
"India"
@@ -5833,7 +5833,7 @@
},
{
"id": "India_Jharkhand",
- "s": 4248355,
+ "s": 4275408,
"affiliations": [
"Jharkhand",
"India"
@@ -5844,7 +5844,7 @@
},
{
"id": "India_Bihar",
- "s": 8600775,
+ "s": 8828459,
"affiliations": [
"Bihar",
"India"
@@ -5855,7 +5855,7 @@
},
{
"id": "India_Tripura",
- "s": 430262,
+ "s": 430670,
"affiliations": [
"India",
"Tripura"
@@ -5866,7 +5866,7 @@
},
{
"id": "India_West Bengal",
- "s": 25145820,
+ "s": 26012053,
"affiliations": [
"Border India - Bangladesh",
"Dist. Judges Court",
@@ -5879,7 +5879,7 @@
},
{
"id": "India_Sikkim",
- "s": 939704,
+ "s": 939784,
"affiliations": [
"India",
"Sikkim"
@@ -5890,7 +5890,7 @@
},
{
"id": "India_Uttarakhand",
- "s": 6730252,
+ "s": 6744433,
"affiliations": [
"Uttarakhand",
"India"
@@ -5901,7 +5901,7 @@
},
{
"id": "India_Mizoram",
- "s": 704958,
+ "s": 706246,
"affiliations": [
"India",
"Mizoram"
@@ -5912,7 +5912,7 @@
},
{
"id": "India_Meghalaya",
- "s": 1165006,
+ "s": 1166056,
"affiliations": [
"India",
"Meghalaya"
@@ -5923,7 +5923,7 @@
},
{
"id": "India_Manipur",
- "s": 715168,
+ "s": 720683,
"affiliations": [
"India",
"Manipur"
@@ -5934,7 +5934,7 @@
},
{
"id": "India_Nagaland",
- "s": 584701,
+ "s": 584949,
"affiliations": [
"India",
"Nagaland"
@@ -5945,7 +5945,7 @@
},
{
"id": "India_Assam",
- "s": 3849590,
+ "s": 3935316,
"affiliations": [
"Assam",
"India"
@@ -5956,7 +5956,7 @@
},
{
"id": "India_Arunachal Pradesh",
- "s": 2106983,
+ "s": 2107912,
"affiliations": [
"Arunachal Pradesh",
"India"
@@ -5967,7 +5967,7 @@
},
{
"id": "India_Himachal Pradesh",
- "s": 4372485,
+ "s": 4404457,
"affiliations": [
"Himachal Pradesh",
"India"
@@ -5978,7 +5978,7 @@
},
{
"id": "India_Jammu and Kashmir",
- "s": 7465235,
+ "s": 7702039,
"affiliations": [
"India",
"Jammu and Kashmir"
@@ -5989,7 +5989,7 @@
},
{
"id": "India_Chandigarh",
- "s": 590775,
+ "s": 591087,
"affiliations": [
"India",
"Union Territory of Chand\u012bgarh"
@@ -6000,7 +6000,7 @@
},
{
"id": "India_Punjab",
- "s": 7238728,
+ "s": 7251637,
"affiliations": [
"India",
"Punjab"
@@ -6016,7 +6016,7 @@
"g": [
{
"id": "Indonesia_Central",
- "s": 63177197,
+ "s": 63931411,
"affiliations": [
"Gorontalo",
"Indonesia",
@@ -6037,7 +6037,7 @@
},
{
"id": "Indonesia_West",
- "s": 39375976,
+ "s": 39577176,
"affiliations": [
"Aceh",
"Banten",
@@ -6059,7 +6059,7 @@
},
{
"id": "Indonesia_Jawa Tengah",
- "s": 33636032,
+ "s": 34752341,
"affiliations": [
"Daerah Istimewa Yogyakarta",
"Indonesia",
@@ -6071,7 +6071,7 @@
},
{
"id": "Indonesia_Jawa Barat",
- "s": 99473693,
+ "s": 100582854,
"affiliations": [
"Banten",
"Daerah Khusus Ibukota Jakarta",
@@ -6084,7 +6084,7 @@
},
{
"id": "Indonesia_Nusa Tenggara",
- "s": 50809193,
+ "s": 51303022,
"affiliations": [
"Bali",
"Batas Dusun Muntigunung Induk",
@@ -6099,7 +6099,7 @@
},
{
"id": "Indonesia_Jawa Timur",
- "s": 54028299,
+ "s": 54101016,
"affiliations": [
"Indonesia",
"Jawa Timur"
@@ -6110,7 +6110,7 @@
},
{
"id": "Indonesia_East",
- "s": 16350532,
+ "s": 16515595,
"affiliations": [
"Indonesia",
"Maluku",
@@ -6129,7 +6129,7 @@
"g": [
{
"id": "Iran_East",
- "s": 15363386,
+ "s": 15530540,
"affiliations": [
"\u06cc\u0632\u062f\u200e",
"\u06a9\u0631\u0645\u0627\u0646",
@@ -6145,7 +6145,7 @@
},
{
"id": "Iran_South",
- "s": 36348907,
+ "s": 37127898,
"affiliations": [
"\u0644\u0631\u0633\u062a\u0627\u0646\u200e",
"\u0641\u0627\u0631\u0633\u200e",
@@ -6168,7 +6168,7 @@
},
{
"id": "Iran_North",
- "s": 37255840,
+ "s": 37764672,
"affiliations": [
"\u0642\u0645\u200e",
"\u0627\u0644\u0628\u0631\u0632",
@@ -6197,7 +6197,7 @@
"g": [
{
"id": "Iraq_North",
- "s": 23888065,
+ "s": 24100557,
"affiliations": [
"\u062c\u0645\u0647\u0648\u0631\u064a\u0629 \u0627\u0644\u0639\u0631\u0627\u0642",
"garaki handren",
@@ -6217,7 +6217,7 @@
},
{
"id": "Iraq_South",
- "s": 19731639,
+ "s": 19844997,
"affiliations": [
"\u062c\u0645\u0647\u0648\u0631\u064a\u0629 \u0627\u0644\u0639\u0631\u0627\u0642",
"\u0630\u064a \u0642\u0627\u0631",
@@ -6242,7 +6242,7 @@
},
{
"id": "Isle of Man",
- "s": 1956692,
+ "s": 1963130,
"affiliations": [
"Isle of Man",
"Scotland",
@@ -6257,7 +6257,7 @@
"g": [
{
"id": "Jerusalem",
- "s": 3998370,
+ "s": 4001336,
"affiliations": [
"\u05de\u05d7\u05d5\u05d6 \u05d9\u05e8\u05d5\u05e9\u05dc\u05d9\u05dd",
"\u05de\u05d3\u05d9\u05e0\u05ea \u05d9\u05e9\u05e8\u05d0\u05dc"
@@ -6269,7 +6269,7 @@
},
{
"id": "Israel",
- "s": 39893499,
+ "s": 39969205,
"affiliations": [
"\u05de\u05d7\u05d5\u05d6 \u05d7\u05d9\u05e4\u05d4",
"\u05de\u05d7\u05d5\u05d6 \u05ea\u05dc \u05d0\u05d1\u05d9\u05d1",
@@ -6291,7 +6291,7 @@
"g": [
{
"id": "Italy_Abruzzo",
- "s": 12917752,
+ "s": 12914172,
"affiliations": [
"Abruzzo",
"Italia"
@@ -6302,7 +6302,7 @@
},
{
"id": "Italy_Aosta Valley",
- "s": 9313491,
+ "s": 9324944,
"affiliations": [
"Italia",
"Valle d'Aosta/Vall\u00e9e d'Aoste"
@@ -6313,7 +6313,7 @@
},
{
"id": "Italy_Apulia",
- "s": 75746124,
+ "s": 75604527,
"affiliations": [
"Isola della Chianca",
"Isola della Malva",
@@ -6329,7 +6329,7 @@
},
{
"id": "Italy_Basilicata",
- "s": 9720374,
+ "s": 9721377,
"affiliations": [
"Basilicata",
"Italia"
@@ -6340,7 +6340,7 @@
},
{
"id": "Italy_Calabria",
- "s": 20485268,
+ "s": 20478301,
"affiliations": [
"Calabria",
"Isola di Cirella",
@@ -6353,7 +6353,7 @@
},
{
"id": "Italy_Campania",
- "s": 25421369,
+ "s": 25475627,
"affiliations": [
"Campania",
"Isola Licosa",
@@ -6373,7 +6373,7 @@
"g": [
{
"id": "Italy_Emilia-Romagna_Bologna",
- "s": 24565910,
+ "s": 24599013,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6384,7 +6384,7 @@
},
{
"id": "Italy_Emilia-Romagna_Ferrara",
- "s": 11709567,
+ "s": 11688306,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6395,7 +6395,7 @@
},
{
"id": "Italy_Emilia-Romagna_Forli-Cesena",
- "s": 11233858,
+ "s": 11262180,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6406,7 +6406,7 @@
},
{
"id": "Italy_Emilia-Romagna_Modena",
- "s": 22581922,
+ "s": 22586184,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6417,7 +6417,7 @@
},
{
"id": "Italy_Emilia-Romagna_Parma",
- "s": 15353918,
+ "s": 15354713,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6428,7 +6428,7 @@
},
{
"id": "Italy_Emilia-Romagna_Piacenza",
- "s": 9694299,
+ "s": 9702195,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6439,7 +6439,7 @@
},
{
"id": "Italy_Emilia-Romagna_Ravenna",
- "s": 10683190,
+ "s": 10695059,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6450,7 +6450,7 @@
},
{
"id": "Italy_Emilia-Romagna_Reggio Emilia",
- "s": 13550040,
+ "s": 13591567,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6461,7 +6461,7 @@
},
{
"id": "Italy_Emilia-Romagna_Rimini",
- "s": 8207392,
+ "s": 8211938,
"affiliations": [
"Emilia-Romagna",
"Italia"
@@ -6477,7 +6477,7 @@
"g": [
{
"id": "Italy_Friuli-Venezia Giulia_Gorizia",
- "s": 6735042,
+ "s": 6730867,
"affiliations": [
"Friuli Venezia Giulia",
"Italia"
@@ -6488,7 +6488,7 @@
},
{
"id": "Italy_Friuli-Venezia Giulia_Pordenone",
- "s": 17193507,
+ "s": 17217633,
"affiliations": [
"Friuli Venezia Giulia",
"Italia"
@@ -6499,7 +6499,7 @@
},
{
"id": "Italy_Friuli-Venezia Giulia_Trieste",
- "s": 6265562,
+ "s": 6277678,
"affiliations": [
"Friuli Venezia Giulia",
"Italia"
@@ -6510,7 +6510,7 @@
},
{
"id": "Italy_Friuli-Venezia Giulia_Udine",
- "s": 37578891,
+ "s": 37590211,
"affiliations": [
"Friuli Venezia Giulia",
"Italia"
@@ -6523,7 +6523,7 @@
},
{
"id": "Italy_Lazio",
- "s": 45446270,
+ "s": 45812082,
"affiliations": [
"Civitatis Vatican\u00e6",
"Gavi",
@@ -6540,7 +6540,7 @@
},
{
"id": "Italy_Liguria",
- "s": 41547524,
+ "s": 41604420,
"affiliations": [
"Italia",
"Liguria"
@@ -6554,7 +6554,7 @@
"g": [
{
"id": "Italy_Lombardy_Bergamo",
- "s": 13048257,
+ "s": 13103792,
"affiliations": [
"Italia",
"Lombardia"
@@ -6565,7 +6565,7 @@
},
{
"id": "Italy_Lombardy_Brescia",
- "s": 19998634,
+ "s": 20018556,
"affiliations": [
"Italia",
"Lombardia"
@@ -6576,7 +6576,7 @@
},
{
"id": "Italy_Lombardy_Como",
- "s": 9746720,
+ "s": 9746134,
"affiliations": [
"Italia",
"Lombardia"
@@ -6587,7 +6587,7 @@
},
{
"id": "Italy_Lombardy_Cremona",
- "s": 4158363,
+ "s": 4187817,
"affiliations": [
"Italia",
"Lombardia"
@@ -6598,7 +6598,7 @@
},
{
"id": "Italy_Lombardy_Lecco",
- "s": 7255507,
+ "s": 7282889,
"affiliations": [
"Italia",
"Lombardia"
@@ -6609,7 +6609,7 @@
},
{
"id": "Italy_Lombardy_Lodi",
- "s": 3233264,
+ "s": 3257407,
"affiliations": [
"Italia",
"Lombardia"
@@ -6620,7 +6620,7 @@
},
{
"id": "Italy_Lombardy_Mantua",
- "s": 5086941,
+ "s": 5102122,
"affiliations": [
"Italia",
"Lombardia"
@@ -6631,7 +6631,7 @@
},
{
"id": "Italy_Lombardy_Milan",
- "s": 23034186,
+ "s": 23206766,
"affiliations": [
"Italia",
"Lombardia"
@@ -6642,7 +6642,7 @@
},
{
"id": "Italy_Lombardy_Monza and Brianza",
- "s": 7690642,
+ "s": 7720782,
"affiliations": [
"Italia",
"Lombardia"
@@ -6653,7 +6653,7 @@
},
{
"id": "Italy_Lombardy_Pavia",
- "s": 20789476,
+ "s": 20847302,
"affiliations": [
"Italia",
"Lombardia"
@@ -6664,7 +6664,7 @@
},
{
"id": "Italy_Lombardy_Sondrio",
- "s": 7555439,
+ "s": 7586972,
"affiliations": [
"Italia",
"Lombardia"
@@ -6675,7 +6675,7 @@
},
{
"id": "Italy_Lombardy_Varese",
- "s": 11802762,
+ "s": 11862485,
"affiliations": [
"Italia",
"Lombardia"
@@ -6688,7 +6688,7 @@
},
{
"id": "Italy_Marche",
- "s": 19752451,
+ "s": 19889104,
"affiliations": [
"Italia",
"Marche"
@@ -6699,7 +6699,7 @@
},
{
"id": "Italy_Molise",
- "s": 6431751,
+ "s": 6433467,
"affiliations": [
"Italia",
"Molise"
@@ -6713,7 +6713,7 @@
"g": [
{
"id": "Italy_Piemont_Alessandria",
- "s": 10537139,
+ "s": 10559815,
"affiliations": [
"Italia",
"Piemonte"
@@ -6724,7 +6724,7 @@
},
{
"id": "Italy_Piemont_Asti",
- "s": 3901455,
+ "s": 3927552,
"affiliations": [
"Italia",
"Piemonte"
@@ -6735,7 +6735,7 @@
},
{
"id": "Italy_Piemont_Biella",
- "s": 4620881,
+ "s": 4779692,
"affiliations": [
"Italia",
"Piemonte"
@@ -6746,7 +6746,7 @@
},
{
"id": "Italy_Piemont_Cuneo",
- "s": 23595136,
+ "s": 23659135,
"affiliations": [
"Italia",
"Piemonte"
@@ -6757,7 +6757,7 @@
},
{
"id": "Italy_Piemont_Novara",
- "s": 7204745,
+ "s": 7215532,
"affiliations": [
"Italia",
"Piemonte"
@@ -6768,7 +6768,7 @@
},
{
"id": "Italy_Piemont_Torino",
- "s": 26816323,
+ "s": 26990828,
"affiliations": [
"Italia",
"Piemonte"
@@ -6779,7 +6779,7 @@
},
{
"id": "Italy_Piemont_Verbano-Cusio-Ossola",
- "s": 6336793,
+ "s": 6436954,
"affiliations": [
"Italia",
"Piemonte"
@@ -6790,7 +6790,7 @@
},
{
"id": "Italy_Piemont_Vercelli",
- "s": 6447244,
+ "s": 6463194,
"affiliations": [
"Italia",
"Piemonte"
@@ -6803,7 +6803,7 @@
},
{
"id": "Italy_Sardinia",
- "s": 62945870,
+ "s": 62996788,
"affiliations": [
"Isola Tuaredda",
"Isola de Sa tonnara",
@@ -6824,7 +6824,7 @@
},
{
"id": "Italy_Sicily",
- "s": 54367896,
+ "s": 54480534,
"affiliations": [
"Isola dei Cani",
"Isola delle Correnti",
@@ -6872,7 +6872,7 @@
},
{
"id": "Italy_Trentino-Alto Adige Sudtirol",
- "s": 56865933,
+ "s": 56930142,
"affiliations": [
"Italia",
"Trentino-Alto Adige/S\u00fcdtirol"
@@ -6883,7 +6883,7 @@
},
{
"id": "Italy_Tuscany_Grosseto",
- "s": 21726210,
+ "s": 21777007,
"affiliations": [
"Formica Piccola",
"Formica Grande",
@@ -6900,7 +6900,7 @@
},
{
"id": "Italy_Tuscany_Massa e Carrara",
- "s": 49237176,
+ "s": 49363236,
"affiliations": [
"Cerboli",
"Isola della Peraiola",
@@ -6918,7 +6918,7 @@
},
{
"id": "Italy_Umbria",
- "s": 18625529,
+ "s": 18664227,
"affiliations": [
"Italia",
"Umbria"
@@ -6932,7 +6932,7 @@
"g": [
{
"id": "Italy_Veneto_Belluno",
- "s": 12191236,
+ "s": 12196572,
"affiliations": [
"Italia",
"Veneto"
@@ -6943,7 +6943,7 @@
},
{
"id": "Italy_Veneto_Padova",
- "s": 22153501,
+ "s": 22167401,
"affiliations": [
"Italia",
"Veneto"
@@ -6954,7 +6954,7 @@
},
{
"id": "Italy_Veneto_Rovigo",
- "s": 8015348,
+ "s": 8009589,
"affiliations": [
"Italia",
"Veneto"
@@ -6965,7 +6965,7 @@
},
{
"id": "Italy_Veneto_Treviso",
- "s": 29473435,
+ "s": 29488689,
"affiliations": [
"Italia",
"Veneto"
@@ -6976,7 +6976,7 @@
},
{
"id": "Italy_Veneto_Venezia",
- "s": 18746534,
+ "s": 18693828,
"affiliations": [
"Italia",
"Veneto"
@@ -6987,7 +6987,7 @@
},
{
"id": "Italy_Veneto_Verona",
- "s": 26054572,
+ "s": 26031178,
"affiliations": [
"Italia",
"Veneto"
@@ -6998,7 +6998,7 @@
},
{
"id": "Italy_Veneto_Vicenza",
- "s": 25619386,
+ "s": 25645377,
"affiliations": [
"Italia",
"Veneto"
@@ -7013,7 +7013,7 @@
},
{
"id": "Jamaica",
- "s": 5796023,
+ "s": 5881427,
"affiliations": [
"Jamaica"
],
@@ -7029,7 +7029,7 @@
"g": [
{
"id": "Japan_Chubu Region_Aichi_Nagoya",
- "s": 24922721,
+ "s": 24984269,
"affiliations": [
"\u65e5\u672c",
"\u4e09\u91cd\u770c",
@@ -7041,7 +7041,7 @@
},
{
"id": "Japan_Chubu Region_Aichi_Toyohashi",
- "s": 12159204,
+ "s": 12263231,
"affiliations": [
"\u65e5\u672c",
"\u611b\u77e5\u770c"
@@ -7052,7 +7052,7 @@
},
{
"id": "Japan_Chubu Region_Fukui",
- "s": 8672127,
+ "s": 8706109,
"affiliations": [
"\u65e5\u672c",
"\u798f\u4e95\u770c"
@@ -7063,7 +7063,7 @@
},
{
"id": "Japan_Chubu Region_Gifu",
- "s": 17186692,
+ "s": 17183361,
"affiliations": [
"\u65e5\u672c",
"\u5c90\u961c\u770c"
@@ -7074,7 +7074,7 @@
},
{
"id": "Japan_Chubu Region_Ishikawa",
- "s": 9433470,
+ "s": 9469090,
"affiliations": [
"\u65e5\u672c",
"\u77f3\u5ddd\u770c"
@@ -7085,7 +7085,7 @@
},
{
"id": "Japan_Chubu Region_Nagano",
- "s": 23406196,
+ "s": 23421426,
"affiliations": [
"\u9577\u91ce\u770c",
"\u65e5\u672c"
@@ -7096,7 +7096,7 @@
},
{
"id": "Japan_Chubu Region_Niigata",
- "s": 23138852,
+ "s": 23171771,
"affiliations": [
"\u65e5\u672c",
"\u65b0\u6f5f\u770c",
@@ -7108,7 +7108,7 @@
},
{
"id": "Japan_Chubu Region_Shizuoka",
- "s": 38249452,
+ "s": 39097505,
"affiliations": [
"\u9759\u5ca1\u770c",
"\u65e5\u672c"
@@ -7119,7 +7119,7 @@
},
{
"id": "Japan_Chubu Region_Toyama",
- "s": 8002413,
+ "s": 8092009,
"affiliations": [
"\u65e5\u672c",
"\u5bcc\u5c71\u770c",
@@ -7131,7 +7131,7 @@
},
{
"id": "Japan_Chubu Region_Yamanashi",
- "s": 11443005,
+ "s": 11467055,
"affiliations": [
"\u65e5\u672c",
"\u5c71\u68a8\u770c"
@@ -7147,7 +7147,7 @@
"g": [
{
"id": "Japan_Chugoku Region_Hiroshima",
- "s": 25616178,
+ "s": 25652131,
"affiliations": [
"\u65e5\u672c",
"\u5e83\u5cf6\u770c"
@@ -7158,7 +7158,7 @@
},
{
"id": "Japan_Chugoku Region_Okayama",
- "s": 16258837,
+ "s": 16278223,
"affiliations": [
"\u65e5\u672c",
"\u5ca1\u5c71\u770c"
@@ -7169,7 +7169,7 @@
},
{
"id": "Japan_Chugoku Region_Shimane",
- "s": 12894350,
+ "s": 12897235,
"affiliations": [
"\u65e5\u672c",
"\u5cf6\u6839\u770c"
@@ -7180,7 +7180,7 @@
},
{
"id": "Japan_Chugoku Region_Tottori",
- "s": 13222152,
+ "s": 13224958,
"affiliations": [
"\u9ce5\u53d6\u770c",
"\u65e5\u672c"
@@ -7191,7 +7191,7 @@
},
{
"id": "Japan_Chugoku Region_Yamaguchi",
- "s": 14215107,
+ "s": 14384219,
"affiliations": [
"\u65e5\u672c",
"\u5c71\u53e3\u770c"
@@ -7207,7 +7207,7 @@
"g": [
{
"id": "Japan_Hokkaido Region_East",
- "s": 16078753,
+ "s": 16295304,
"affiliations": [
"\u65e5\u672c",
"\u5317\u6d77\u9053"
@@ -7218,7 +7218,7 @@
},
{
"id": "Japan_Hokkaido Region_North",
- "s": 32232561,
+ "s": 32473419,
"affiliations": [
"\u65e5\u672c",
"\u5317\u6d77\u9053"
@@ -7229,7 +7229,7 @@
},
{
"id": "Japan_Hokkaido Region_West",
- "s": 13733699,
+ "s": 13750481,
"affiliations": [
"\u65e5\u672c",
"\u5317\u6d77\u9053"
@@ -7240,7 +7240,7 @@
},
{
"id": "Japan_Hokkaido Region_Sapporo",
- "s": 32602335,
+ "s": 32673573,
"affiliations": [
"\u65e5\u672c",
"\u5317\u6d77\u9053"
@@ -7256,7 +7256,7 @@
"g": [
{
"id": "Japan_Kanto_Chiba",
- "s": 24460020,
+ "s": 24485523,
"affiliations": [
"\u65e5\u672c",
"\u5343\u8449\u770c",
@@ -7269,7 +7269,7 @@
},
{
"id": "Japan_Kanto_Gunma",
- "s": 15656892,
+ "s": 15639175,
"affiliations": [
"\u65e5\u672c",
"\u7fa4\u99ac\u770c"
@@ -7280,7 +7280,7 @@
},
{
"id": "Japan_Kanto_Ibaraki",
- "s": 17067022,
+ "s": 17110819,
"affiliations": [
"\u8328\u57ce\u770c",
"\u65e5\u672c",
@@ -7293,7 +7293,7 @@
},
{
"id": "Japan_Kanto_Kanagawa",
- "s": 33266535,
+ "s": 33371654,
"affiliations": [
"\u9759\u5ca1\u770c",
"\u65e5\u672c",
@@ -7307,7 +7307,7 @@
},
{
"id": "Japan_Kanto_Saitama",
- "s": 20962421,
+ "s": 21056272,
"affiliations": [
"\u65e5\u672c",
"\u57fc\u7389\u770c"
@@ -7318,7 +7318,7 @@
},
{
"id": "Japan_Kanto_Tochigi",
- "s": 15017576,
+ "s": 15028436,
"affiliations": [
"\u65e5\u672c",
"\u6803\u6728\u770c"
@@ -7329,7 +7329,7 @@
},
{
"id": "Japan_Kanto_Tokyo",
- "s": 38915109,
+ "s": 39209553,
"affiliations": [
"\u9759\u5ca1\u770c",
"\u65e5\u672c",
@@ -7346,7 +7346,7 @@
"g": [
{
"id": "Japan_Shikoku Region_Kyoto",
- "s": 26182884,
+ "s": 26305635,
"affiliations": [
"\u65e5\u672c",
"\u4eac\u90fd\u5e9c",
@@ -7358,7 +7358,7 @@
},
{
"id": "Japan_Kinki Region_Mie",
- "s": 14756056,
+ "s": 14769558,
"affiliations": [
"\u65e5\u672c",
"\u4e09\u91cd\u770c",
@@ -7370,7 +7370,7 @@
},
{
"id": "Japan_Kinki Region_Nara",
- "s": 10086794,
+ "s": 10097490,
"affiliations": [
"\u65e5\u672c",
"\u5948\u826f\u770c",
@@ -7382,7 +7382,7 @@
},
{
"id": "Japan_Kinki Region_Osaka_Osaka",
- "s": 29591325,
+ "s": 29882387,
"affiliations": [
"\u65e5\u672c",
"\u5175\u5eab\u770c",
@@ -7394,7 +7394,7 @@
},
{
"id": "Japan_Kinki Region_Osaka_West",
- "s": 22439540,
+ "s": 22502388,
"affiliations": [
"\u65e5\u672c",
"\u5175\u5eab\u770c"
@@ -7405,7 +7405,7 @@
},
{
"id": "Japan_Kinki Region_Wakayama",
- "s": 8346931,
+ "s": 8357057,
"affiliations": [
"\u65e5\u672c",
"\u548c\u6b4c\u5c71\u770c"
@@ -7421,7 +7421,7 @@
"g": [
{
"id": "Japan_Kyushu Region_Fukuoka",
- "s": 19134906,
+ "s": 19204101,
"affiliations": [
"\u65e5\u672c",
"\u798f\u5ca1\u770c"
@@ -7432,7 +7432,7 @@
},
{
"id": "Japan_Kyushu Region_Kagoshima",
- "s": 19004492,
+ "s": 19014501,
"affiliations": [
"\u65e5\u672c",
"\u9e7f\u5150\u5cf6\u770c"
@@ -7443,7 +7443,7 @@
},
{
"id": "Japan_Kyushu Region_Kumamoto",
- "s": 21838067,
+ "s": 21840676,
"affiliations": [
"\u65e5\u672c",
"\u718a\u672c\u770c"
@@ -7454,7 +7454,7 @@
},
{
"id": "Japan_Kyushu Region_Miyazaki",
- "s": 12325200,
+ "s": 12372202,
"affiliations": [
"\u65e5\u672c",
"\u5bae\u5d0e\u770c"
@@ -7465,7 +7465,7 @@
},
{
"id": "Japan_Kyushu Region_Nagasaki",
- "s": 11694446,
+ "s": 11702561,
"affiliations": [
"\u9577\u5d0e\u770c",
"\u65e5\u672c"
@@ -7476,7 +7476,7 @@
},
{
"id": "Japan_Kyushu Region_Oita",
- "s": 16063794,
+ "s": 16068736,
"affiliations": [
"\u65e5\u672c",
"\u5927\u5206\u770c"
@@ -7487,7 +7487,7 @@
},
{
"id": "Japan_Kyushu Region_Okinawa",
- "s": 7526905,
+ "s": 7552046,
"affiliations": [
"\u65e5\u672c",
"\u6c96\u7e04\u770c"
@@ -7498,7 +7498,7 @@
},
{
"id": "Japan_Kyushu Region_Saga",
- "s": 7869923,
+ "s": 7871920,
"affiliations": [
"\u65e5\u672c",
"\u4f50\u8cc0\u770c"
@@ -7514,7 +7514,7 @@
"g": [
{
"id": "Japan_Shikoku Region_Ehime",
- "s": 14806353,
+ "s": 14847176,
"affiliations": [
"\u65e5\u672c",
"\u611b\u5a9b\u770c"
@@ -7525,7 +7525,7 @@
},
{
"id": "Japan_Shikoku Region_Kagawa",
- "s": 5905227,
+ "s": 5970235,
"affiliations": [
"\u9999\u5ddd\u770c",
"\u65e5\u672c"
@@ -7536,7 +7536,7 @@
},
{
"id": "Japan_Shikoku Region_Kochi",
- "s": 10812529,
+ "s": 10815611,
"affiliations": [
"\u9ad8\u77e5\u770c",
"\u65e5\u672c"
@@ -7547,7 +7547,7 @@
},
{
"id": "Japan_Shikoku Region_Tokushima",
- "s": 10152762,
+ "s": 10156720,
"affiliations": [
"\u65e5\u672c",
"\u5fb3\u5cf6\u770c"
@@ -7563,7 +7563,7 @@
"g": [
{
"id": "Japan_Tohoku_Akita",
- "s": 15745333,
+ "s": 15841338,
"affiliations": [
"\u65e5\u672c",
"\u79cb\u7530\u770c"
@@ -7574,7 +7574,7 @@
},
{
"id": "Japan_Tohoku_Aomori",
- "s": 12904486,
+ "s": 12908015,
"affiliations": [
"\u9752\u68ee\u770c",
"\u65e5\u672c"
@@ -7585,7 +7585,7 @@
},
{
"id": "Japan_Tohoku_Fukushima",
- "s": 32028053,
+ "s": 32082392,
"affiliations": [
"\u65e5\u672c",
"\u798f\u5cf6\u770c"
@@ -7596,7 +7596,7 @@
},
{
"id": "Japan_Tohoku_Iwate",
- "s": 20232048,
+ "s": 20248334,
"affiliations": [
"\u65e5\u672c",
"\u5ca9\u624b\u770c"
@@ -7607,7 +7607,7 @@
},
{
"id": "Japan_Tohoku_Miyagi",
- "s": 16549304,
+ "s": 16594939,
"affiliations": [
"\u65e5\u672c",
"\u5bae\u57ce\u770c",
@@ -7619,7 +7619,7 @@
},
{
"id": "Japan_Tohoku_Yamagata",
- "s": 12954814,
+ "s": 13000666,
"affiliations": [
"\u65e5\u672c",
"\u5c71\u5f62\u770c"
@@ -7634,7 +7634,7 @@
},
{
"id": "Jersey",
- "s": 1144541,
+ "s": 1145733,
"affiliations": [
"France",
"Guernsey",
@@ -7653,7 +7653,7 @@
},
{
"id": "Jordan",
- "s": 8984399,
+ "s": 9005447,
"affiliations": [
"Ajloun",
"Amman",
@@ -7678,7 +7678,7 @@
"g": [
{
"id": "Kazakhstan_North",
- "s": 35362545,
+ "s": 35670835,
"affiliations": [
"\u0410\u0441\u0442\u0430\u043d\u0430",
"\u0421\u0435\u0432\u0435\u0440\u043e-\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
@@ -7694,7 +7694,7 @@
},
{
"id": "Kazakhstan_South",
- "s": 39898744,
+ "s": 40011870,
"affiliations": [
"\u0410\u043b\u043c\u0430\u0442\u044b",
"\u0410\u0442\u044b\u0440\u0430\u0443\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
@@ -7716,7 +7716,7 @@
},
{
"id": "Kenya",
- "s": 36197528,
+ "s": 36897116,
"affiliations": [
"Baringo",
"Bungoma",
@@ -7773,7 +7773,7 @@
},
{
"id": "Kingdom of Lesotho",
- "s": 70682014,
+ "s": 70768913,
"affiliations": [
"Lesotho"
],
@@ -7783,7 +7783,7 @@
},
{
"id": "Kiribati",
- "s": 965927,
+ "s": 978927,
"affiliations": [
"Kiribati"
],
@@ -7793,7 +7793,7 @@
},
{
"id": "Kuwait",
- "s": 9467463,
+ "s": 9480400,
"affiliations": [
"\u062d\u0648\u0644\u064a",
"\u0645\u0628\u0627\u0631\u0643 \u0627\u0644\u0643\u0628\u064a\u0631\u200e",
@@ -7809,7 +7809,7 @@
},
{
"id": "Kyrgyzstan",
- "s": 20264998,
+ "s": 20336436,
"affiliations": [
"\u041d\u0430\u0440\u044b\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0422\u0430\u043b\u0430\u0441\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
@@ -7830,7 +7830,7 @@
},
{
"id": "Laos",
- "s": 19698435,
+ "s": 19802743,
"affiliations": [
"\u0e84\u0ecd\u0eb2\u0ea1\u0ec8\u0ea7\u0e99",
"\u0e88\u0eb3\u0e9b\u0eb2\u0eaa\u0eb1\u0e81",
@@ -7857,7 +7857,7 @@
},
{
"id": "Latvia",
- "s": 51177271,
+ "s": 50533568,
"affiliations": [
"Latgale",
"Latvija",
@@ -7871,7 +7871,7 @@
},
{
"id": "Lebanon",
- "s": 6360413,
+ "s": 6445289,
"affiliations": [
"\u0627\u0644\u062c\u0645\u0647\u0648\u0631\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629",
"\u0642\u0636\u0627\u0621 \u0632\u063a\u0631\u062a\u0627",
@@ -7906,7 +7906,7 @@
},
{
"id": "Liberia",
- "s": 18088044,
+ "s": 18088708,
"affiliations": [
"Bomi County",
"Bong County",
@@ -7931,7 +7931,7 @@
},
{
"id": "Libya",
- "s": 10404114,
+ "s": 10440372,
"affiliations": [
"Libya \u2d4d\u2d49\u2d31\u2d62\u2d30 \u0644\u064a\u0628\u064a\u0627",
"\u0633\u0631\u062a",
@@ -7963,7 +7963,7 @@
},
{
"id": "Liechtenstein",
- "s": 1457437,
+ "s": 1466461,
"affiliations": [
"Liechtenstein"
],
@@ -7976,7 +7976,7 @@
"g": [
{
"id": "Lithuania_East",
- "s": 42989569,
+ "s": 43141893,
"affiliations": [
"Alytaus apskritis",
"Kauno apskritis",
@@ -7990,7 +7990,7 @@
},
{
"id": "Lithuania_West",
- "s": 43402701,
+ "s": 43570113,
"affiliations": [
"Klaip\u0117dos apskritis",
"Lietuva",
@@ -8008,7 +8008,7 @@
},
{
"id": "Luxembourg",
- "s": 15666258,
+ "s": 15726512,
"affiliations": [
"L\u00ebtzebuerg"
],
@@ -8018,7 +8018,7 @@
},
{
"id": "Macedonia",
- "s": 14985330,
+ "s": 14993213,
"affiliations": [
"\u0418\u0441\u0442\u043e\u0447\u0435\u043d \u0420\u0435\u0433\u0438\u043e\u043d",
"\u041f\u043e\u043b\u043e\u0448\u043a\u0438 \u0420\u0435\u0433\u0438\u043e\u043d",
@@ -8036,7 +8036,7 @@
},
{
"id": "Madagascar",
- "s": 35644650,
+ "s": 35984776,
"affiliations": [
"Madagasikara",
"Region de Anosy",
@@ -8050,7 +8050,7 @@
},
{
"id": "Malawi",
- "s": 46015697,
+ "s": 46250129,
"affiliations": [
"Border Malawi - Mozambique",
"Central",
@@ -8066,7 +8066,7 @@
},
{
"id": "Malaysia",
- "s": 45302851,
+ "s": 45613377,
"affiliations": [
"Terengganu / \u062a\u0631\u06a0\u06ac\u0627\u0646\u0648",
"Johor",
@@ -8112,7 +8112,7 @@
},
{
"id": "Maldives",
- "s": 1450892,
+ "s": 1456525,
"affiliations": [
"Mathi-Dhekunu Province",
"Mathi-Uthuru Province",
@@ -8131,7 +8131,7 @@
},
{
"id": "Mali",
- "s": 46074844,
+ "s": 46202927,
"affiliations": [
"District de Bamako",
"Gao",
@@ -8150,7 +8150,7 @@
},
{
"id": "Malta",
- "s": 3497102,
+ "s": 3510725,
"affiliations": [
"Comino",
"Cominotto",
@@ -8167,7 +8167,7 @@
},
{
"id": "Marshall Islands",
- "s": 758902,
+ "s": 770852,
"affiliations": [
"Aolep\u0101n Aor\u014dkin M\u0327aje\u013c",
"MH"
@@ -8178,7 +8178,7 @@
},
{
"id": "Mauritania",
- "s": 5881124,
+ "s": 5886818,
"affiliations": [
"\u0646\u0648\u0627\u0643\u0634\u0648\u0637",
"Mauritanie \u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627",
@@ -8200,7 +8200,7 @@
},
{
"id": "Mauritius",
- "s": 3887134,
+ "s": 3922714,
"affiliations": [
"Black River",
"Mauritius",
@@ -8238,7 +8238,7 @@
"g": [
{
"id": "Mexico_California",
- "s": 8725889,
+ "s": 8511918,
"affiliations": [
"Baja California",
"Baja California Sur",
@@ -8254,7 +8254,7 @@
},
{
"id": "Mexico_Central_East",
- "s": 15966136,
+ "s": 16022885,
"affiliations": [
"Coahuila de Zaragoza",
"Estados Unidos Mexicanos",
@@ -8268,7 +8268,7 @@
},
{
"id": "Mexico_Central_West",
- "s": 26710636,
+ "s": 26818155,
"affiliations": [
"Aguascalientes",
"Colima",
@@ -8285,7 +8285,7 @@
},
{
"id": "Mexico_East",
- "s": 24141855,
+ "s": 24484309,
"affiliations": [
"Campeche",
"Chiapas",
@@ -8303,7 +8303,7 @@
},
{
"id": "Mexico_Mexico",
- "s": 36885517,
+ "s": 37165243,
"affiliations": [
"Distrito Federal",
"Estados Unidos Mexicanos",
@@ -8320,7 +8320,7 @@
},
{
"id": "Mexico_Chihuahua",
- "s": 12195899,
+ "s": 12220159,
"affiliations": [
"Chihuahua",
"Coahuila de Zaragoza",
@@ -8335,7 +8335,7 @@
},
{
"id": "Mexico_Sonora",
- "s": 11940464,
+ "s": 11928963,
"affiliations": [
"Chihuahua",
"Durango",
@@ -8349,7 +8349,7 @@
},
{
"id": "Mexico_South",
- "s": 29909729,
+ "s": 30203982,
"affiliations": [
"Estados Unidos Mexicanos",
"Guerrero",
@@ -8367,7 +8367,7 @@
},
{
"id": "Moldova",
- "s": 24076377,
+ "s": 24223045,
"affiliations": [
"G\u0103g\u0103uzia - Gagauz Yeri - \u0413\u0430\u0433\u0430\u0443\u0437\u0438\u044f",
"Moldova",
@@ -8379,7 +8379,7 @@
},
{
"id": "Monaco",
- "s": 239680,
+ "s": 240152,
"affiliations": [
"France",
"Monaco"
@@ -8390,7 +8390,7 @@
},
{
"id": "Mongolia",
- "s": 16400284,
+ "s": 16520218,
"affiliations": [
"Border Darkhan-Uul - Selenge",
"\u0423\u0432\u0441 \u0430\u0439\u043c\u0430\u0433",
@@ -8425,7 +8425,7 @@
},
{
"id": "Montenegro",
- "s": 16514218,
+ "s": 16531492,
"affiliations": [
"Crna Gora"
],
@@ -8438,7 +8438,7 @@
"g": [
{
"id": "Morocco_Western Sahara",
- "s": 5423455,
+ "s": 5480246,
"affiliations": [
"Dakhla-Oued Ed-Dahab \u2d37\u2d30\u2d45\u2d4d\u2d30-\u2d61\u2d30\u2d37 \u2d37\u2d30\u2d40\u2d30\u2d31 \u0627\u0644\u062f\u0627\u062e\u0644\u0629-\u0648\u0627\u062f\u064a \u0627\u0644\u0630\u0647\u0628",
"Guelmim-Oued Noun \u2d33\u2d4d\u2d4e\u2d49\u2d4e-\u2d61\u2d30\u2d37 \u2d4f\u2d53\u2d4f \u06af\u0644\u0645\u064a\u0645 - \u0648\u0627\u062f \u0646\u0648\u0646",
@@ -8453,7 +8453,7 @@
},
{
"id": "Morocco_Southern",
- "s": 28147402,
+ "s": 28311187,
"affiliations": [
"B\u00e9ni Mellal-Kh\u00e9nifra \u2d30\u2d62\u2d5c \u2d4e\u2d4d\u2d4d\u2d30\u2d4d-\u2d45\u2d4f\u2d49\u2d3c\u2d55\u2d30 \u0628\u0646\u064a \u0645\u0644\u0627\u0644-\u062e\u0646\u064a\u0641\u0631\u0629",
"Dr\u00e2a-Tafilalet \u2d37\u2d30\u2d54\u2d44\u2d30-\u2d5c\u2d30\u2d3c\u2d49\u2d4d\u2d30\u2d4d\u2d5c \u062f\u0631\u0639\u0629-\u062a\u0627\u0641\u064a\u0644\u0627\u0644\u062a",
@@ -8469,7 +8469,7 @@
},
{
"id": "Morocco_Doukkala-Abda",
- "s": 17000968,
+ "s": 17024457,
"affiliations": [
"B\u00e9ni Mellal-Kh\u00e9nifra \u2d30\u2d62\u2d5c \u2d4e\u2d4d\u2d4d\u2d30\u2d4d-\u2d45\u2d4f\u2d49\u2d3c\u2d55\u2d30 \u0628\u0646\u064a \u0645\u0644\u0627\u0644-\u062e\u0646\u064a\u0641\u0631\u0629",
"Casablanca-Settat \u2d5c\u2d49\u2d33\u2d4e\u2d49 \u2d5c\u2d53\u2d4e\u2d4d\u2d49\u2d4d\u2d5c-\u2d59\u2d5f\u2d5f\u2d30\u2d5c \u0627\u0644\u062f\u0627\u0631 \u0627\u0644\u0628\u064a\u0636\u0627\u0621-\u0633\u0637\u0627\u062a",
@@ -8482,7 +8482,7 @@
},
{
"id": "Morocco_Rabat-Sale-Zemmour-Zaer",
- "s": 13537160,
+ "s": 13604453,
"affiliations": [
"F\u00e8s-Mekn\u00e8s \u2d3c\u2d30\u2d59-\u2d4e\u2d3d\u2d4f\u2d30\u2d59 \u0641\u0627\u0633-\u0645\u0643\u0646\u0627\u0633",
"Maroc \u2d4d\u2d4e\u2d56\u2d54\u2d49\u2d31 \u0627\u0644\u0645\u063a\u0631\u0628",
@@ -8498,7 +8498,7 @@
},
{
"id": "Mozambique",
- "s": 80815452,
+ "s": 80999962,
"affiliations": [
"Cabo Delgado",
"Gaza",
@@ -8518,7 +8518,7 @@
},
{
"id": "Myanmar",
- "s": 44159882,
+ "s": 44801856,
"affiliations": [
"Ayeyarwady",
"Bago Region",
@@ -8543,7 +8543,7 @@
},
{
"id": "Namibia",
- "s": 14390166,
+ "s": 14462134,
"affiliations": [
"Arandis",
"Aranos7",
@@ -8575,7 +8575,7 @@
},
{
"id": "Nauru",
- "s": 277555,
+ "s": 277779,
"affiliations": [
"Naoero"
],
@@ -8588,7 +8588,7 @@
"g": [
{
"id": "Nepal_West",
- "s": 58860591,
+ "s": 60332685,
"affiliations": [
"\u092e\u0927\u094d\u092f-\u092a\u0936\u094d\u091a\u093f\u092e\u093e\u091e\u094d\u091a\u0932 \u0935\u093f\u0915\u093e\u0938 \u0915\u094d\u0937\u0947\u0924\u094d\u0930",
"\u0928\u0947\u092a\u093e\u0932",
@@ -8601,7 +8601,7 @@
},
{
"id": "Nepal_Kathmandu",
- "s": 27443496,
+ "s": 27548781,
"affiliations": [
"\u092e\u0927\u094d\u092f\u092e\u093e\u091e\u094d\u091a\u0932 \u0935\u093f\u0915\u093e\u0938 \u0915\u094d\u0937\u0947\u0924\u094d\u0930",
"\u0928\u0947\u092a\u093e\u0932"
@@ -8612,7 +8612,7 @@
},
{
"id": "Nepal_Madhyamanchal",
- "s": 25345111,
+ "s": 26151357,
"affiliations": [
"\u092e\u0927\u094d\u092f\u092e\u093e\u091e\u094d\u091a\u0932 \u0935\u093f\u0915\u093e\u0938 \u0915\u094d\u0937\u0947\u0924\u094d\u0930",
"\u0928\u0947\u092a\u093e\u0932"
@@ -8623,7 +8623,7 @@
},
{
"id": "Nepal_Purwanchal",
- "s": 44697223,
+ "s": 46128680,
"affiliations": [
"\u092a\u0941\u0930\u094d\u0935\u093e\u091e\u094d\u091a\u0932 \u0935\u093f\u0915\u093e\u0938 \u0915\u094d\u0937\u0947\u0924\u094d\u0930",
"\u0928\u0947\u092a\u093e\u0932"
@@ -8636,7 +8636,7 @@
},
{
"id": "Nicaragua",
- "s": 12780066,
+ "s": 12822935,
"affiliations": [
"Boaco",
"Carazo",
@@ -8664,7 +8664,7 @@
},
{
"id": "Niger",
- "s": 15663266,
+ "s": 15914741,
"affiliations": [
"Agadez",
"Dosso",
@@ -8685,7 +8685,7 @@
"g": [
{
"id": "Nigeria_South",
- "s": 38458951,
+ "s": 39255141,
"affiliations": [
"Abia",
"Adamawa",
@@ -8723,7 +8723,7 @@
},
{
"id": "Nigeria_North",
- "s": 31728484,
+ "s": 32241503,
"affiliations": [
"Bauchi",
"Borno",
@@ -8746,7 +8746,7 @@
},
{
"id": "Niue",
- "s": 195779,
+ "s": 196155,
"affiliations": [
"Niu\u0113"
],
@@ -8756,7 +8756,7 @@
},
{
"id": "North Korea",
- "s": 16670363,
+ "s": 16977910,
"affiliations": [
"\uac15\uc6d0\ub3c4",
"\ub7c9\uac15\ub3c4",
@@ -8780,7 +8780,7 @@
"g": [
{
"id": "Norway_Northern",
- "s": 68568845,
+ "s": 68571453,
"affiliations": [
"Finnmark",
"Norge",
@@ -8792,7 +8792,7 @@
},
{
"id": "Norway_Hordaland",
- "s": 45561616,
+ "s": 45553025,
"affiliations": [
"Hordaland",
"Norge"
@@ -8803,7 +8803,7 @@
},
{
"id": "Norway_Nordland",
- "s": 31632615,
+ "s": 31693148,
"affiliations": [
"Nordland",
"Norge",
@@ -8815,7 +8815,7 @@
},
{
"id": "Norway_Svalbard",
- "s": 1396550,
+ "s": 1396718,
"affiliations": [
"Norge",
"Svalbard"
@@ -8826,7 +8826,7 @@
},
{
"id": "Norway_Oppland",
- "s": 39822878,
+ "s": 39839173,
"affiliations": [
"Norge",
"Oppland"
@@ -8837,7 +8837,7 @@
},
{
"id": "Norway_Rogaland",
- "s": 22354148,
+ "s": 22355769,
"affiliations": [
"Norge",
"Rogaland"
@@ -8848,7 +8848,7 @@
},
{
"id": "Norway_Hedmark",
- "s": 39338850,
+ "s": 39350819,
"affiliations": [
"Hedmark",
"Norge"
@@ -8859,7 +8859,7 @@
},
{
"id": "Norway_Jan Mayen",
- "s": 205171,
+ "s": 207435,
"affiliations": [
"Jan Mayen",
"Norge"
@@ -8867,7 +8867,7 @@
},
{
"id": "Norway_North Trondelag",
- "s": 48731609,
+ "s": 48745927,
"affiliations": [
"Nord-Tr\u00f8ndelag",
"Norge",
@@ -8879,7 +8879,7 @@
},
{
"id": "Norway_South Trondelag",
- "s": 53702972,
+ "s": 53719860,
"affiliations": [
"Norge",
"S\u00f8r-Tr\u00f8ndelag"
@@ -8890,7 +8890,7 @@
},
{
"id": "Norway_Southern",
- "s": 68455566,
+ "s": 69099813,
"affiliations": [
"Aust-Agder",
"\u00d8stfold",
@@ -8905,7 +8905,7 @@
},
{
"id": "Norway_Western",
- "s": 60134895,
+ "s": 60141468,
"affiliations": [
"M\u00f8re og Romsdal",
"Norge",
@@ -8917,7 +8917,7 @@
},
{
"id": "Norway_Central",
- "s": 59242729,
+ "s": 59351859,
"affiliations": [
"Akershus",
"Buskerud",
@@ -8930,7 +8930,7 @@
},
{
"id": "Norway_Bouvet Island",
- "s": 20676,
+ "s": 20876,
"affiliations": [
"Bouvet\u00f8ya",
"Norge"
@@ -8943,7 +8943,7 @@
},
{
"id": "Oman",
- "s": 10949935,
+ "s": 10975423,
"affiliations": [
"\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u0629",
"\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629",
@@ -8963,7 +8963,7 @@
},
{
"id": "Pakistan",
- "s": 34547185,
+ "s": 34975601,
"affiliations": [
"\u0633\u0646\u068c",
"\u0622\u0632\u0627\u062f \u062c\u0645\u0648\u06ba \u0648 \u06a9\u0634\u0645\u06cc\u0631",
@@ -8981,7 +8981,7 @@
},
{
"id": "Palau",
- "s": 449902,
+ "s": 450040,
"affiliations": [
"Belau",
"PW"
@@ -8992,7 +8992,7 @@
},
{
"id": "Panama",
- "s": 9097256,
+ "s": 9117125,
"affiliations": [
"Bocas del Toro",
"Chiriqu\u00ed",
@@ -9019,7 +9019,7 @@
},
{
"id": "Papua New Guinea",
- "s": 6921140,
+ "s": 7068488,
"affiliations": [
"Border Central-NCD",
"Bougainville",
@@ -9052,7 +9052,7 @@
},
{
"id": "Paraguay",
- "s": 24148590,
+ "s": 24306647,
"affiliations": [
"Alto Paraguay",
"Alto Paran\u00e1",
@@ -9085,7 +9085,7 @@
"g": [
{
"id": "China_Anhui",
- "s": 12108546,
+ "s": 12246324,
"affiliations": [
"\u4e2d\u56fd",
"\u5b89\u5fbd\u7701"
@@ -9096,7 +9096,7 @@
},
{
"id": "China_Chongqing",
- "s": 7476704,
+ "s": 7581550,
"affiliations": [
"\u91cd\u5e86\u5e02",
"\u4e2d\u56fd"
@@ -9107,7 +9107,7 @@
},
{
"id": "China_Fujian",
- "s": 10210027,
+ "s": 10257649,
"affiliations": [
"\u4e2d\u56fd",
"\u798f\u5efa\u7701"
@@ -9118,7 +9118,7 @@
},
{
"id": "China_Gansu",
- "s": 15073793,
+ "s": 15238839,
"affiliations": [
"\u4e2d\u56fd",
"\u7518\u8083\u7701"
@@ -9129,7 +9129,7 @@
},
{
"id": "China_Guangdong",
- "s": 54771568,
+ "s": 55235782,
"affiliations": [
"\u4e2d\u56fd",
"\u5e7f\u4e1c\u7701",
@@ -9141,7 +9141,7 @@
},
{
"id": "China_Guangxi",
- "s": 11792569,
+ "s": 11965329,
"affiliations": [
"\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a",
"\u4e2d\u56fd"
@@ -9152,7 +9152,7 @@
},
{
"id": "China_Guizhou",
- "s": 7451834,
+ "s": 7570851,
"affiliations": [
"\u8d35\u5dde\u7701",
"\u4e2d\u56fd"
@@ -9163,7 +9163,7 @@
},
{
"id": "China_Hebei",
- "s": 24358164,
+ "s": 24582111,
"affiliations": [
"\u4e2d\u56fd",
"\u5317\u4eac\u5e02",
@@ -9176,7 +9176,7 @@
},
{
"id": "China_Heilongjiang",
- "s": 7788329,
+ "s": 7791615,
"affiliations": [
"\u4e2d\u56fd",
"\u9ed1\u9f99\u6c5f\u7701"
@@ -9187,7 +9187,7 @@
},
{
"id": "China_Henan",
- "s": 9002495,
+ "s": 9292526,
"affiliations": [
"\u4e2d\u56fd",
"\u6cb3\u5357\u7701"
@@ -9198,7 +9198,7 @@
},
{
"id": "China_Hubei",
- "s": 10031496,
+ "s": 10126961,
"affiliations": [
"Border Henan - Hubei",
"\u4e2d\u56fd",
@@ -9210,7 +9210,7 @@
},
{
"id": "China_Hunan",
- "s": 11578987,
+ "s": 11673360,
"affiliations": [
"\u4e2d\u56fd",
"\u6e56\u5357\u7701"
@@ -9221,7 +9221,7 @@
},
{
"id": "China_Inner Mongolia",
- "s": 11476311,
+ "s": 11681957,
"affiliations": [
"\u4e2d\u56fd",
"\u5185\u8499\u53e4\u81ea\u6cbb\u533a / Inner Mongolia"
@@ -9232,7 +9232,7 @@
},
{
"id": "China_Jiangsu",
- "s": 27311270,
+ "s": 27644767,
"affiliations": [
"\u4e2d\u56fd",
"\u6c5f\u82cf\u7701",
@@ -9244,7 +9244,7 @@
},
{
"id": "China_Jiangxi",
- "s": 13042572,
+ "s": 13504620,
"affiliations": [
"\u4e2d\u56fd",
"\u6c5f\u897f\u7701"
@@ -9255,7 +9255,7 @@
},
{
"id": "China_Jilin",
- "s": 7585989,
+ "s": 7612652,
"affiliations": [
"\u4e2d\u56fd",
"\u5409\u6797\u7701"
@@ -9266,7 +9266,7 @@
},
{
"id": "China_Liaoning",
- "s": 9438469,
+ "s": 9494424,
"affiliations": [
"\u8fbd\u5b81\u7701",
"\u4e2d\u56fd"
@@ -9277,7 +9277,7 @@
},
{
"id": "China_Ningxia Hui",
- "s": 2656105,
+ "s": 2673282,
"affiliations": [
"\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a",
"\u4e2d\u56fd"
@@ -9288,7 +9288,7 @@
},
{
"id": "China_Qinghai",
- "s": 7114732,
+ "s": 7231248,
"affiliations": [
"\u9752\u6d77\u7701",
"\u4e2d\u56fd"
@@ -9299,7 +9299,7 @@
},
{
"id": "China_Shaanxi",
- "s": 10634641,
+ "s": 10852811,
"affiliations": [
"\u9655\u897f\u7701",
"\u4e2d\u56fd"
@@ -9310,7 +9310,7 @@
},
{
"id": "China_Shandong",
- "s": 16114986,
+ "s": 16491019,
"affiliations": [
"\u4e2d\u56fd",
"\u5c71\u4e1c\u7701"
@@ -9321,7 +9321,7 @@
},
{
"id": "China_Shanghai",
- "s": 9740970,
+ "s": 9771825,
"affiliations": [
"\u4e2d\u56fd",
"\u4e0a\u6d77\u5e02",
@@ -9333,7 +9333,7 @@
},
{
"id": "China_Shanxi",
- "s": 6170345,
+ "s": 6445404,
"affiliations": [
"\u4e2d\u56fd",
"\u5c71\u897f\u7701"
@@ -9344,7 +9344,7 @@
},
{
"id": "China_Sichuan",
- "s": 25640459,
+ "s": 25678869,
"affiliations": [
"\u4e2d\u56fd",
"\u56db\u5ddd\u7701"
@@ -9355,7 +9355,7 @@
},
{
"id": "China_Tibet Autonomous Region",
- "s": 13861769,
+ "s": 13877347,
"affiliations": [
"\u4e2d\u56fd",
"\u897f\u85cf\u81ea\u6cbb\u533a (\u0f56\u0f7c\u0f51\u0f0b\u0f62\u0f44\u0f0b\u0f66\u0f90\u0fb1\u0f7c\u0f44\u0f0b\u0f63\u0f97\u0f7c\u0f44\u0f66\u0f0b)"
@@ -9366,7 +9366,7 @@
},
{
"id": "China_Xinjiang",
- "s": 14324046,
+ "s": 14638616,
"affiliations": [
"\u4e2d\u56fd",
"\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a"
@@ -9377,7 +9377,7 @@
},
{
"id": "China_Yunnan",
- "s": 17275862,
+ "s": 17401532,
"affiliations": [
"\u4e2d\u56fd",
"\u4e91\u5357\u7701"
@@ -9388,7 +9388,7 @@
},
{
"id": "China_Zhejiang",
- "s": 19825160,
+ "s": 20321910,
"affiliations": [
"\u4e2d\u56fd",
"\u6d59\u6c5f\u7701"
@@ -9404,7 +9404,7 @@
"g": [
{
"id": "Taiwan_North",
- "s": 32377187,
+ "s": 32531926,
"affiliations": [
"\u4e2d\u56fd",
"\u65b0\u5317\u5e02",
@@ -9421,7 +9421,7 @@
},
{
"id": "Taiwan_South",
- "s": 25829329,
+ "s": 25961087,
"affiliations": [
"\u9ad8\u96c4\u5e02",
"\u53f0\u5357\u5e02",
@@ -9439,7 +9439,7 @@
"g": [
{
"id": "Peru_North",
- "s": 23433345,
+ "s": 24292669,
"affiliations": [
"Amazonas",
"Ancash",
@@ -9461,7 +9461,7 @@
},
{
"id": "Peru_Lima",
- "s": 20807622,
+ "s": 20872940,
"affiliations": [
"Callao",
"Huancavelica",
@@ -9476,7 +9476,7 @@
},
{
"id": "Peru_South",
- "s": 21892215,
+ "s": 22062949,
"affiliations": [
"Apur\u00edmac",
"Arequipa",
@@ -9499,7 +9499,7 @@
"g": [
{
"id": "Philippines_Mindanao",
- "s": 30182307,
+ "s": 30333034,
"affiliations": [
"Agusan Del Sur",
"Agusan del Norte",
@@ -9540,7 +9540,7 @@
},
{
"id": "Philippines_Visayas",
- "s": 46761853,
+ "s": 46898600,
"affiliations": [
"Aklan",
"Bohol",
@@ -9571,7 +9571,7 @@
},
{
"id": "Philippines_Luzon_South",
- "s": 7249521,
+ "s": 7304200,
"affiliations": [
"Antique",
"Ban Than (Zhongzhou) Reef",
@@ -9594,7 +9594,7 @@
},
{
"id": "Philippines_Luzon_Manila",
- "s": 80702884,
+ "s": 80879618,
"affiliations": [
"Catanduanes",
"Cavite",
@@ -9616,7 +9616,7 @@
},
{
"id": "Philippines_Luzon_North",
- "s": 48319230,
+ "s": 48405195,
"affiliations": [
"Abra",
"Cavite",
@@ -9654,7 +9654,7 @@
},
{
"id": "Pitcairn Islands",
- "s": 58928,
+ "s": 59128,
"affiliations": [
"Pitcairn Islands"
],
@@ -9667,7 +9667,7 @@
"g": [
{
"id": "Poland_West Pomeranian Voivodeship",
- "s": 52157877,
+ "s": 52359449,
"affiliations": [
"Polska",
"Territorial waters of Bornholm",
@@ -9679,7 +9679,7 @@
},
{
"id": "Poland_Pomeranian Voivodeship",
- "s": 55123770,
+ "s": 55100252,
"affiliations": [
"Polska",
"Territorial waters of Bornholm",
@@ -9691,7 +9691,7 @@
},
{
"id": "Poland_Podlaskie Voivodeship",
- "s": 37976158,
+ "s": 38438069,
"affiliations": [
"Polska",
"wojew\u00f3dztwo podlaskie"
@@ -9702,7 +9702,7 @@
},
{
"id": "Poland_Masovian Voivodeship",
- "s": 117271323,
+ "s": 117398928,
"affiliations": [
"Polska",
"wojew\u00f3dztwo mazowieckie"
@@ -9713,7 +9713,7 @@
},
{
"id": "Poland_Lubusz Voivodeship",
- "s": 32590808,
+ "s": 32739237,
"affiliations": [
"Polska",
"wojew\u00f3dztwo lubuskie"
@@ -9724,7 +9724,7 @@
},
{
"id": "Poland_Lublin Voivodeship",
- "s": 68382820,
+ "s": 68488083,
"affiliations": [
"Polska",
"wojew\u00f3dztwo lubelskie"
@@ -9735,7 +9735,7 @@
},
{
"id": "Poland_Lower Silesian Voivodeship",
- "s": 85087356,
+ "s": 85218067,
"affiliations": [
"Polska",
"wojew\u00f3dztwo dolno\u015bl\u0105skie"
@@ -9746,7 +9746,7 @@
},
{
"id": "Poland_Warmian-Masurian Voivodeship",
- "s": 42715695,
+ "s": 42925427,
"affiliations": [
"Polska",
"wojew\u00f3dztwo warmi\u0144sko-mazurskie"
@@ -9757,7 +9757,7 @@
},
{
"id": "Poland_Lodz Voivodeship",
- "s": 62579751,
+ "s": 62738988,
"affiliations": [
"Polska",
"wojew\u00f3dztwo \u0142\u00f3dzkie"
@@ -9768,7 +9768,7 @@
},
{
"id": "Poland_Subcarpathian Voivodeship",
- "s": 76265753,
+ "s": 76703800,
"affiliations": [
"Polska",
"wojew\u00f3dztwo podkarpackie"
@@ -9779,7 +9779,7 @@
},
{
"id": "Poland_Lesser Poland Voivodeship",
- "s": 88511562,
+ "s": 88639595,
"affiliations": [
"Polska",
"wojew\u00f3dztwo ma\u0142opolskie"
@@ -9790,7 +9790,7 @@
},
{
"id": "Poland_Silesian Voivodeship",
- "s": 97484909,
+ "s": 97585954,
"affiliations": [
"Polska",
"wojew\u00f3dztwo \u015bl\u0105skie"
@@ -9801,7 +9801,7 @@
},
{
"id": "Poland_Kuyavian-Pomeranian Voivodeship",
- "s": 45666543,
+ "s": 45813654,
"affiliations": [
"Polska",
"wojew\u00f3dztwo kujawsko-pomorskie"
@@ -9812,7 +9812,7 @@
},
{
"id": "Poland_Greater Poland Voivodeship",
- "s": 77622599,
+ "s": 78393342,
"affiliations": [
"Polska",
"wojew\u00f3dztwo wielkopolskie"
@@ -9823,7 +9823,7 @@
},
{
"id": "Poland_Opole Voivodeship",
- "s": 31643062,
+ "s": 31746341,
"affiliations": [
"Polska",
"wojew\u00f3dztwo opolskie"
@@ -9834,7 +9834,7 @@
},
{
"id": "Poland_Swietokrzyskie Voivodeship",
- "s": 44462731,
+ "s": 44449929,
"affiliations": [
"Polska",
"wojew\u00f3dztwo \u015bwi\u0119tokrzyskie"
@@ -9850,7 +9850,7 @@
"g": [
{
"id": "Portugal_Porto",
- "s": 39620373,
+ "s": 39671061,
"affiliations": [
"Centro",
"Norte",
@@ -9862,7 +9862,7 @@
},
{
"id": "Portugal_South",
- "s": 45406972,
+ "s": 45293472,
"affiliations": [
"Centro",
"Alentejo",
@@ -9876,7 +9876,7 @@
},
{
"id": "Portugal_Islands",
- "s": 9875497,
+ "s": 10022862,
"affiliations": [
"Ilh\u00e9u dos Rosais",
"Ilh\u00e9us dos Rosais",
@@ -9918,7 +9918,7 @@
},
{
"id": "Portugal_Viseu",
- "s": 33966101,
+ "s": 34299238,
"affiliations": [
"Centro",
"Norte",
@@ -9932,7 +9932,7 @@
},
{
"id": "Qatar",
- "s": 5260036,
+ "s": 5317860,
"affiliations": [
"Ad Dawhah",
"Al Ghuwariyah",
@@ -9952,7 +9952,7 @@
},
{
"id": "Republic of Kosovo",
- "s": 9031242,
+ "s": 9044862,
"affiliations": [
"Republika e Kosov\u00ebs"
],
@@ -9965,7 +9965,7 @@
"g": [
{
"id": "Romania_South_East",
- "s": 17443434,
+ "s": 17403804,
"affiliations": [
"Br\u0103ila",
"Buz\u0103u",
@@ -9981,7 +9981,7 @@
},
{
"id": "Romania_Centre",
- "s": 38007541,
+ "s": 38077559,
"affiliations": [
"Alba",
"Bra\u0219ov",
@@ -9997,7 +9997,7 @@
},
{
"id": "Romania_West",
- "s": 25438352,
+ "s": 25471740,
"affiliations": [
"Arad",
"Cara\u0219 Severin",
@@ -10011,7 +10011,7 @@
},
{
"id": "Romania_North_West",
- "s": 36150811,
+ "s": 36256257,
"affiliations": [
"Bihor",
"Bistri\u021ba-N\u0103s\u0103ud",
@@ -10027,7 +10027,7 @@
},
{
"id": "Romania_South_West",
- "s": 19153127,
+ "s": 19209341,
"affiliations": [
"Dolj",
"Gorj",
@@ -10042,7 +10042,7 @@
},
{
"id": "Romania_North_East",
- "s": 26729255,
+ "s": 26769747,
"affiliations": [
"Bac\u0103u",
"Boto\u0219ani",
@@ -10058,7 +10058,7 @@
},
{
"id": "Romania_South",
- "s": 29737184,
+ "s": 29793129,
"affiliations": [
"Arge\u0219",
"Bucure\u0219ti",
@@ -10083,7 +10083,7 @@
"g": [
{
"id": "Crimea",
- "s": 23367091,
+ "s": 23411549,
"affiliations": [
"\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0430 \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430 \u041a\u0440\u0438\u043c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10098,7 +10098,7 @@
},
{
"id": "Russia_Altai Krai",
- "s": 36535544,
+ "s": 36647360,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10110,7 +10110,7 @@
},
{
"id": "Russia_Altai Republic",
- "s": 8777783,
+ "s": 8802971,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10122,7 +10122,7 @@
},
{
"id": "Russia_Amur Oblast",
- "s": 6725815,
+ "s": 6746719,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10134,7 +10134,7 @@
},
{
"id": "Russia_Arkhangelsk Oblast_Central",
- "s": 51450578,
+ "s": 51470855,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10146,7 +10146,7 @@
},
{
"id": "Russia_Arkhangelsk Oblast_North",
- "s": 22300362,
+ "s": 22329354,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10160,7 +10160,7 @@
},
{
"id": "Russia_Astrakhan Oblast",
- "s": 7192346,
+ "s": 7193694,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10172,7 +10172,7 @@
},
{
"id": "Russia_Bashkortostan",
- "s": 30663924,
+ "s": 30795231,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10184,7 +10184,7 @@
},
{
"id": "Russia_Belgorod Oblast",
- "s": 18524707,
+ "s": 18606418,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10196,7 +10196,7 @@
},
{
"id": "Russia_Bryansk Oblast",
- "s": 12818364,
+ "s": 12854161,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10208,7 +10208,7 @@
},
{
"id": "Russia_Buryatia",
- "s": 10100064,
+ "s": 10172747,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10220,7 +10220,7 @@
},
{
"id": "Russia_Chechen Republic",
- "s": 6016775,
+ "s": 6124146,
"affiliations": [
"\u0427\u0435\u0447\u0435\u043d\u0441\u043a\u0430\u044f \u0440\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10232,7 +10232,7 @@
},
{
"id": "Russia_Chelyabinsk Oblast",
- "s": 38140450,
+ "s": 38378498,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10244,7 +10244,7 @@
},
{
"id": "Russia_Chukotka Autonomous Okrug",
- "s": 8203841,
+ "s": 8161721,
"affiliations": [
"\u0427\u0443\u043a\u043e\u0442\u0441\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10256,7 +10256,7 @@
},
{
"id": "Russia_Chuvashia",
- "s": 9530879,
+ "s": 9578898,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10268,7 +10268,7 @@
},
{
"id": "Russia_Ingushetia",
- "s": 1334072,
+ "s": 1375918,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10280,7 +10280,7 @@
},
{
"id": "Russia_Irkutsk Oblast",
- "s": 26341391,
+ "s": 26740241,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10292,7 +10292,7 @@
},
{
"id": "Russia_Ivanovo Oblast",
- "s": 12255732,
+ "s": 12297095,
"affiliations": [
"\u0418\u0432\u0430\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10304,7 +10304,7 @@
},
{
"id": "Russia_Jewish Autonomous Oblast",
- "s": 4139209,
+ "s": 4140475,
"affiliations": [
"\u0415\u0432\u0440\u0435\u0439\u0441\u043a\u0430\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10316,7 +10316,7 @@
},
{
"id": "Russia_Kabardino-Balkaria",
- "s": 4313570,
+ "s": 4330564,
"affiliations": [
"\u041a\u0430\u0431\u0430\u0440\u0434\u0438\u043d\u043e-\u0411\u0430\u043b\u043a\u0430\u0440\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10328,7 +10328,7 @@
},
{
"id": "Russia_Kaliningrad Oblast",
- "s": 8398763,
+ "s": 8454808,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10340,7 +10340,7 @@
},
{
"id": "Russia_Kaluga Oblast",
- "s": 20142788,
+ "s": 20159639,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10352,7 +10352,7 @@
},
{
"id": "Russia_Kamchatka Krai",
- "s": 12203710,
+ "s": 12816607,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10364,7 +10364,7 @@
},
{
"id": "Russia_Karachay-Cherkessia",
- "s": 11115389,
+ "s": 11177188,
"affiliations": [
"\u041a\u0430\u0440\u0430\u0447\u0430\u0435\u0432\u043e-\u0427\u0435\u0440\u043a\u0435\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10376,7 +10376,7 @@
},
{
"id": "Russia_Kemerov Oblast",
- "s": 15429034,
+ "s": 15597460,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10388,7 +10388,7 @@
},
{
"id": "Russia_Khabarovsk Krai",
- "s": 42584625,
+ "s": 42634430,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10400,7 +10400,7 @@
},
{
"id": "Russia_Khakassia",
- "s": 5059517,
+ "s": 5069282,
"affiliations": [
"\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0425\u0430\u043a\u0430\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10412,7 +10412,7 @@
},
{
"id": "Russia_Kirov Oblast",
- "s": 53507142,
+ "s": 53608901,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10424,7 +10424,7 @@
},
{
"id": "Russia_Komi Republic",
- "s": 23358425,
+ "s": 23427151,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10436,7 +10436,7 @@
},
{
"id": "Russia_Kostroma Oblast",
- "s": 10651830,
+ "s": 10672725,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10448,7 +10448,7 @@
},
{
"id": "Russia_Krasnodar Krai",
- "s": 46350005,
+ "s": 46300890,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10460,7 +10460,7 @@
},
{
"id": "Russia_Krasnodar Krai_Adygeya",
- "s": 38909432,
+ "s": 38799510,
"affiliations": [
"\u0410\u0434\u044b\u0433\u0435\u044f",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10473,7 +10473,7 @@
},
{
"id": "Russia_Krasnoyarsk Krai_North",
- "s": 26746726,
+ "s": 26786895,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10485,7 +10485,7 @@
},
{
"id": "Russia_Krasnoyarsk Krai_South",
- "s": 29964253,
+ "s": 30006293,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10497,7 +10497,7 @@
},
{
"id": "Russia_Kurgan Oblast",
- "s": 8925141,
+ "s": 9003519,
"affiliations": [
"\u041a\u0443\u0440\u0433\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10509,7 +10509,7 @@
},
{
"id": "Russia_Kursk Oblast",
- "s": 33118036,
+ "s": 33233745,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10521,7 +10521,7 @@
},
{
"id": "Russia_Leningradskaya Oblast_Karelsky",
- "s": 24899113,
+ "s": 24913979,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10533,7 +10533,7 @@
},
{
"id": "Russia_Leningradskaya Oblast_Southeast",
- "s": 43216484,
+ "s": 43453381,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10545,7 +10545,7 @@
},
{
"id": "Russia_Lipetsk Oblast",
- "s": 20084341,
+ "s": 20091783,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10557,7 +10557,7 @@
},
{
"id": "Russia_Magadan Oblast",
- "s": 3886389,
+ "s": 3891982,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10569,7 +10569,7 @@
},
{
"id": "Russia_Mari El",
- "s": 15071510,
+ "s": 15042741,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10581,7 +10581,7 @@
},
{
"id": "Russia_Moscow Oblast_East",
- "s": 53065224,
+ "s": 53091321,
"affiliations": [
"\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10593,7 +10593,7 @@
},
{
"id": "Russia_Moscow Oblast_West",
- "s": 27251828,
+ "s": 27428205,
"affiliations": [
"\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10606,7 +10606,7 @@
},
{
"id": "Russia_Moscow",
- "s": 37627792,
+ "s": 37471399,
"affiliations": [
"\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10619,7 +10619,7 @@
},
{
"id": "Russia_Murmansk Oblast",
- "s": 34113566,
+ "s": 34185721,
"affiliations": [
"\u041c\u0443\u0440\u043c\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10631,7 +10631,7 @@
},
{
"id": "Russia_Nenets Autonomous Okrug",
- "s": 14406957,
+ "s": 14407959,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10643,7 +10643,7 @@
},
{
"id": "Russia_Nizhny Novgorod Oblast",
- "s": 36888680,
+ "s": 37746261,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10655,7 +10655,7 @@
},
{
"id": "Russia_North Ossetia-Alania",
- "s": 3783307,
+ "s": 3792576,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10667,7 +10667,7 @@
},
{
"id": "Russia_Novgorod Oblast",
- "s": 14212290,
+ "s": 14248199,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10679,7 +10679,7 @@
},
{
"id": "Russia_Novosibirsk Oblast",
- "s": 40083774,
+ "s": 40147542,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10691,7 +10691,7 @@
},
{
"id": "Russia_Omsk Oblast",
- "s": 30169020,
+ "s": 30344075,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10703,7 +10703,7 @@
},
{
"id": "Russia_Orenburg Oblast",
- "s": 21417208,
+ "s": 21578253,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10715,7 +10715,7 @@
},
{
"id": "Russia_Oryol Oblast",
- "s": 7466686,
+ "s": 7502677,
"affiliations": [
"\u041e\u0440\u043b\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10727,7 +10727,7 @@
},
{
"id": "Russia_Penza Oblast",
- "s": 15901272,
+ "s": 16065352,
"affiliations": [
"\u041f\u0435\u043d\u0437\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10739,7 +10739,7 @@
},
{
"id": "Russia_Perm Krai_North",
- "s": 22061800,
+ "s": 22079414,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10751,7 +10751,7 @@
},
{
"id": "Russia_Perm Krai_South",
- "s": 31435835,
+ "s": 31447305,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10763,7 +10763,7 @@
},
{
"id": "Russia_Primorsky Krai",
- "s": 28761942,
+ "s": 28943441,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10775,7 +10775,7 @@
},
{
"id": "Russia_Pskov Oblast",
- "s": 26126941,
+ "s": 26376935,
"affiliations": [
"\u041f\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10787,7 +10787,7 @@
},
{
"id": "Russia_Republic of Dagestan",
- "s": 10174232,
+ "s": 10263920,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10799,7 +10799,7 @@
},
{
"id": "Russia_Republic of Kalmykia",
- "s": 3730502,
+ "s": 3746058,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10812,7 +10812,7 @@
},
{
"id": "Russia_Republic of Karelia_North",
- "s": 36082300,
+ "s": 36082132,
"affiliations": [
"\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u0440\u0435\u043b\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10824,7 +10824,7 @@
},
{
"id": "Russia_Republic of Karelia_South",
- "s": 28971826,
+ "s": 28982724,
"affiliations": [
"\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u0440\u0435\u043b\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10836,7 +10836,7 @@
},
{
"id": "Russia_Republic of Mordovia",
- "s": 12386587,
+ "s": 12389183,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10848,7 +10848,7 @@
},
{
"id": "Russia_Rostov Oblast",
- "s": 30508944,
+ "s": 30582163,
"affiliations": [
"\u0420\u043e\u0441\u0442\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10860,7 +10860,7 @@
},
{
"id": "Russia_Ryazan Oblast",
- "s": 17160001,
+ "s": 17326020,
"affiliations": [
"\u0420\u044f\u0437\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10872,7 +10872,7 @@
},
{
"id": "Russia_Saint Petersburg",
- "s": 28796364,
+ "s": 28996496,
"affiliations": [
"\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10885,7 +10885,7 @@
},
{
"id": "Russia_Sakha Republic",
- "s": 57507388,
+ "s": 58263239,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10897,7 +10897,7 @@
},
{
"id": "Russia_Sakhalin Oblast",
- "s": 26950732,
+ "s": 28302202,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10909,7 +10909,7 @@
},
{
"id": "Russia_Samara Oblast",
- "s": 24262526,
+ "s": 24684683,
"affiliations": [
"\u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10921,7 +10921,7 @@
},
{
"id": "Russia_Saratov Oblast",
- "s": 19105296,
+ "s": 19124750,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10933,7 +10933,7 @@
},
{
"id": "Russia_Smolensk Oblast",
- "s": 16214967,
+ "s": 16291554,
"affiliations": [
"\u0421\u043c\u043e\u043b\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10945,7 +10945,7 @@
},
{
"id": "Russia_Stavropol Krai",
- "s": 19750235,
+ "s": 20191440,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10957,7 +10957,7 @@
},
{
"id": "Russia_Sverdlovsk Oblast_Ekaterinburg",
- "s": 30162751,
+ "s": 30211466,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10969,7 +10969,7 @@
},
{
"id": "Russia_Sverdlovsk Oblast_North",
- "s": 26006153,
+ "s": 26045153,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -10981,7 +10981,7 @@
},
{
"id": "Russia_Tambov Oblast",
- "s": 11944010,
+ "s": 12130413,
"affiliations": [
"\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -10993,7 +10993,7 @@
},
{
"id": "Russia_Tatarstan",
- "s": 30909680,
+ "s": 31073071,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11005,7 +11005,7 @@
},
{
"id": "Russia_Tomsk Oblast",
- "s": 15056179,
+ "s": 15078861,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11017,7 +11017,7 @@
},
{
"id": "Russia_Tula Oblast",
- "s": 15178412,
+ "s": 15287372,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11029,7 +11029,7 @@
},
{
"id": "Russia_Tuva",
- "s": 2488344,
+ "s": 2488766,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11041,7 +11041,7 @@
},
{
"id": "Russia_Tver Oblast",
- "s": 32501978,
+ "s": 32871090,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11053,7 +11053,7 @@
},
{
"id": "Russia_Tyumen Oblast",
- "s": 16986028,
+ "s": 17455003,
"affiliations": [
"\u0422\u044e\u043c\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -11065,7 +11065,7 @@
},
{
"id": "Russia_Udmurt Republic",
- "s": 20373434,
+ "s": 20428797,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11077,7 +11077,7 @@
},
{
"id": "Russia_Ulyanovsk Oblast",
- "s": 15603819,
+ "s": 15774579,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11089,7 +11089,7 @@
},
{
"id": "Russia_Vladimir Oblast",
- "s": 33890877,
+ "s": 33899310,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11101,7 +11101,7 @@
},
{
"id": "Russia_Volgograd Oblast",
- "s": 26182791,
+ "s": 26191758,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11113,7 +11113,7 @@
},
{
"id": "Russia_Vologda Oblast",
- "s": 25723094,
+ "s": 25778777,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11125,7 +11125,7 @@
},
{
"id": "Russia_Voronezh Oblast",
- "s": 30730782,
+ "s": 30862529,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11137,7 +11137,7 @@
},
{
"id": "Russia_Yamalo-Nenets Autonomous Okrug",
- "s": 18171728,
+ "s": 18250153,
"affiliations": [
"\u042f\u043c\u0430\u043b\u043e-\u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -11149,7 +11149,7 @@
},
{
"id": "Russia_Yaroslavl Oblast",
- "s": 25342337,
+ "s": 25417080,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11161,7 +11161,7 @@
},
{
"id": "Russia_Yugra_Khanty",
- "s": 34501050,
+ "s": 34516521,
"affiliations": [
"\u0425\u0430\u043d\u0442\u044b-\u041c\u0430\u043d\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433 - \u042e\u0433\u0440\u0430",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -11173,7 +11173,7 @@
},
{
"id": "Russia_Yugra_Surgut",
- "s": 29856376,
+ "s": 29939317,
"affiliations": [
"\u0425\u0430\u043d\u0442\u044b-\u041c\u0430\u043d\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433 - \u042e\u0433\u0440\u0430",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -11185,7 +11185,7 @@
},
{
"id": "Russia_Zabaykalsky Krai",
- "s": 16931656,
+ "s": 16941031,
"affiliations": [
"\u0420\u043e\u0441\u0441\u0438\u044f",
"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f",
@@ -11199,7 +11199,7 @@
},
{
"id": "Rwanda",
- "s": 8676858,
+ "s": 9136622,
"affiliations": [
"Amajvepfo",
"Iburasirasuba",
@@ -11214,7 +11214,7 @@
},
{
"id": "Sahrawi Arab Democratic Republic",
- "s": 344700,
+ "s": 364940,
"affiliations": [
"Dakhla-Oued Ed-Dahab \u2d37\u2d30\u2d45\u2d4d\u2d30-\u2d61\u2d30\u2d37 \u2d37\u2d30\u2d40\u2d30\u2d31 \u0627\u0644\u062f\u0627\u062e\u0644\u0629-\u0648\u0627\u062f\u064a \u0627\u0644\u0630\u0647\u0628",
"Maroc \u2d4d\u2d4e\u2d56\u2d54\u2d49\u2d31 \u0627\u0644\u0645\u063a\u0631\u0628",
@@ -11226,7 +11226,7 @@
},
{
"id": "Saint Helena Ascension and Tristan da Cunha",
- "s": 269229,
+ "s": 270029,
"affiliations": [
"Gough Island",
"Inaccessible Island",
@@ -11240,7 +11240,7 @@
},
{
"id": "Samoa",
- "s": 2281443,
+ "s": 2283541,
"affiliations": [
"American Samoa",
"AS",
@@ -11254,7 +11254,7 @@
},
{
"id": "San Marino",
- "s": 301786,
+ "s": 300689,
"affiliations": [
"Italia",
"San Marino"
@@ -11269,7 +11269,7 @@
"g": [
{
"id": "Saudi Arabia_South",
- "s": 16127277,
+ "s": 16135117,
"affiliations": [
"\u0639\u0633\u064a\u0631",
"\u062c\u0627\u0632\u0627\u0646",
@@ -11284,7 +11284,7 @@
},
{
"id": "Saudi Arabia_North",
- "s": 16506534,
+ "s": 16555557,
"affiliations": [
"\u0645\u0643\u0629 \u0627\u0644\u0645\u0643\u0631\u0645\u0629",
"\u062a\u0628\u0648\u0643",
@@ -11304,7 +11304,7 @@
},
{
"id": "Senegal",
- "s": 27343044,
+ "s": 27601747,
"affiliations": [
"Basse",
"Janjanbureh",
@@ -11318,7 +11318,7 @@
},
{
"id": "Serbia",
- "s": 52625100,
+ "s": 52759628,
"affiliations": [
"\u0421\u0440\u0431\u0438\u0458\u0430",
"\u0412\u043e\u0458\u0432\u043e\u0434\u0438\u043d\u0430",
@@ -11330,7 +11330,7 @@
},
{
"id": "Seychelles",
- "s": 791870,
+ "s": 792368,
"affiliations": [
"Sesel"
],
@@ -11340,7 +11340,7 @@
},
{
"id": "Sierra Leone",
- "s": 24822459,
+ "s": 24827045,
"affiliations": [
"Eastern Province",
"Northern Province",
@@ -11354,7 +11354,7 @@
},
{
"id": "Singapore",
- "s": 9989326,
+ "s": 10134560,
"affiliations": [
"Johor",
"Malaysia",
@@ -11369,7 +11369,7 @@
"g": [
{
"id": "Slovakia_Region of Presov",
- "s": 21136598,
+ "s": 21154002,
"affiliations": [
"Pre\u0161ovsk\u00fd kraj",
"Slovensko"
@@ -11380,7 +11380,7 @@
},
{
"id": "Slovakia_Region of Kosice",
- "s": 19277338,
+ "s": 19296151,
"affiliations": [
"Ko\u0161ick\u00fd kraj",
"Slovensko"
@@ -11391,7 +11391,7 @@
},
{
"id": "Slovakia_Region of Banska Bystrica",
- "s": 23813274,
+ "s": 23869948,
"affiliations": [
"Banskobystrick\u00fd kraj",
"Slovensko"
@@ -11402,7 +11402,7 @@
},
{
"id": "Slovakia_Region of Trnava",
- "s": 12976753,
+ "s": 13022622,
"affiliations": [
"Slovensko",
"Trnavsk\u00fd kraj"
@@ -11413,7 +11413,7 @@
},
{
"id": "Slovakia_Region of Trencin",
- "s": 16918053,
+ "s": 16936726,
"affiliations": [
"Slovensko",
"Tren\u010diansky kraj"
@@ -11424,7 +11424,7 @@
},
{
"id": "Slovakia_Region of Nitra",
- "s": 15964405,
+ "s": 15979454,
"affiliations": [
"Nitriansky kraj",
"Slovensko"
@@ -11435,7 +11435,7 @@
},
{
"id": "Slovakia_Region of Bratislava",
- "s": 12452957,
+ "s": 12480742,
"affiliations": [
"Bratislavsk\u00fd kraj",
"Slovensko"
@@ -11446,7 +11446,7 @@
},
{
"id": "Slovakia_Region of Zilina",
- "s": 22040157,
+ "s": 22085796,
"affiliations": [
"Slovensko",
"\u017dilinsk\u00fd kraj"
@@ -11462,7 +11462,7 @@
"g": [
{
"id": "Slovenia_East",
- "s": 83655993,
+ "s": 84475826,
"affiliations": [
"Border SI-HR",
"Slovenija"
@@ -11473,7 +11473,7 @@
},
{
"id": "Slovenia_West",
- "s": 81065629,
+ "s": 81124544,
"affiliations": [
"Slovenija"
],
@@ -11485,7 +11485,7 @@
},
{
"id": "Solomon Islands",
- "s": 1537752,
+ "s": 1537648,
"affiliations": [
"Capital Territory",
"Central Province",
@@ -11505,7 +11505,7 @@
},
{
"id": "Somalia",
- "s": 12891626,
+ "s": 12902230,
"affiliations": [
"Awdal",
"Bakool",
@@ -11536,7 +11536,7 @@
"g": [
{
"id": "South Africa_Western Cape",
- "s": 20700330,
+ "s": 20758989,
"affiliations": [
"Prince Edward Islands",
"South Africa",
@@ -11548,7 +11548,7 @@
},
{
"id": "South Africa_Gauteng",
- "s": 11244285,
+ "s": 11395276,
"affiliations": [
"Gauteng",
"South Africa"
@@ -11559,7 +11559,7 @@
},
{
"id": "South Africa_North West",
- "s": 5720754,
+ "s": 5728010,
"affiliations": [
"North West",
"South Africa"
@@ -11570,7 +11570,7 @@
},
{
"id": "South Africa_Free State",
- "s": 6036560,
+ "s": 6043877,
"affiliations": [
"Free State",
"South Africa"
@@ -11581,7 +11581,7 @@
},
{
"id": "South Africa_Eastern Cape",
- "s": 10539436,
+ "s": 10532451,
"affiliations": [
"Eastern Cape",
"South Africa"
@@ -11592,7 +11592,7 @@
},
{
"id": "South Africa_Northern Cape",
- "s": 7455869,
+ "s": 7454169,
"affiliations": [
"Northern Cape",
"South Africa"
@@ -11603,7 +11603,7 @@
},
{
"id": "South Africa_Mpumalanga",
- "s": 6514407,
+ "s": 6514684,
"affiliations": [
"Mpumalanga",
"South Africa"
@@ -11614,7 +11614,7 @@
},
{
"id": "South Africa_Limpopo",
- "s": 5101009,
+ "s": 5114729,
"affiliations": [
"Limpopo",
"South Africa"
@@ -11625,7 +11625,7 @@
},
{
"id": "South Africa_KwaZulu-Natal",
- "s": 17194054,
+ "s": 17217660,
"affiliations": [
"KwaZulu-Natal",
"South Africa"
@@ -11638,7 +11638,7 @@
},
{
"id": "South Georgia and the South Sandwich Islands",
- "s": 335725,
+ "s": 350775,
"affiliations": [
"Freezland Rock",
"South Georgia and South Sandwich Islands"
@@ -11649,7 +11649,7 @@
},
{
"id": "South Ossetia",
- "s": 1350125,
+ "s": 1350959,
"affiliations": [
"\u0425\u0443\u0441\u0441\u0430\u0440 \u0418\u0440\u044b\u0441\u0442\u043e\u043d",
"\u0425\u0443\u0441\u0441\u0430\u0440 \u0418\u0440\u044b\u0441\u0442\u043e\u043d - \u042e\u0436\u043d\u0430\u044f \u041e\u0441\u0435\u0442\u0438\u044f",
@@ -11661,7 +11661,7 @@
},
{
"id": "South Sudan",
- "s": 36207173,
+ "s": 36310941,
"affiliations": [
"\u0627\u0644\u0633\u0648\u062f\u0627\u0646 - Sudan",
"Central Equatoria",
@@ -11685,7 +11685,7 @@
"g": [
{
"id": "Spain_Andalusia_Granada",
- "s": 29196395,
+ "s": 29253469,
"affiliations": [
"Andaluc\u00eda",
"Espa\u00f1a (mare territorial)",
@@ -11697,7 +11697,7 @@
},
{
"id": "Spain_Andalusia_Sevilla",
- "s": 38938621,
+ "s": 39175117,
"affiliations": [
"Andaluc\u00eda",
"Espa\u00f1a"
@@ -11708,7 +11708,7 @@
},
{
"id": "Spain_Aragon",
- "s": 35983045,
+ "s": 36172853,
"affiliations": [
"Arag\u00f3n",
"Espa\u00f1a"
@@ -11719,7 +11719,7 @@
},
{
"id": "Spain_Balearic Islands",
- "s": 17409304,
+ "s": 17315656,
"affiliations": [
"Illes Balears",
"Espa\u00f1a"
@@ -11730,7 +11730,7 @@
},
{
"id": "Spain_Basque Country",
- "s": 33396537,
+ "s": 33552477,
"affiliations": [
"Castilla y Le\u00f3n",
"Espa\u00f1a",
@@ -11742,7 +11742,7 @@
},
{
"id": "Spain_Canary Islands",
- "s": 30615776,
+ "s": 30719043,
"affiliations": [
"Canarias",
"Espa\u00f1a"
@@ -11753,7 +11753,7 @@
},
{
"id": "Spain_Cantabria",
- "s": 13477467,
+ "s": 13504755,
"affiliations": [
"Cantabria",
"Espa\u00f1a"
@@ -11764,7 +11764,7 @@
},
{
"id": "Spain_Castile and Leon_West",
- "s": 41514073,
+ "s": 41630519,
"affiliations": [
"Castilla y Le\u00f3n",
"Espa\u00f1a"
@@ -11775,7 +11775,7 @@
},
{
"id": "Spain_Castile and Leon_East",
- "s": 33117313,
+ "s": 33344483,
"affiliations": [
"Castilla y Le\u00f3n",
"Espa\u00f1a"
@@ -11786,7 +11786,7 @@
},
{
"id": "Spain_Castile-La Mancha",
- "s": 43559908,
+ "s": 43644157,
"affiliations": [
"Castilla-La Mancha",
"Espa\u00f1a"
@@ -11797,7 +11797,7 @@
},
{
"id": "Spain_Catalonia_Provincia de Barcelona",
- "s": 40459388,
+ "s": 40746775,
"affiliations": [
"Catalunya",
"Espa\u00f1a"
@@ -11808,7 +11808,7 @@
},
{
"id": "Spain_Catalonia_Provincia de Girona",
- "s": 20201414,
+ "s": 20197371,
"affiliations": [
"Catalunya",
"Espa\u00f1a"
@@ -11819,7 +11819,7 @@
},
{
"id": "Spain_Catalonia_Provincia de Lleida",
- "s": 22155443,
+ "s": 22181878,
"affiliations": [
"Catalunya",
"Espa\u00f1a"
@@ -11830,7 +11830,7 @@
},
{
"id": "Spain_Catalonia_Provincia de Tarragona",
- "s": 13480553,
+ "s": 13579921,
"affiliations": [
"Catalunya",
"Espa\u00f1a"
@@ -11841,7 +11841,7 @@
},
{
"id": "Spain_Ceuta",
- "s": 244636,
+ "s": 245188,
"affiliations": [
"Ceuta",
"Espa\u00f1a",
@@ -11853,7 +11853,7 @@
},
{
"id": "Spain_Community of Madrid",
- "s": 39145297,
+ "s": 38907936,
"affiliations": [
"Comunidad de Madrid",
"Espa\u00f1a"
@@ -11864,7 +11864,7 @@
},
{
"id": "Spain_Comunidad Foral de Navarra",
- "s": 13864921,
+ "s": 13904149,
"affiliations": [
"Comunidad Foral de Navarra",
"Espa\u00f1a"
@@ -11875,7 +11875,7 @@
},
{
"id": "Spain_Extremadura",
- "s": 17735200,
+ "s": 18039456,
"affiliations": [
"Espa\u00f1a",
"Extremadura"
@@ -11886,7 +11886,7 @@
},
{
"id": "Spain_Galicia_North",
- "s": 29498570,
+ "s": 29605246,
"affiliations": [
"Espa\u00f1a",
"Galicia"
@@ -11897,7 +11897,7 @@
},
{
"id": "Spain_Galicia_South",
- "s": 20724911,
+ "s": 20742683,
"affiliations": [
"Espa\u00f1a",
"Galicia"
@@ -11908,7 +11908,7 @@
},
{
"id": "Spain_La Rioja",
- "s": 4935190,
+ "s": 4953791,
"affiliations": [
"Espa\u00f1a",
"La Rioja"
@@ -11919,7 +11919,7 @@
},
{
"id": "Spain_Melilla",
- "s": 500511,
+ "s": 501887,
"affiliations": [
"Espa\u00f1a",
"Maroc \u2d4d\u2d4e\u2d56\u2d54\u2d49\u2d31 \u0627\u0644\u0645\u063a\u0631\u0628",
@@ -11932,7 +11932,7 @@
},
{
"id": "Spain_Principado de Asturias",
- "s": 17663973,
+ "s": 17754017,
"affiliations": [
"Espa\u00f1a",
"Principado de Asturias"
@@ -11943,7 +11943,7 @@
},
{
"id": "Spain_Region de Murcia",
- "s": 12786709,
+ "s": 12875835,
"affiliations": [
"Espa\u00f1a",
"Regi\u00f3n de Murcia"
@@ -11954,7 +11954,7 @@
},
{
"id": "Spain_Valencian Community",
- "s": 46633002,
+ "s": 46707949,
"affiliations": [
"Comunitat Valenciana",
"Espa\u00f1a"
@@ -11970,7 +11970,7 @@
"g": [
{
"id": "Jerusalem",
- "s": 3998370,
+ "s": 4001336,
"affiliations": [
"\u05de\u05d7\u05d5\u05d6 \u05d9\u05e8\u05d5\u05e9\u05dc\u05d9\u05dd",
"\u05de\u05d3\u05d9\u05e0\u05ea \u05d9\u05e9\u05e8\u05d0\u05dc"
@@ -11982,7 +11982,7 @@
},
{
"id": "Palestine",
- "s": 14675790,
+ "s": 14720543,
"affiliations": [
"Area A",
"Area B",
@@ -11996,7 +11996,7 @@
},
{
"id": "Sri Lanka",
- "s": 47026764,
+ "s": 47973611,
"affiliations": [
"Central Province",
"Eastern Province",
@@ -12018,7 +12018,7 @@
"g": [
{
"id": "Sudan_East",
- "s": 4658218,
+ "s": 4656107,
"affiliations": [
"Al Ba\u1e29r al A\u1e29mar",
"\u0627\u0644\u0633\u0648\u062f\u0627\u0646 - Sudan",
@@ -12038,7 +12038,7 @@
},
{
"id": "Sudan_West",
- "s": 13770206,
+ "s": 13914064,
"affiliations": [
"\u0627\u0644\u0633\u0648\u062f\u0627\u0646 - Sudan",
"Gharb Darfur",
@@ -12065,7 +12065,7 @@
},
{
"id": "Suriname",
- "s": 4280077,
+ "s": 4283429,
"affiliations": [
"Brokopondo",
"Commewijne",
@@ -12085,7 +12085,7 @@
},
{
"id": "Swaziland",
- "s": 16619131,
+ "s": 16622157,
"affiliations": [
"Sifundza seHhohho",
"Sifundza seLubombo",
@@ -12102,7 +12102,7 @@
"g": [
{
"id": "Sweden_Malardalen",
- "s": 28679682,
+ "s": 28775555,
"affiliations": [
"S\u00f6dermanlands l\u00e4n",
"Sverige",
@@ -12115,7 +12115,7 @@
},
{
"id": "Sweden_Stockholm",
- "s": 39546521,
+ "s": 39712396,
"affiliations": [
"Stockholms l\u00e4n",
"Sverige"
@@ -12126,7 +12126,7 @@
},
{
"id": "Sweden_Ostra Gotaland",
- "s": 50210409,
+ "s": 50444184,
"affiliations": [
"Gotlands l\u00e4n",
"J\u00f6nk\u00f6pings l\u00e4n",
@@ -12143,7 +12143,7 @@
},
{
"id": "Sweden_Norra Sverige",
- "s": 31355660,
+ "s": 31457498,
"affiliations": [
"Norrbottens l\u00e4n",
"Sverige",
@@ -12155,7 +12155,7 @@
},
{
"id": "Sweden_Mellannorrland",
- "s": 23656465,
+ "s": 23744606,
"affiliations": [
"J\u00e4mtlands l\u00e4n",
"Sverige",
@@ -12167,7 +12167,7 @@
},
{
"id": "Sweden_Bergslagen",
- "s": 52400730,
+ "s": 52619432,
"affiliations": [
"Dalarnas l\u00e4n",
"G\u00e4vleborgs l\u00e4n",
@@ -12181,7 +12181,7 @@
},
{
"id": "Sweden_Vastra Gotaland",
- "s": 59724690,
+ "s": 59869371,
"affiliations": [
"Danmark",
"Hallands l\u00e4n",
@@ -12194,7 +12194,7 @@
},
{
"id": "Sweden_Sodra Gotaland",
- "s": 35865999,
+ "s": 35924476,
"affiliations": [
"Blekinge l\u00e4n",
"Danmark",
@@ -12213,7 +12213,7 @@
"g": [
{
"id": "Switzerland_Eastern",
- "s": 38957655,
+ "s": 38992742,
"affiliations": [
"Appenzell Ausserrhoden",
"Appenzell Innerrhoden",
@@ -12230,7 +12230,7 @@
},
{
"id": "Switzerland_Central",
- "s": 19278262,
+ "s": 19306952,
"affiliations": [
"Luzern",
"Nidwalden",
@@ -12246,7 +12246,7 @@
},
{
"id": "Switzerland_Espace Mittelland_Bern",
- "s": 40666225,
+ "s": 40708712,
"affiliations": [
"Basel-Landschaft",
"Bern - Berne",
@@ -12263,7 +12263,7 @@
},
{
"id": "Switzerland_Espace Mittelland_East",
- "s": 20162950,
+ "s": 20399849,
"affiliations": [
"Bern - Berne",
"Schweiz, Suisse, Svizzera, Svizra"
@@ -12274,7 +12274,7 @@
},
{
"id": "Switzerland_Ticino",
- "s": 8795519,
+ "s": 8810119,
"affiliations": [
"Schweiz, Suisse, Svizzera, Svizra",
"Ticino"
@@ -12285,7 +12285,7 @@
},
{
"id": "Switzerland_Northwestern",
- "s": 27136828,
+ "s": 27199217,
"affiliations": [
"Aargau",
"Basel-Landschaft",
@@ -12298,7 +12298,7 @@
},
{
"id": "Switzerland_Lake Geneva region",
- "s": 45586924,
+ "s": 45679517,
"affiliations": [
"Fribourg - Freiburg",
"Gen\u00e8ve",
@@ -12312,7 +12312,7 @@
},
{
"id": "Switzerland_Zurich",
- "s": 27945295,
+ "s": 27990664,
"affiliations": [
"Schweiz, Suisse, Svizzera, Svizra",
"Z\u00fcrich"
@@ -12325,7 +12325,7 @@
},
{
"id": "Syria",
- "s": 25830173,
+ "s": 25901369,
"affiliations": [
"Al-Hasakah",
"Aleppo",
@@ -12349,7 +12349,7 @@
},
{
"id": "Sao Tome and Principe",
- "s": 443432,
+ "s": 445088,
"affiliations": [
"Pr\u00edncipe Province",
"S\u00e3o Tom\u00e9 Province",
@@ -12361,7 +12361,7 @@
},
{
"id": "Tajikistan",
- "s": 11419065,
+ "s": 11480153,
"affiliations": [
"\u0412\u0438\u043b\u043e\u044f\u0442\u0438 \u0421\u0443\u0493\u0434",
"\u0412\u0438\u043b\u043e\u044f\u0442\u0438 \u0425\u0430\u0442\u043b\u043e\u043d",
@@ -12375,7 +12375,7 @@
},
{
"id": "Tanzania",
- "s": 135486368,
+ "s": 137154589,
"affiliations": [
"Arusha",
"Dar es Salaam",
@@ -12413,7 +12413,7 @@
"g": [
{
"id": "Thailand_North",
- "s": 22232784,
+ "s": 22830860,
"affiliations": [
"\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\u0e1e\u0e30\u0e40\u0e22\u0e32",
"\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22",
@@ -12436,7 +12436,7 @@
},
{
"id": "Thailand_Central",
- "s": 37262044,
+ "s": 38400723,
"affiliations": [
"\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\u0e2d\u0e48\u0e32\u0e07\u0e17\u0e2d\u0e07",
"\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22",
@@ -12482,7 +12482,7 @@
},
{
"id": "Thailand_South",
- "s": 47021411,
+ "s": 47903923,
"affiliations": [
"\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\u0e0a\u0e38\u0e21\u0e1e\u0e23",
"\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22",
@@ -12526,7 +12526,7 @@
},
{
"id": "The Bahamas",
- "s": 6420208,
+ "s": 6432876,
"affiliations": [
"Ciego de \u00c1vila",
"The Bahamas"
@@ -12537,7 +12537,7 @@
},
{
"id": "The Gambia",
- "s": 3518886,
+ "s": 3382982,
"affiliations": [
"Brikama",
"Banjul",
@@ -12559,7 +12559,7 @@
"g": [
{
"id": "Netherlands_Drenthe",
- "s": 37806317,
+ "s": 37841795,
"affiliations": [
"Drenthe",
"Nederland"
@@ -12570,7 +12570,7 @@
},
{
"id": "Netherlands_Flevoland",
- "s": 22565262,
+ "s": 22601397,
"affiliations": [
"Flevoland",
"Nederland"
@@ -12581,7 +12581,7 @@
},
{
"id": "Netherlands_Friesland",
- "s": 51961100,
+ "s": 51949446,
"affiliations": [
"Friesland",
"Nederland"
@@ -12592,7 +12592,7 @@
},
{
"id": "Netherlands_Gelderland_Nijmegen",
- "s": 37699027,
+ "s": 37710784,
"affiliations": [
"Gelderland",
"Nederland"
@@ -12603,7 +12603,7 @@
},
{
"id": "Netherlands_Gelderland_North",
- "s": 60606471,
+ "s": 60662523,
"affiliations": [
"Gelderland",
"Nederland"
@@ -12614,7 +12614,7 @@
},
{
"id": "Netherlands_Gelderland_Zutphen",
- "s": 25910032,
+ "s": 25918050,
"affiliations": [
"Gelderland",
"Nederland"
@@ -12625,7 +12625,7 @@
},
{
"id": "Netherlands_Groningen",
- "s": 37791347,
+ "s": 37802089,
"affiliations": [
"Deutschland",
"Groningen",
@@ -12638,7 +12638,7 @@
},
{
"id": "Netherlands_Limburg",
- "s": 68006269,
+ "s": 68302610,
"affiliations": [
"Limburg",
"Nederland"
@@ -12649,7 +12649,7 @@
},
{
"id": "Netherlands_North Brabant_Eindhoven",
- "s": 58488346,
+ "s": 58500732,
"affiliations": [
"Nederland",
"Noord-Brabant"
@@ -12660,7 +12660,7 @@
},
{
"id": "Netherlands_North Brabant_Roosendaal",
- "s": 20179756,
+ "s": 20187603,
"affiliations": [
"Nederland",
"Noord-Brabant"
@@ -12671,7 +12671,7 @@
},
{
"id": "Netherlands_North Brabant_Tiburg",
- "s": 44491901,
+ "s": 44503059,
"affiliations": [
"Nederland",
"Nederland - Belgique / Belgi\u00eb / Belgien",
@@ -12683,7 +12683,7 @@
},
{
"id": "Netherlands_North Brabant_Uden",
- "s": 20509600,
+ "s": 20515613,
"affiliations": [
"Nederland",
"Noord-Brabant"
@@ -12694,7 +12694,7 @@
},
{
"id": "Netherlands_North Holland_Alkmaar",
- "s": 34827728,
+ "s": 34832084,
"affiliations": [
"Nederland",
"Noord-Holland"
@@ -12705,7 +12705,7 @@
},
{
"id": "Netherlands_North Holland_Amsterdam",
- "s": 76677542,
+ "s": 76731150,
"affiliations": [
"Nederland",
"Noord-Holland"
@@ -12716,7 +12716,7 @@
},
{
"id": "Netherlands_North Holland_Zaandam",
- "s": 26807824,
+ "s": 26835409,
"affiliations": [
"Nederland",
"Noord-Holland"
@@ -12727,7 +12727,7 @@
},
{
"id": "Netherlands_Overijssel_Enschede",
- "s": 39779618,
+ "s": 39796331,
"affiliations": [
"Nederland",
"Overijssel"
@@ -12738,7 +12738,7 @@
},
{
"id": "Netherlands_Overijssel_Zwolle",
- "s": 35000787,
+ "s": 35009873,
"affiliations": [
"Nederland",
"Overijssel"
@@ -12749,7 +12749,7 @@
},
{
"id": "Netherlands_South Holland_Brielle",
- "s": 18918776,
+ "s": 18930829,
"affiliations": [
"Nederland",
"Zuid-Holland"
@@ -12760,7 +12760,7 @@
},
{
"id": "Netherlands_South Holland_Den Haag",
- "s": 59702861,
+ "s": 59777596,
"affiliations": [
"Nederland",
"Zuid-Holland"
@@ -12771,7 +12771,7 @@
},
{
"id": "Netherlands_South Holland_Leiden",
- "s": 25178065,
+ "s": 25216240,
"affiliations": [
"Nederland",
"Zuid-Holland"
@@ -12782,7 +12782,7 @@
},
{
"id": "Netherlands_South Holland_Rotterdam",
- "s": 62713792,
+ "s": 62743171,
"affiliations": [
"Nederland",
"Zuid-Holland"
@@ -12793,7 +12793,7 @@
},
{
"id": "Netherlands_Utrecht_Amersfoort",
- "s": 29021554,
+ "s": 29046385,
"affiliations": [
"Utrecht",
"Nederland"
@@ -12804,7 +12804,7 @@
},
{
"id": "Netherlands_Utrecht_Utrecht",
- "s": 34170326,
+ "s": 34184090,
"affiliations": [
"Utrecht",
"Nederland"
@@ -12815,7 +12815,7 @@
},
{
"id": "Netherlands_Zeeland",
- "s": 30966120,
+ "s": 31007177,
"affiliations": [
"Nederland",
"Zeeland"
@@ -12828,7 +12828,7 @@
},
{
"id": "Togo",
- "s": 19677854,
+ "s": 19818649,
"affiliations": [
"R\u00e9gion Centrale",
"R\u00e9gion Maritime",
@@ -12843,7 +12843,7 @@
},
{
"id": "Tonga",
- "s": 2584131,
+ "s": 2592741,
"affiliations": [
"Ha\u02bbapai",
"Ongo Niua",
@@ -12863,7 +12863,7 @@
},
{
"id": "Tunisia",
- "s": 22185734,
+ "s": 22243290,
"affiliations": [
"Tunisie \u2d5c\u2d53\u2d4f\u2d59 \u062a\u0648\u0646\u0633",
"\u0628\u0627\u062c\u0629",
@@ -12900,7 +12900,7 @@
"g": [
{
"id": "Turkey_Mediterranean Region",
- "s": 21404447,
+ "s": 21393445,
"affiliations": [
"Adana",
"Antalya",
@@ -12918,7 +12918,7 @@
},
{
"id": "Turkey_Southeastern Anatolia Region",
- "s": 12703127,
+ "s": 12841215,
"affiliations": [
"Ad\u0131yaman",
"Batman",
@@ -12938,7 +12938,7 @@
},
{
"id": "Turkey_Marmara Region_Istanbul",
- "s": 21656044,
+ "s": 22069807,
"affiliations": [
"Edirne",
"Kocaeli",
@@ -12955,7 +12955,7 @@
},
{
"id": "Turkey_Marmara Region_Bursa",
- "s": 16542417,
+ "s": 16652781,
"affiliations": [
"Bal\u0131kesir",
"Bilecik",
@@ -12975,7 +12975,7 @@
},
{
"id": "Turkey_Eastern Anatolia Region",
- "s": 19074926,
+ "s": 19150251,
"affiliations": [
"Ardahan",
"A\u011fr\u0131",
@@ -12999,7 +12999,7 @@
},
{
"id": "Turkey_Black Sea Region",
- "s": 34494046,
+ "s": 35693519,
"affiliations": [
"Amasya",
"Bolu",
@@ -13027,7 +13027,7 @@
},
{
"id": "Turkey_Central Anatolia Region_Ankara",
- "s": 21146424,
+ "s": 21318679,
"affiliations": [
"Aksaray",
"Ankara",
@@ -13045,7 +13045,7 @@
},
{
"id": "Turkey_Central Anatolia Region_Kayseri",
- "s": 11129750,
+ "s": 11346872,
"affiliations": [
"Kayseri",
"K\u0131r\u015fehir",
@@ -13061,7 +13061,7 @@
},
{
"id": "Turkey_Aegean Region",
- "s": 22706925,
+ "s": 22662378,
"affiliations": [
"Afyonkarahisar",
"Ayd\u0131n",
@@ -13081,7 +13081,7 @@
},
{
"id": "Turkmenistan",
- "s": 6381641,
+ "s": 6426988,
"affiliations": [
"Ahal",
"Balkan",
@@ -13096,7 +13096,7 @@
},
{
"id": "Turks and Caicos Islands",
- "s": 860587,
+ "s": 867679,
"affiliations": [
"Rep\u00fablica Dominicana",
"The Bahamas",
@@ -13108,7 +13108,7 @@
},
{
"id": "Tuvalu",
- "s": 265930,
+ "s": 266130,
"affiliations": [
"Tuvalu"
],
@@ -13118,7 +13118,7 @@
},
{
"id": "Uganda",
- "s": 44598949,
+ "s": 46099120,
"affiliations": [
"Abim",
"Agago",
@@ -13170,7 +13170,7 @@
"g": [
{
"id": "Ukraine_Cherkasy Oblast",
- "s": 12310720,
+ "s": 12360239,
"affiliations": [
"\u0427\u0435\u0440\u043a\u0430\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13181,7 +13181,7 @@
},
{
"id": "Ukraine_Chernihiv Oblast",
- "s": 13388262,
+ "s": 13426184,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0427\u0435\u0440\u043d\u0456\u0433\u0456\u0432\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13192,7 +13192,7 @@
},
{
"id": "Ukraine_Chernivtsi Oblast",
- "s": 12903290,
+ "s": 12907172,
"affiliations": [
"\u0427\u0435\u0440\u043d\u0456\u0432\u0435\u0446\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13203,7 +13203,7 @@
},
{
"id": "Ukraine_Dnipropetrovsk Oblast",
- "s": 28511699,
+ "s": 28507480,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0414\u043d\u0456\u043f\u0440\u043e\u043f\u0435\u0442\u0440\u043e\u0432\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13214,7 +13214,7 @@
},
{
"id": "Ukraine_Donetsk Oblast",
- "s": 30645378,
+ "s": 30692855,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0414\u043e\u043d\u0435\u0446\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13225,7 +13225,7 @@
},
{
"id": "Ukraine_Ivano-Frankivsk Oblast",
- "s": 15724345,
+ "s": 15820805,
"affiliations": [
"\u0406\u0432\u0430\u043d\u043e-\u0424\u0440\u0430\u043d\u043a\u0456\u0432\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13236,7 +13236,7 @@
},
{
"id": "Ukraine_Kharkiv Oblast",
- "s": 23918334,
+ "s": 24084756,
"affiliations": [
"\u0425\u0430\u0440\u043a\u0456\u0432\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13247,7 +13247,7 @@
},
{
"id": "Ukraine_Kherson Oblast",
- "s": 8319662,
+ "s": 8315652,
"affiliations": [
"\u0425\u0435\u0440\u0441\u043e\u043d\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13258,7 +13258,7 @@
},
{
"id": "Ukraine_Khmelnytskyi Oblast",
- "s": 11051954,
+ "s": 11208629,
"affiliations": [
"\u0425\u043c\u0435\u043b\u044c\u043d\u0438\u0446\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13269,7 +13269,7 @@
},
{
"id": "Ukraine_Kirovohrad Oblast",
- "s": 12228312,
+ "s": 12328967,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u041a\u0456\u0440\u043e\u0432\u043e\u0433\u0440\u0430\u0434\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13280,7 +13280,7 @@
},
{
"id": "Ukraine_Kyiv Oblast",
- "s": 32526941,
+ "s": 32745175,
"affiliations": [
"\u041a\u0438\u0457\u0432",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
@@ -13292,7 +13292,7 @@
},
{
"id": "Ukraine_Luhansk Oblast",
- "s": 28489739,
+ "s": 28789811,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u041b\u0443\u0433\u0430\u043d\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13303,7 +13303,7 @@
},
{
"id": "Ukraine_Lviv Oblast",
- "s": 24667841,
+ "s": 24785300,
"affiliations": [
"\u041b\u044c\u0432\u0456\u0432\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13314,7 +13314,7 @@
},
{
"id": "Ukraine_Mykolaiv Oblast",
- "s": 11145607,
+ "s": 11222411,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u041c\u0438\u043a\u043e\u043b\u0430\u0457\u0432\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13325,7 +13325,7 @@
},
{
"id": "Ukraine_Odessa Oblast",
- "s": 18913455,
+ "s": 19033362,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u041e\u0434\u0435\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13336,7 +13336,7 @@
},
{
"id": "Ukraine_Poltava Oblast",
- "s": 13795900,
+ "s": 13971955,
"affiliations": [
"\u041f\u043e\u043b\u0442\u0430\u0432\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13347,7 +13347,7 @@
},
{
"id": "Ukraine_Rivne Oblast",
- "s": 7565605,
+ "s": 7578188,
"affiliations": [
"\u0420\u0456\u0432\u043d\u0435\u043d\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13358,7 +13358,7 @@
},
{
"id": "Ukraine_Sumy Oblast",
- "s": 15311236,
+ "s": 15359068,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0421\u0443\u043c\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13369,7 +13369,7 @@
},
{
"id": "Ukraine_Ternopil Oblast",
- "s": 14638101,
+ "s": 14727155,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0422\u0435\u0440\u043d\u043e\u043f\u0456\u043b\u044c\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13380,7 +13380,7 @@
},
{
"id": "Ukraine_Vinnytsia Oblast",
- "s": 12750833,
+ "s": 12796060,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0412\u0456\u043d\u043d\u0438\u0446\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13391,7 +13391,7 @@
},
{
"id": "Ukraine_Volyn Oblast",
- "s": 10525852,
+ "s": 10546718,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0412\u043e\u043b\u0438\u043d\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13402,7 +13402,7 @@
},
{
"id": "Ukraine_Zakarpattia Oblast",
- "s": 13716400,
+ "s": 13754207,
"affiliations": [
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",
"\u0417\u0430\u043a\u0430\u0440\u043f\u0430\u0442\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c"
@@ -13413,7 +13413,7 @@
},
{
"id": "Ukraine_Zaporizhia Oblast",
- "s": 10468844,
+ "s": 10504830,
"affiliations": [
"\u0417\u0430\u043f\u043e\u0440\u0456\u0437\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13424,7 +13424,7 @@
},
{
"id": "Ukraine_Zhytomyr Oblast",
- "s": 8640711,
+ "s": 8686035,
"affiliations": [
"\u0416\u0438\u0442\u043e\u043c\u0438\u0440\u0441\u044c\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
"\u0423\u043a\u0440\u0430\u0457\u043d\u0430"
@@ -13435,7 +13435,7 @@
},
{
"id": "Crimea",
- "s": 23367091,
+ "s": 23411549,
"affiliations": [
"\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0430 \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0456\u043a\u0430 \u041a\u0440\u0438\u043c",
"\u0420\u043e\u0441\u0441\u0438\u044f",
@@ -13452,7 +13452,7 @@
},
{
"id": "United Arab Emirates",
- "s": 24243479,
+ "s": 24352160,
"affiliations": [
"\u0623\u0628\u0648 \u0638\u0628\u064a",
"\u200f\u0623\u0645 \u0627\u0644\u0642\u064a\u0648\u064a\u0646\u200e",
@@ -13470,7 +13470,7 @@
},
{
"id": "Falkland Islands",
- "s": 2431725,
+ "s": 2444412,
"affiliations": [
"Falkland Islands"
],
@@ -13483,7 +13483,7 @@
"g": [
{
"id": "British Indian Ocean Territory",
- "s": 105887,
+ "s": 106159,
"affiliations": [
"British Indian Ocean Territory"
],
@@ -13493,7 +13493,7 @@
},
{
"id": "UK_England_East Midlands",
- "s": 62187571,
+ "s": 62391326,
"affiliations": [
"England",
"United Kingdom"
@@ -13504,7 +13504,7 @@
},
{
"id": "UK_England_East of England_Essex",
- "s": 36719788,
+ "s": 36778298,
"affiliations": [
"England",
"United Kingdom"
@@ -13515,7 +13515,7 @@
},
{
"id": "UK_England_East of England_Norfolk",
- "s": 46432377,
+ "s": 46568139,
"affiliations": [
"England",
"United Kingdom"
@@ -13526,7 +13526,7 @@
},
{
"id": "UK_England_Greater London",
- "s": 39121784,
+ "s": 39409613,
"affiliations": [
"England",
"United Kingdom"
@@ -13537,7 +13537,7 @@
},
{
"id": "UK_England_North East England",
- "s": 27646862,
+ "s": 27768111,
"affiliations": [
"England",
"United Kingdom"
@@ -13548,7 +13548,7 @@
},
{
"id": "UK_England_North West England_Manchester",
- "s": 44632534,
+ "s": 44880524,
"affiliations": [
"England",
"United Kingdom"
@@ -13559,7 +13559,7 @@
},
{
"id": "UK_England_North West England_Lancaster",
- "s": 19545449,
+ "s": 19676685,
"affiliations": [
"England",
"United Kingdom"
@@ -13570,7 +13570,7 @@
},
{
"id": "UK_England_South East_Brighton",
- "s": 43641248,
+ "s": 43800315,
"affiliations": [
"England",
"United Kingdom"
@@ -13581,7 +13581,7 @@
},
{
"id": "UK_England_South East_Oxford",
- "s": 49064195,
+ "s": 49249207,
"affiliations": [
"England",
"United Kingdom"
@@ -13592,7 +13592,7 @@
},
{
"id": "UK_England_South West England_Bristol",
- "s": 51293657,
+ "s": 51486702,
"affiliations": [
"England",
"United Kingdom"
@@ -13603,7 +13603,7 @@
},
{
"id": "UK_England_South West England_Cornwall",
- "s": 27384276,
+ "s": 27602382,
"affiliations": [
"England",
"United Kingdom"
@@ -13614,7 +13614,7 @@
},
{
"id": "UK_England_West Midlands",
- "s": 74191403,
+ "s": 74419832,
"affiliations": [
"England",
"United Kingdom"
@@ -13625,7 +13625,7 @@
},
{
"id": "UK_England_Yorkshire and the Humber",
- "s": 67392973,
+ "s": 67698312,
"affiliations": [
"England",
"United Kingdom"
@@ -13636,7 +13636,7 @@
},
{
"id": "UK_Northern Ireland",
- "s": 15189561,
+ "s": 15269539,
"affiliations": [
"Northern Ireland",
"Scotland",
@@ -13648,7 +13648,7 @@
},
{
"id": "UK_Scotland_North",
- "s": 57988790,
+ "s": 58151186,
"affiliations": [
"Scotland",
"United Kingdom"
@@ -13659,7 +13659,7 @@
},
{
"id": "UK_Scotland_South",
- "s": 52044775,
+ "s": 52144385,
"affiliations": [
"Isle of Man",
"Scotland",
@@ -13671,7 +13671,7 @@
},
{
"id": "UK_Wales",
- "s": 49691201,
+ "s": 49779208,
"affiliations": [
"United Kingdom",
"Wales"
@@ -13687,7 +13687,7 @@
"g": [
{
"id": "Ireland_Connacht",
- "s": 19473555,
+ "s": 19489919,
"affiliations": [
"Ireland"
],
@@ -13697,7 +13697,7 @@
},
{
"id": "Ireland_Leinster",
- "s": 33265606,
+ "s": 33540682,
"affiliations": [
"Ireland"
],
@@ -13707,7 +13707,7 @@
},
{
"id": "Ireland_Munster",
- "s": 23448946,
+ "s": 23516106,
"affiliations": [
"Ireland"
],
@@ -13717,7 +13717,7 @@
},
{
"id": "Ireland_Northern Counties",
- "s": 7596727,
+ "s": 7609018,
"affiliations": [
"Ireland"
],
@@ -13735,7 +13735,7 @@
"g": [
{
"id": "US_Alabama_Birmingham",
- "s": 24186629,
+ "s": 24232596,
"affiliations": [
"Alabama",
"AL",
@@ -13747,7 +13747,7 @@
},
{
"id": "US_Alabama_Montgomery",
- "s": 29144048,
+ "s": 29196936,
"affiliations": [
"Alabama",
"AL",
@@ -13761,7 +13761,7 @@
},
{
"id": "US_Alaska",
- "s": 44596742,
+ "s": 48560171,
"affiliations": [
"Alaska",
"AK",
@@ -13776,7 +13776,7 @@
"g": [
{
"id": "US_Arizona_Flagstaff",
- "s": 27602121,
+ "s": 27649206,
"affiliations": [
"Arizona",
"AZ",
@@ -13788,7 +13788,7 @@
},
{
"id": "US_Arizona_Phoenix",
- "s": 37138243,
+ "s": 37477689,
"affiliations": [
"Arizona",
"AZ",
@@ -13800,7 +13800,7 @@
},
{
"id": "US_Arizona_Tucson",
- "s": 16090867,
+ "s": 16172626,
"affiliations": [
"Arizona",
"AZ",
@@ -13817,7 +13817,7 @@
"g": [
{
"id": "US_Arkansas_North",
- "s": 30023180,
+ "s": 30069037,
"affiliations": [
"Arkansas",
"AR",
@@ -13829,7 +13829,7 @@
},
{
"id": "US_Arkansas_South",
- "s": 14334463,
+ "s": 14366685,
"affiliations": [
"Arkansas",
"AR",
@@ -13846,7 +13846,7 @@
"g": [
{
"id": "US_California_Chico",
- "s": 29417868,
+ "s": 29434746,
"affiliations": [
"California",
"CA",
@@ -13858,7 +13858,7 @@
},
{
"id": "US_California_Bakersfield_Bakersfield",
- "s": 29914548,
+ "s": 29908601,
"affiliations": [
"California",
"CA",
@@ -13870,7 +13870,7 @@
},
{
"id": "US_California_Bakersfield_Lancaster",
- "s": 24132533,
+ "s": 24154304,
"affiliations": [
"California",
"CA",
@@ -13882,7 +13882,7 @@
},
{
"id": "US_California_LA",
- "s": 164759789,
+ "s": 164896944,
"affiliations": [
"California",
"CA",
@@ -13894,7 +13894,7 @@
},
{
"id": "US_California_LA North",
- "s": 49987468,
+ "s": 50023195,
"affiliations": [
"California",
"CA",
@@ -13906,7 +13906,7 @@
},
{
"id": "US_California_Redding",
- "s": 37045835,
+ "s": 37036730,
"affiliations": [
"California",
"CA",
@@ -13919,7 +13919,7 @@
},
{
"id": "US_California_Sacramento_Sacramento",
- "s": 20760896,
+ "s": 20848650,
"affiliations": [
"California",
"CA",
@@ -13931,7 +13931,7 @@
},
{
"id": "US_California_Sacramento_Fresno",
- "s": 24036444,
+ "s": 23861034,
"affiliations": [
"California",
"CA",
@@ -13943,7 +13943,7 @@
},
{
"id": "US_California_Sacramento_Stockton",
- "s": 30160430,
+ "s": 30006688,
"affiliations": [
"California",
"CA",
@@ -13955,7 +13955,7 @@
},
{
"id": "US_California_San Diego",
- "s": 50064260,
+ "s": 50139795,
"affiliations": [
"California",
"CA",
@@ -13967,7 +13967,7 @@
},
{
"id": "US_California_Santa_Clara_Santa Cruz",
- "s": 15488453,
+ "s": 15524623,
"affiliations": [
"California",
"CA",
@@ -13979,7 +13979,7 @@
},
{
"id": "US_California_Santa_Clara_Palo Alto",
- "s": 73826354,
+ "s": 74060101,
"affiliations": [
"California",
"CA",
@@ -13996,7 +13996,7 @@
"g": [
{
"id": "US_Colorado_Aspen",
- "s": 38939384,
+ "s": 39002181,
"affiliations": [
"Colorado",
"CO",
@@ -14008,7 +14008,7 @@
},
{
"id": "US_Colorado_Denver",
- "s": 47507391,
+ "s": 47836848,
"affiliations": [
"Colorado",
"CO",
@@ -14020,7 +14020,7 @@
},
{
"id": "US_Colorado_South",
- "s": 31449895,
+ "s": 31480545,
"affiliations": [
"Colorado",
"CO",
@@ -14034,7 +14034,7 @@
},
{
"id": "US_Connecticut",
- "s": 20410469,
+ "s": 20537153,
"affiliations": [
"Connecticut",
"CT",
@@ -14046,7 +14046,7 @@
},
{
"id": "US_Delaware",
- "s": 7166405,
+ "s": 7195389,
"affiliations": [
"Delaware",
"DE",
@@ -14061,7 +14061,7 @@
"g": [
{
"id": "US_Florida_Jacksonville",
- "s": 25478416,
+ "s": 25450358,
"affiliations": [
"Florida",
"FL",
@@ -14073,7 +14073,7 @@
},
{
"id": "US_Florida_Miami",
- "s": 47330604,
+ "s": 47970200,
"affiliations": [
"Florida",
"FL",
@@ -14085,7 +14085,7 @@
},
{
"id": "US_Florida_Orlando",
- "s": 17555803,
+ "s": 17751685,
"affiliations": [
"Florida",
"FL",
@@ -14097,7 +14097,7 @@
},
{
"id": "US_Florida_Tampa",
- "s": 47531587,
+ "s": 48027867,
"affiliations": [
"Florida",
"FL",
@@ -14109,7 +14109,7 @@
},
{
"id": "US_Florida_Gainesville",
- "s": 20044612,
+ "s": 20259924,
"affiliations": [
"Florida",
"FL",
@@ -14126,7 +14126,7 @@
"g": [
{
"id": "US_Georgia_Atlanta",
- "s": 46365065,
+ "s": 46467260,
"affiliations": [
"Georgia",
"GA",
@@ -14138,7 +14138,7 @@
},
{
"id": "US_Georgia_Macon",
- "s": 32258978,
+ "s": 32470478,
"affiliations": [
"Georgia",
"GA",
@@ -14150,7 +14150,7 @@
},
{
"id": "US_Georgia_North",
- "s": 21465736,
+ "s": 21533598,
"affiliations": [
"Georgia",
"GA",
@@ -14162,7 +14162,7 @@
},
{
"id": "US_Georgia_South",
- "s": 25369315,
+ "s": 25196628,
"affiliations": [
"Georgia",
"GA",
@@ -14176,7 +14176,7 @@
},
{
"id": "US_Guam",
- "s": 1811016,
+ "s": 1813329,
"affiliations": [
"Guam",
"GU",
@@ -14191,7 +14191,7 @@
},
{
"id": "US_Hawaii",
- "s": 8609930,
+ "s": 8685821,
"affiliations": [
"Hawaii",
"HI",
@@ -14206,7 +14206,7 @@
"g": [
{
"id": "US_Idaho_North",
- "s": 19257065,
+ "s": 19269024,
"affiliations": [
"Idaho",
"ID",
@@ -14218,7 +14218,7 @@
},
{
"id": "US_Idaho_South",
- "s": 20386265,
+ "s": 20422355,
"affiliations": [
"Idaho",
"ID",
@@ -14235,7 +14235,7 @@
"g": [
{
"id": "US_Illinois_South",
- "s": 18353124,
+ "s": 18395161,
"affiliations": [
"Illinois",
"IL",
@@ -14247,7 +14247,7 @@
},
{
"id": "US_Illinois_Chickago",
- "s": 48634940,
+ "s": 48691756,
"affiliations": [
"Illinois",
"IL",
@@ -14259,7 +14259,7 @@
},
{
"id": "US_Illinois_Elgin",
- "s": 15245349,
+ "s": 15299322,
"affiliations": [
"Illinois",
"IL",
@@ -14271,7 +14271,7 @@
},
{
"id": "US_Illinois_Rockford",
- "s": 10859618,
+ "s": 10895588,
"affiliations": [
"Illinois",
"IL",
@@ -14283,7 +14283,7 @@
},
{
"id": "US_Illinois_Springfield",
- "s": 29524127,
+ "s": 29579573,
"affiliations": [
"Illinois",
"IL",
@@ -14300,7 +14300,7 @@
"g": [
{
"id": "US_Indiana_North",
- "s": 19585573,
+ "s": 19652382,
"affiliations": [
"Indiana",
"IN",
@@ -14312,7 +14312,7 @@
},
{
"id": "US_Indiana_Evansville",
- "s": 13162648,
+ "s": 13214621,
"affiliations": [
"Indiana",
"IN",
@@ -14324,7 +14324,7 @@
},
{
"id": "US_Indiana_Indianapolis",
- "s": 19385430,
+ "s": 19471548,
"affiliations": [
"Indiana",
"IN",
@@ -14341,7 +14341,7 @@
"g": [
{
"id": "US_Iowa_Des Moines",
- "s": 22229053,
+ "s": 22272251,
"affiliations": [
"Iowa",
"IA",
@@ -14353,7 +14353,7 @@
},
{
"id": "US_Iowa_Waterloo",
- "s": 18683961,
+ "s": 18733218,
"affiliations": [
"Iowa",
"IA",
@@ -14365,7 +14365,7 @@
},
{
"id": "US_Iowa_West",
- "s": 20467372,
+ "s": 20509190,
"affiliations": [
"Iowa",
"IA",
@@ -14382,7 +14382,7 @@
"g": [
{
"id": "US_Kansas_East",
- "s": 20984358,
+ "s": 21024108,
"affiliations": [
"Kansas",
"KS",
@@ -14394,7 +14394,7 @@
},
{
"id": "US_Kansas_West",
- "s": 9761707,
+ "s": 9777693,
"affiliations": [
"Kansas",
"KS",
@@ -14406,7 +14406,7 @@
},
{
"id": "US_Kansas_Wichita",
- "s": 14042909,
+ "s": 14078659,
"affiliations": [
"Kansas",
"KS",
@@ -14423,7 +14423,7 @@
"g": [
{
"id": "US_Kentucky_East",
- "s": 30786875,
+ "s": 30845668,
"affiliations": [
"Kentucky",
"KY",
@@ -14435,7 +14435,7 @@
},
{
"id": "US_Kentucky_West",
- "s": 17216553,
+ "s": 17247942,
"affiliations": [
"Kentucky",
"KY",
@@ -14447,7 +14447,7 @@
},
{
"id": "US_Kentucky_Louisville",
- "s": 31582996,
+ "s": 31657220,
"affiliations": [
"Kentucky",
"KY",
@@ -14464,7 +14464,7 @@
"g": [
{
"id": "US_Louisiana_Central",
- "s": 28873843,
+ "s": 28918492,
"affiliations": [
"Louisiana",
"LA",
@@ -14476,7 +14476,7 @@
},
{
"id": "US_Louisiana_New Orleans",
- "s": 42544862,
+ "s": 42602591,
"affiliations": [
"Louisiana",
"LA",
@@ -14490,7 +14490,7 @@
},
{
"id": "US_Maine",
- "s": 32384289,
+ "s": 32544781,
"affiliations": [
"Maine",
"ME",
@@ -14505,7 +14505,7 @@
"g": [
{
"id": "US_Maryland_Baltimore",
- "s": 69569266,
+ "s": 70740458,
"affiliations": [
"Maryland",
"MD",
@@ -14517,7 +14517,7 @@
},
{
"id": "US_Maryland_and_DC",
- "s": 32267539,
+ "s": 32345298,
"affiliations": [
"District of Columbia",
"DC",
@@ -14537,7 +14537,7 @@
"g": [
{
"id": "US_Massachusetts_Boston",
- "s": 52856840,
+ "s": 52939715,
"affiliations": [
"Massachusetts",
"MA",
@@ -14549,7 +14549,7 @@
},
{
"id": "US_Massachusetts_Central",
- "s": 24987020,
+ "s": 25005904,
"affiliations": [
"Massachusetts",
"MA",
@@ -14561,7 +14561,7 @@
},
{
"id": "US_Massachusetts_Plymouth",
- "s": 27102762,
+ "s": 27104084,
"affiliations": [
"Massachusetts",
"MA",
@@ -14573,7 +14573,7 @@
},
{
"id": "US_Massachusetts_Southeastern",
- "s": 13380422,
+ "s": 13377432,
"affiliations": [
"Massachusetts",
"MA",
@@ -14585,7 +14585,7 @@
},
{
"id": "US_Massachusetts_West",
- "s": 21643505,
+ "s": 21660801,
"affiliations": [
"Massachusetts",
"MA",
@@ -14602,7 +14602,7 @@
"g": [
{
"id": "US_Michigan_Detroit",
- "s": 26524472,
+ "s": 26589023,
"affiliations": [
"Michigan",
"MI",
@@ -14614,7 +14614,7 @@
},
{
"id": "US_Michigan_North",
- "s": 30024184,
+ "s": 30049812,
"affiliations": [
"Michigan",
"MI",
@@ -14626,7 +14626,7 @@
},
{
"id": "US_Michigan_Grand Rapids",
- "s": 20520393,
+ "s": 20575425,
"affiliations": [
"Little Traverse Bay Band of Odawas Reservation",
"Little Traverse Bay Bands Of Odawa Reservation",
@@ -14644,7 +14644,7 @@
},
{
"id": "US_Michigan_Lansing",
- "s": 22484828,
+ "s": 22539213,
"affiliations": [
"Little Traverse Bay Band of Odawas Reservation",
"Little Traverse Bay Bands of Odawas Reservation",
@@ -14663,7 +14663,7 @@
"g": [
{
"id": "US_Minnesota_Rochester",
- "s": 26359578,
+ "s": 26447882,
"affiliations": [
"Minnesota",
"MN",
@@ -14675,7 +14675,7 @@
},
{
"id": "US_Minnesota_Minneapolis",
- "s": 29078352,
+ "s": 30524109,
"affiliations": [
"Minnesota",
"MN",
@@ -14687,7 +14687,7 @@
},
{
"id": "US_Minnesota_North",
- "s": 37125234,
+ "s": 37150185,
"affiliations": [
"Minnesota",
"MN",
@@ -14699,7 +14699,7 @@
},
{
"id": "US_Minnesota_Saint Cloud",
- "s": 23173662,
+ "s": 23200588,
"affiliations": [
"Minnesota",
"MN",
@@ -14716,7 +14716,7 @@
"g": [
{
"id": "US_Mississippi_Gulfport",
- "s": 17724124,
+ "s": 17718975,
"affiliations": [
"Mississippi",
"MS",
@@ -14728,7 +14728,7 @@
},
{
"id": "US_Mississippi_North",
- "s": 26772970,
+ "s": 26815006,
"affiliations": [
"Mississippi",
"MS",
@@ -14745,7 +14745,7 @@
"g": [
{
"id": "US_Missouri_East",
- "s": 8323243,
+ "s": 8328607,
"affiliations": [
"Missouri",
"MO",
@@ -14757,7 +14757,7 @@
},
{
"id": "US_Missouri_Springfield",
- "s": 19280771,
+ "s": 19288985,
"affiliations": [
"Missouri",
"MO",
@@ -14769,7 +14769,7 @@
},
{
"id": "US_Missouri_Kansas",
- "s": 19915967,
+ "s": 19595486,
"affiliations": [
"Missouri",
"MO",
@@ -14781,7 +14781,7 @@
},
{
"id": "US_Missouri_St Louis",
- "s": 22060806,
+ "s": 22166600,
"affiliations": [
"Missouri",
"MO",
@@ -14798,7 +14798,7 @@
"g": [
{
"id": "US_Montana_East",
- "s": 23676316,
+ "s": 23710410,
"affiliations": [
"Montana",
"MT",
@@ -14810,7 +14810,7 @@
},
{
"id": "US_Montana_West",
- "s": 23409183,
+ "s": 23440368,
"affiliations": [
"Montana",
"MT",
@@ -14827,7 +14827,7 @@
"g": [
{
"id": "US_Nebraska_East",
- "s": 18565473,
+ "s": 18588678,
"affiliations": [
"Nebraska",
"NE",
@@ -14839,7 +14839,7 @@
},
{
"id": "US_Nebraska_West",
- "s": 22044218,
+ "s": 22197487,
"affiliations": [
"Nebraska",
"NE",
@@ -14853,7 +14853,7 @@
},
{
"id": "US_Nevada",
- "s": 28793826,
+ "s": 28996625,
"affiliations": [
"Nevada",
"NV",
@@ -14865,7 +14865,7 @@
},
{
"id": "US_New Hampshire",
- "s": 25878878,
+ "s": 25907928,
"affiliations": [
"New Hampshire",
"NH",
@@ -14880,7 +14880,7 @@
"g": [
{
"id": "US_New Jersey_North",
- "s": 24800308,
+ "s": 24849099,
"affiliations": [
"New Jersey",
"NJ",
@@ -14892,7 +14892,7 @@
},
{
"id": "US_New Jersey_South",
- "s": 35074828,
+ "s": 35094278,
"affiliations": [
"New Jersey",
"NJ",
@@ -14909,7 +14909,7 @@
"g": [
{
"id": "US_New Mexico_Albuquerque",
- "s": 23292323,
+ "s": 23344547,
"affiliations": [
"New Mexico",
"NM",
@@ -14921,7 +14921,7 @@
},
{
"id": "US_New Mexico_Roswell",
- "s": 23108310,
+ "s": 23135371,
"affiliations": [
"New Mexico",
"NM",
@@ -14938,7 +14938,7 @@
"g": [
{
"id": "US_New York_East",
- "s": 51242566,
+ "s": 51281357,
"affiliations": [
"Gardiners Island",
"New York",
@@ -14951,7 +14951,7 @@
},
{
"id": "US_New York_New York",
- "s": 72182799,
+ "s": 72317645,
"affiliations": [
"Ellis Island (historical)",
"Liberty Island",
@@ -14965,7 +14965,7 @@
},
{
"id": "US_New York_North",
- "s": 28311118,
+ "s": 28332979,
"affiliations": [
"New York",
"NY",
@@ -14977,7 +14977,7 @@
},
{
"id": "US_New York_West",
- "s": 36098857,
+ "s": 36211316,
"affiliations": [
"New York",
"NY",
@@ -14994,7 +14994,7 @@
"g": [
{
"id": "US_North Carolina_Wilson",
- "s": 24718931,
+ "s": 24713723,
"affiliations": [
"North Carolina",
"NC",
@@ -15006,7 +15006,7 @@
},
{
"id": "US_North Carolina_Asheville",
- "s": 21255685,
+ "s": 21288926,
"affiliations": [
"North Carolina",
"NC",
@@ -15018,7 +15018,7 @@
},
{
"id": "US_North Carolina_Charlotte",
- "s": 28375269,
+ "s": 28400135,
"affiliations": [
"North Carolina",
"NC",
@@ -15030,7 +15030,7 @@
},
{
"id": "US_North Carolina_Greensboro",
- "s": 22664330,
+ "s": 22679595,
"affiliations": [
"North Carolina",
"NC",
@@ -15042,7 +15042,7 @@
},
{
"id": "US_North Carolina_Raleigh",
- "s": 30190665,
+ "s": 30233174,
"affiliations": [
"North Carolina",
"NC",
@@ -15054,7 +15054,7 @@
},
{
"id": "US_North Carolina_Wilmington",
- "s": 20638436,
+ "s": 20591909,
"affiliations": [
"North Carolina",
"NC",
@@ -15071,7 +15071,7 @@
"g": [
{
"id": "US_North Dakota_Bismarck",
- "s": 14711414,
+ "s": 14727676,
"affiliations": [
"North Dakota",
"ND",
@@ -15083,7 +15083,7 @@
},
{
"id": "US_North Dakota_East",
- "s": 27080788,
+ "s": 27110423,
"affiliations": [
"North Dakota",
"ND",
@@ -15095,7 +15095,7 @@
},
{
"id": "US_North Dakota_Minot",
- "s": 13721147,
+ "s": 13791083,
"affiliations": [
"North Dakota",
"ND",
@@ -15112,7 +15112,7 @@
"g": [
{
"id": "US_Ohio_Cleveland",
- "s": 24372681,
+ "s": 24602913,
"affiliations": [
"Ohio",
"OH",
@@ -15124,7 +15124,7 @@
},
{
"id": "US_Ohio_Cincinnati",
- "s": 21408725,
+ "s": 21611383,
"affiliations": [
"Ohio",
"OH",
@@ -15136,7 +15136,7 @@
},
{
"id": "US_Ohio_Columbus",
- "s": 17210142,
+ "s": 17244660,
"affiliations": [
"Ohio",
"OH",
@@ -15148,7 +15148,7 @@
},
{
"id": "US_Ohio_Toledo",
- "s": 13792838,
+ "s": 13841582,
"affiliations": [
"Ohio",
"OH",
@@ -15165,7 +15165,7 @@
"g": [
{
"id": "US_Oklahoma_East",
- "s": 14151105,
+ "s": 14170224,
"affiliations": [
"Oklahoma",
"OK",
@@ -15177,7 +15177,7 @@
},
{
"id": "US_Oklahoma_West",
- "s": 14694119,
+ "s": 14706025,
"affiliations": [
"Oklahoma",
"OK",
@@ -15189,7 +15189,7 @@
},
{
"id": "US_Oklahoma_Tulsa",
- "s": 24596727,
+ "s": 24620438,
"affiliations": [
"Oklahoma",
"OK",
@@ -15201,7 +15201,7 @@
},
{
"id": "US_Oklahoma_Oklahoma",
- "s": 20291562,
+ "s": 20356536,
"affiliations": [
"Oklahoma",
"OK",
@@ -15218,7 +15218,7 @@
"g": [
{
"id": "US_Oregon_Eugene",
- "s": 22140981,
+ "s": 22181403,
"affiliations": [
"Oregon",
"OR",
@@ -15230,7 +15230,7 @@
},
{
"id": "US_Oregon_Portland",
- "s": 66168084,
+ "s": 66466544,
"affiliations": [
"Oregon",
"OR",
@@ -15242,7 +15242,7 @@
},
{
"id": "US_Oregon_West",
- "s": 26407305,
+ "s": 26535602,
"affiliations": [
"Oregon",
"OR",
@@ -15259,7 +15259,7 @@
"g": [
{
"id": "US_Pennsylvania_Central",
- "s": 30926158,
+ "s": 30968474,
"affiliations": [
"Pennsylvania",
"PA",
@@ -15271,7 +15271,7 @@
},
{
"id": "US_Pennsylvania_Pittsburgh",
- "s": 25388369,
+ "s": 25999270,
"affiliations": [
"Pennsylvania",
"PA",
@@ -15283,7 +15283,7 @@
},
{
"id": "US_Pennsylvania_Reading",
- "s": 23295667,
+ "s": 23424384,
"affiliations": [
"Pennsylvania",
"PA",
@@ -15295,7 +15295,7 @@
},
{
"id": "US_Pennsylvania_Scranton",
- "s": 27242257,
+ "s": 27368158,
"affiliations": [
"Pennsylvania",
"PA",
@@ -15309,7 +15309,7 @@
},
{
"id": "US_Puerto Rico",
- "s": 39251660,
+ "s": 51239579,
"affiliations": [
"Puerto Rico",
"PR",
@@ -15322,7 +15322,7 @@
},
{
"id": "US_Rhode Island",
- "s": 6402761,
+ "s": 6452596,
"affiliations": [
"Patience Island",
"Rhode Island",
@@ -15338,7 +15338,7 @@
"g": [
{
"id": "US_South Carolina_Charleston",
- "s": 18722925,
+ "s": 18764178,
"affiliations": [
"South Carolina",
"SC",
@@ -15350,7 +15350,7 @@
},
{
"id": "US_South Carolina_Columbia",
- "s": 27008005,
+ "s": 27182122,
"affiliations": [
"South Carolina",
"SC",
@@ -15362,7 +15362,7 @@
},
{
"id": "US_South Carolina_Florence",
- "s": 20870811,
+ "s": 20789667,
"affiliations": [
"South Carolina",
"SC",
@@ -15376,7 +15376,7 @@
},
{
"id": "US_South Dakota",
- "s": 22610175,
+ "s": 22655386,
"affiliations": [
"South Dakota",
"SD",
@@ -15391,7 +15391,7 @@
"g": [
{
"id": "US_Tennessee_East",
- "s": 35864385,
+ "s": 35919538,
"affiliations": [
"Tennessee",
"TN",
@@ -15403,7 +15403,7 @@
},
{
"id": "US_Tennessee_West",
- "s": 22794263,
+ "s": 22862768,
"affiliations": [
"Tennessee",
"TN",
@@ -15420,7 +15420,7 @@
"g": [
{
"id": "US_Texas_Austin",
- "s": 45409552,
+ "s": 45502583,
"affiliations": [
"Texas",
"TX",
@@ -15432,7 +15432,7 @@
},
{
"id": "US_Texas_Victoria",
- "s": 10991843,
+ "s": 11007865,
"affiliations": [
"Texas",
"TX",
@@ -15444,7 +15444,7 @@
},
{
"id": "US_Texas_Dallas",
- "s": 51305777,
+ "s": 51413551,
"affiliations": [
"Texas",
"TX",
@@ -15456,7 +15456,7 @@
},
{
"id": "US_Texas_Houston",
- "s": 33545281,
+ "s": 33604743,
"affiliations": [
"Texas",
"TX",
@@ -15468,7 +15468,7 @@
},
{
"id": "US_Texas_Amarillo",
- "s": 10728773,
+ "s": 10749498,
"affiliations": [
"Texas",
"TX",
@@ -15480,7 +15480,7 @@
},
{
"id": "US_Texas_Lubbock",
- "s": 11935947,
+ "s": 11951136,
"affiliations": [
"Texas",
"TX",
@@ -15492,7 +15492,7 @@
},
{
"id": "US_Texas_San Antonio",
- "s": 23605925,
+ "s": 23663372,
"affiliations": [
"Texas",
"TX",
@@ -15504,7 +15504,7 @@
},
{
"id": "US_Texas_Southwest",
- "s": 16021384,
+ "s": 16030066,
"affiliations": [
"Texas",
"TX",
@@ -15516,7 +15516,7 @@
},
{
"id": "US_Texas_Tyler",
- "s": 20615264,
+ "s": 20668751,
"affiliations": [
"Texas",
"TX",
@@ -15528,7 +15528,7 @@
},
{
"id": "US_Texas_Wako",
- "s": 16821294,
+ "s": 16844168,
"affiliations": [
"Texas",
"TX",
@@ -15540,7 +15540,7 @@
},
{
"id": "US_Texas_West",
- "s": 19763249,
+ "s": 19793519,
"affiliations": [
"Texas",
"TX",
@@ -15554,7 +15554,7 @@
},
{
"id": "US_United States Minor Outlying Islands",
- "s": 519835,
+ "s": 528038,
"affiliations": [
"Navassa Island",
"United States Minor Outlying Islands"
@@ -15565,7 +15565,7 @@
"g": [
{
"id": "US_Utah_South",
- "s": 17636595,
+ "s": 17661428,
"affiliations": [
"United States of America",
"Utah",
@@ -15577,7 +15577,7 @@
},
{
"id": "US_Utah_North",
- "s": 26037162,
+ "s": 26574911,
"affiliations": [
"United States of America",
"Utah",
@@ -15591,7 +15591,7 @@
},
{
"id": "US_Vermont",
- "s": 13995557,
+ "s": 14016454,
"affiliations": [
"United States of America",
"Vermont",
@@ -15606,7 +15606,7 @@
"g": [
{
"id": "US_Virginia_Roanoke",
- "s": 28611345,
+ "s": 28674322,
"affiliations": [
"Virginia",
"VA",
@@ -15618,7 +15618,7 @@
},
{
"id": "US_Virginia_Norfolk",
- "s": 55180171,
+ "s": 55219624,
"affiliations": [
"Virginia",
"VA",
@@ -15630,7 +15630,7 @@
},
{
"id": "US_Virginia_Lynchburg",
- "s": 35758379,
+ "s": 35806874,
"affiliations": [
"Virginia",
"VA",
@@ -15642,7 +15642,7 @@
},
{
"id": "US_Virginia_Richmond",
- "s": 16490504,
+ "s": 16536387,
"affiliations": [
"Virginia",
"VA",
@@ -15654,7 +15654,7 @@
},
{
"id": "US_Virginia_Alexandria",
- "s": 25980205,
+ "s": 26118752,
"affiliations": [
"Virginia",
"VA",
@@ -15671,7 +15671,7 @@
"g": [
{
"id": "US_Washington_Coast",
- "s": 37989002,
+ "s": 38040399,
"affiliations": [
"Puyallup Tribe",
"Puyallup Tribe Reservation",
@@ -15685,7 +15685,7 @@
},
{
"id": "US_Washington_Seattle",
- "s": 38045159,
+ "s": 38139664,
"affiliations": [
"United States of America",
"Washington",
@@ -15697,7 +15697,7 @@
},
{
"id": "US_Washington_Yakima",
- "s": 24969798,
+ "s": 25022075,
"affiliations": [
"United States of America",
"Washington",
@@ -15711,7 +15711,7 @@
},
{
"id": "US_West Virginia",
- "s": 24229087,
+ "s": 24263084,
"affiliations": [
"United States of America",
"West Virginia",
@@ -15726,7 +15726,7 @@
"g": [
{
"id": "US_Wisconsin_Milwaukee",
- "s": 22335762,
+ "s": 22419550,
"affiliations": [
"United States of America",
"Wisconsin",
@@ -15738,7 +15738,7 @@
},
{
"id": "US_Wisconsin_North",
- "s": 22481639,
+ "s": 22491734,
"affiliations": [
"United States of America",
"Wisconsin",
@@ -15750,7 +15750,7 @@
},
{
"id": "US_Wisconsin_Madison",
- "s": 20149057,
+ "s": 20171853,
"affiliations": [
"United States of America",
"Wisconsin",
@@ -15762,7 +15762,7 @@
},
{
"id": "US_Wisconsin_Eau Claire",
- "s": 19938465,
+ "s": 19962625,
"affiliations": [
"United States of America",
"Wisconsin",
@@ -15776,7 +15776,7 @@
},
{
"id": "US_Wyoming",
- "s": 30528845,
+ "s": 30585254,
"affiliations": [
"United States of America",
"Wyoming",
@@ -15790,7 +15790,7 @@
},
{
"id": "Uruguay",
- "s": 20084510,
+ "s": 20218247,
"affiliations": [
"Cerro Largo",
"Artigas",
@@ -15820,7 +15820,7 @@
},
{
"id": "Uzbekistan",
- "s": 30696661,
+ "s": 30941436,
"affiliations": [
"Andijon Viloyati",
"Border Kyrgyzstan - Uzbekistan",
@@ -15845,7 +15845,7 @@
},
{
"id": "Vanuatu",
- "s": 3596413,
+ "s": 3597786,
"affiliations": [
"Malampa",
"Penama",
@@ -15864,7 +15864,7 @@
"g": [
{
"id": "Venezuela_North",
- "s": 16564710,
+ "s": 16703240,
"affiliations": [
"Barinas",
"Carabobo",
@@ -15896,7 +15896,7 @@
},
{
"id": "Venezuela_South",
- "s": 14755952,
+ "s": 14892137,
"affiliations": [
"Amazonas",
"Apure",
@@ -15919,7 +15919,7 @@
},
{
"id": "Vietnam",
- "s": 43852125,
+ "s": 44152401,
"affiliations": [
"T\u1ec9nh H\u00e0 Nam",
"T\u1ec9nh H\u00e0 T\u0129nh",
@@ -15992,7 +15992,7 @@
},
{
"id": "Yemen",
- "s": 16587547,
+ "s": 16646299,
"affiliations": [
"Abyan",
"Ad Dali'",
@@ -16023,7 +16023,7 @@
},
{
"id": "Zambia",
- "s": 37585134,
+ "s": 37846449,
"affiliations": [
"Central Province",
"Copperbelt Province",
@@ -16043,7 +16043,7 @@
},
{
"id": "Zimbabwe",
- "s": 94975040,
+ "s": 95117045,
"affiliations": [
"Bulawayo Province",
"Mashonaland Central",
@@ -16063,7 +16063,7 @@
},
{
"id": "Antarctica",
- "s": 15348599,
+ "s": 15349543,
"affiliations": [
"South Georgia and South Sandwich Islands"
]
@@ -16073,7 +16073,7 @@
"g": [
{
"id": "Tokelau",
- "s": 82155,
+ "s": 82355,
"affiliations": [
"Tokelau"
],
@@ -16083,7 +16083,7 @@
},
{
"id": "New Zealand North_Auckland",
- "s": 49192365,
+ "s": 49383072,
"affiliations": [
"Auckland",
"Bay of Plenty",
@@ -16097,7 +16097,7 @@
},
{
"id": "New Zealand North_Wellington",
- "s": 38503929,
+ "s": 38550403,
"affiliations": [
"Gisborne",
"Hawke's Bay",
@@ -16112,7 +16112,7 @@
},
{
"id": "New Zealand South_Canterbury",
- "s": 38452031,
+ "s": 38503672,
"affiliations": [
"Canterbury",
"Chatham Islands",
@@ -16128,7 +16128,7 @@
},
{
"id": "New Zealand South_Southland",
- "s": 28386567,
+ "s": 28403196,
"affiliations": [
"New Zealand/Aotearoa",
"Otago",
@@ -16146,7 +16146,7 @@
"g": [
{
"id": "South Korea_North",
- "s": 58410087,
+ "s": 58661037,
"affiliations": [
"\uac15\uc6d0\ub3c4",
"\uacbd\uae30\ub3c4",
@@ -16165,7 +16165,7 @@
},
{
"id": "South Korea_South",
- "s": 50176294,
+ "s": 50608204,
"affiliations": [
"\uc81c\uc8fc\ub3c4",
"Gyeongnam-Busan Border",
diff --git a/data/drules_proto.bin b/data/drules_proto.bin
index d49b225f67..d5a66113b0 100644
--- a/data/drules_proto.bin
+++ b/data/drules_proto.bin
Binary files differ
diff --git a/data/drules_proto.txt b/data/drules_proto.txt
index cc4748e9e2..84b1eb8ae9 100644
--- a/data/drules_proto.txt
+++ b/data/drules_proto.txt
@@ -13340,6 +13340,8 @@ cont {
lines {
width: 5.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -13376,6 +13378,8 @@ cont {
lines {
width: 7.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -13412,6 +13416,8 @@ cont {
lines {
width: 9.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -14343,12 +14349,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14378,12 +14388,16 @@ cont {
lines {
width: 7.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14413,12 +14427,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14447,12 +14465,16 @@ cont {
lines {
width: 12.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14481,12 +14503,16 @@ cont {
lines {
width: 19.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 21.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14515,12 +14541,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14549,12 +14579,16 @@ cont {
lines {
width: 32.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 34.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15231,12 +15265,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15266,12 +15304,16 @@ cont {
lines {
width: 4.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15300,12 +15342,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15334,12 +15380,16 @@ cont {
lines {
width: 10.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15368,12 +15418,16 @@ cont {
lines {
width: 14.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 16.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15402,12 +15456,16 @@ cont {
lines {
width: 17.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 19.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17038,6 +17096,8 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17074,6 +17134,8 @@ cont {
lines {
width: 7.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17110,6 +17172,8 @@ cont {
lines {
width: 9.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17459,6 +17523,8 @@ cont {
lines {
width: 1.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -17478,12 +17544,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17511,12 +17581,16 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17543,12 +17617,16 @@ cont {
lines {
width: 5.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17575,12 +17653,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17607,12 +17689,16 @@ cont {
lines {
width: 8.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17639,12 +17725,16 @@ cont {
lines {
width: 10.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 11.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18216,12 +18306,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18251,12 +18345,16 @@ cont {
lines {
width: 8.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18285,12 +18383,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18319,12 +18421,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18353,12 +18459,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18387,12 +18497,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18962,12 +19076,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18997,12 +19115,16 @@ cont {
lines {
width: 8.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19031,12 +19153,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19065,12 +19191,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19099,12 +19229,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19133,12 +19267,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20072,12 +20210,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20107,12 +20249,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20141,12 +20287,16 @@ cont {
lines {
width: 8.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20175,12 +20325,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20209,12 +20363,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20243,12 +20401,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20754,12 +20916,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20782,12 +20948,16 @@ cont {
lines {
width: 12.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20810,12 +20980,16 @@ cont {
lines {
width: 18.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 18.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20838,12 +21012,16 @@ cont {
lines {
width: 24.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21293,12 +21471,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21328,12 +21510,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21362,12 +21548,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21396,12 +21586,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21430,12 +21624,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21464,12 +21662,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21847,12 +22049,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21868,12 +22074,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21888,12 +22098,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21916,12 +22130,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21944,12 +22162,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21972,12 +22194,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22316,12 +22542,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22344,12 +22574,16 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22372,12 +22606,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22400,12 +22638,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22629,12 +22871,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22657,12 +22903,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22685,12 +22935,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22713,12 +22967,16 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22741,12 +22999,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22769,12 +23031,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23700,12 +23966,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23735,12 +24005,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23769,12 +24043,16 @@ cont {
lines {
width: 8.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23803,12 +24081,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23837,12 +24119,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23871,12 +24157,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24203,12 +24493,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24223,12 +24517,16 @@ cont {
lines {
width: 8.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24243,12 +24541,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24263,12 +24565,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24291,12 +24597,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26776,12 +27086,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26811,12 +27125,16 @@ cont {
lines {
width: 7.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26846,12 +27164,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26880,12 +27202,16 @@ cont {
lines {
width: 12.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26914,12 +27240,16 @@ cont {
lines {
width: 19.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 21.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26948,12 +27278,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26982,12 +27316,16 @@ cont {
lines {
width: 32.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 34.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27611,12 +27949,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27646,12 +27988,16 @@ cont {
lines {
width: 4.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27680,12 +28026,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27714,12 +28064,16 @@ cont {
lines {
width: 10.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27748,12 +28102,16 @@ cont {
lines {
width: 14.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 16.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27782,12 +28140,16 @@ cont {
lines {
width: 17.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 19.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28342,12 +28704,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28371,12 +28737,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28399,12 +28769,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28427,12 +28801,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28455,12 +28833,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28483,12 +28865,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -47392,6 +47778,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47409,6 +47797,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47426,6 +47816,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47443,6 +47835,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48184,6 +48578,8 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -48199,6 +48595,8 @@ cont {
lines {
width: 4.4
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -48213,12 +48611,16 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 5.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -48242,12 +48644,16 @@ cont {
lines {
width: 6.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -48271,12 +48677,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -48300,12 +48710,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -48866,6 +49280,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48883,6 +49299,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48900,6 +49318,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48917,6 +49337,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -49133,6 +49555,8 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -49148,6 +49572,8 @@ cont {
lines {
width: 4.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -49162,12 +49588,16 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -49191,12 +49621,16 @@ cont {
lines {
width: 6.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -49220,12 +49654,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -49249,12 +49687,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -55332,6 +55774,8 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -55347,6 +55791,8 @@ cont {
lines {
width: 4.4
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -55361,12 +55807,16 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 5.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -55390,12 +55840,16 @@ cont {
lines {
width: 6.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -55419,12 +55873,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -55448,12 +55906,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -60691,380 +61153,6 @@ cont {
name: "sponsored-booking"
element {
scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15611
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15619
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15626
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15649
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15664
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15671
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15679
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15701
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15768
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15776
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15783
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
symbol {
name: "hotel-s"
priority: 16805
@@ -61084,320 +61172,14 @@ cont {
}
element {
scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15820
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15828
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15835
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15858
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
symbol {
name: "zero-icon"
priority: 16597
- min_distance: 24
}
apply_if: "rating<8"
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15611
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15619
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15626
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15649
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15664
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15671
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15679
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15701
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
symbol {
name: "alpine_hut-m"
priority: 16813
@@ -61417,48 +61199,6 @@ cont {
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
symbol {
name: "hotel-m"
priority: 16813
@@ -61478,209 +61218,14 @@ cont {
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15768
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15776
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15783
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15805
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15820
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15828
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15835
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15858
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
symbol {
name: "zero-icon"
priority: 16597
- min_distance: 24
}
apply_if: "rating<7"
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16611
@@ -61690,6 +61235,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -61737,34 +61283,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16649
@@ -61784,19 +61302,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16664
@@ -61806,6 +61311,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -61853,34 +61359,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16701
@@ -61900,19 +61378,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16813
@@ -61922,6 +61387,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -61969,34 +61435,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16813
@@ -62016,19 +61454,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16768
@@ -62038,6 +61463,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -62085,34 +61511,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16805
@@ -62141,6 +61539,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -62188,34 +61587,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16858
@@ -62316,6 +61687,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -62324,19 +61696,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16611
@@ -62346,6 +61705,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -62393,34 +61753,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16649
@@ -62440,19 +61772,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16664
@@ -62462,6 +61781,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -62509,34 +61829,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16701
@@ -62556,19 +61848,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16813
@@ -62578,6 +61857,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -62625,34 +61905,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16813
@@ -62672,19 +61924,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16768
@@ -62694,6 +61933,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -62741,34 +61981,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16805
@@ -62797,6 +62009,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -62844,34 +62057,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16858
@@ -62972,6 +62157,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -62980,28 +62166,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16611
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -63033,7 +62207,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16626
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63049,34 +62223,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16649
@@ -63096,28 +62242,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16664
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -63149,7 +62283,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16679
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63165,34 +62299,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16701
@@ -63212,28 +62318,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -63265,7 +62359,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63281,34 +62375,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16813
@@ -63328,28 +62394,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16768
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -63381,7 +62435,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16783
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63397,34 +62451,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16805
@@ -63447,12 +62473,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16820
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -63484,7 +62511,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16835
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63500,34 +62527,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16858
@@ -63586,7 +62585,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63604,7 +62603,7 @@ cont {
symbol {
name: "alpine_hut-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63622,12 +62621,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -63636,28 +62636,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16611
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -63689,7 +62677,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16626
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63705,34 +62693,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16649
@@ -63752,28 +62712,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16664
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -63805,7 +62753,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16679
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63821,34 +62769,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16701
@@ -63868,28 +62788,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -63921,7 +62829,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63937,34 +62845,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16813
@@ -63984,28 +62864,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16768
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -64037,7 +62905,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16783
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -64053,34 +62921,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16805
@@ -64103,12 +62943,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16820
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -64140,7 +62981,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16835
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -64156,34 +62997,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16858
@@ -64242,7 +63055,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -64260,7 +63073,7 @@ cont {
symbol {
name: "alpine_hut-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -64278,12 +63091,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -64488,6 +63302,14 @@ cont {
element {
scale: 16
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 16
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64512,6 +63334,14 @@ cont {
element {
scale: 17
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 17
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64536,6 +63366,14 @@ cont {
element {
scale: 18
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 18
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64560,6 +63398,14 @@ cont {
element {
scale: 19
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 19
+ symbol {
name: "artefact-l"
priority: 16537
}
diff --git a/data/drules_proto_clear.bin b/data/drules_proto_clear.bin
index cfdd36f0d1..84dc1a6e58 100644
--- a/data/drules_proto_clear.bin
+++ b/data/drules_proto_clear.bin
Binary files differ
diff --git a/data/drules_proto_clear.txt b/data/drules_proto_clear.txt
index caf3169043..2833c8ee08 100644
--- a/data/drules_proto_clear.txt
+++ b/data/drules_proto_clear.txt
@@ -13294,6 +13294,8 @@ cont {
lines {
width: 5.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -13330,6 +13332,8 @@ cont {
lines {
width: 7.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -13366,6 +13370,8 @@ cont {
lines {
width: 9.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -14297,12 +14303,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14332,12 +14342,16 @@ cont {
lines {
width: 7.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14367,12 +14381,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14401,12 +14419,16 @@ cont {
lines {
width: 12.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14435,12 +14457,16 @@ cont {
lines {
width: 19.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 21.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14469,12 +14495,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14503,12 +14533,16 @@ cont {
lines {
width: 32.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 34.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15185,12 +15219,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15220,12 +15258,16 @@ cont {
lines {
width: 4.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15254,12 +15296,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15288,12 +15334,16 @@ cont {
lines {
width: 10.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15322,12 +15372,16 @@ cont {
lines {
width: 14.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 16.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15356,12 +15410,16 @@ cont {
lines {
width: 17.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 19.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -16992,6 +17050,8 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17028,6 +17088,8 @@ cont {
lines {
width: 7.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17064,6 +17126,8 @@ cont {
lines {
width: 9.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17413,6 +17477,8 @@ cont {
lines {
width: 1.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -17432,12 +17498,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17465,12 +17535,16 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17497,12 +17571,16 @@ cont {
lines {
width: 5.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17529,12 +17607,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17561,12 +17643,16 @@ cont {
lines {
width: 8.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17593,12 +17679,16 @@ cont {
lines {
width: 10.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 11.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18170,12 +18260,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18205,12 +18299,16 @@ cont {
lines {
width: 8.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18239,12 +18337,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18273,12 +18375,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18307,12 +18413,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18341,12 +18451,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18916,12 +19030,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18951,12 +19069,16 @@ cont {
lines {
width: 8.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18985,12 +19107,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19019,12 +19145,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19053,12 +19183,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19087,12 +19221,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20026,12 +20164,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20061,12 +20203,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20095,12 +20241,16 @@ cont {
lines {
width: 8.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20129,12 +20279,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20163,12 +20317,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20197,12 +20355,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20708,12 +20870,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20736,12 +20902,16 @@ cont {
lines {
width: 12.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20764,12 +20934,16 @@ cont {
lines {
width: 18.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 18.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20792,12 +20966,16 @@ cont {
lines {
width: 24.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21247,12 +21425,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21282,12 +21464,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21316,12 +21502,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21350,12 +21540,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21384,12 +21578,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21418,12 +21616,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21801,12 +22003,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21822,12 +22028,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21842,12 +22052,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21870,12 +22084,16 @@ cont {
lines {
width: 15.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21898,12 +22116,16 @@ cont {
lines {
width: 22.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21926,12 +22148,16 @@ cont {
lines {
width: 28.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22243,12 +22469,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22271,12 +22501,16 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22299,12 +22533,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22327,12 +22565,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22492,12 +22734,16 @@ cont {
lines {
width: 3.2
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22520,12 +22766,16 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22548,12 +22798,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22576,12 +22830,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23406,12 +23664,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23441,12 +23703,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23475,12 +23741,16 @@ cont {
lines {
width: 8.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23509,12 +23779,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23543,12 +23817,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23577,12 +23855,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23909,12 +24191,16 @@ cont {
lines {
width: 6.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23929,12 +24215,16 @@ cont {
lines {
width: 8.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23949,12 +24239,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23969,12 +24263,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23997,12 +24295,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26482,12 +26784,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26517,12 +26823,16 @@ cont {
lines {
width: 7.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26552,12 +26862,16 @@ cont {
lines {
width: 9.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26586,12 +26900,16 @@ cont {
lines {
width: 12.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26620,12 +26938,16 @@ cont {
lines {
width: 19.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 21.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26654,12 +26976,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26688,12 +27014,16 @@ cont {
lines {
width: 32.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 34.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27317,12 +27647,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27352,12 +27686,16 @@ cont {
lines {
width: 4.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.6
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27386,12 +27724,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27420,12 +27762,16 @@ cont {
lines {
width: 10.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27454,12 +27800,16 @@ cont {
lines {
width: 14.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 16.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27488,12 +27838,16 @@ cont {
lines {
width: 17.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 19.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28048,12 +28402,16 @@ cont {
lines {
width: 3.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28077,12 +28435,16 @@ cont {
lines {
width: 6.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28105,12 +28467,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28133,12 +28499,16 @@ cont {
lines {
width: 13.6
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28161,12 +28531,16 @@ cont {
lines {
width: 20.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28189,12 +28563,16 @@ cont {
lines {
width: 26.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -46954,6 +47332,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -46971,6 +47351,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -46988,6 +47370,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47005,6 +47389,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47730,6 +48116,8 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -47745,6 +48133,8 @@ cont {
lines {
width: 4.4
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -47759,12 +48149,16 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 5.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -47788,12 +48182,16 @@ cont {
lines {
width: 6.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -47817,12 +48215,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -47846,12 +48248,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -48412,6 +48818,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48429,6 +48837,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48446,6 +48856,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48463,6 +48875,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48679,6 +49093,8 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -48694,6 +49110,8 @@ cont {
lines {
width: 4.4
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -48708,12 +49126,16 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -48737,12 +49159,16 @@ cont {
lines {
width: 6.8
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -48766,12 +49192,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -48795,12 +49225,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -54878,6 +55312,8 @@ cont {
lines {
width: 4.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -54893,6 +55329,8 @@ cont {
lines {
width: 4.4
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -54907,12 +55345,16 @@ cont {
lines {
width: 5.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 5.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -54936,12 +55378,16 @@ cont {
lines {
width: 6.8
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -54965,12 +55411,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -54994,12 +55444,16 @@ cont {
lines {
width: 8.0
color: 15592411
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 8421504
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -60205,380 +60659,6 @@ cont {
name: "sponsored-booking"
element {
scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15611
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15619
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15626
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15649
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15664
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15671
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15679
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15701
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15768
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15776
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15783
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
symbol {
name: "hotel-s"
priority: 16805
@@ -60598,320 +60678,14 @@ cont {
}
element {
scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15820
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15828
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15835
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15858
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
symbol {
name: "zero-icon"
priority: 16597
- min_distance: 24
}
apply_if: "rating<8"
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15611
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15619
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15626
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15649
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15664
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15671
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15679
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15701
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
symbol {
name: "alpine_hut-m"
priority: 16813
@@ -60931,48 +60705,6 @@ cont {
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
symbol {
name: "hotel-m"
priority: 16813
@@ -60992,209 +60724,14 @@ cont {
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15768
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15776
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15783
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15805
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15820
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15828
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15835
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15858
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
symbol {
name: "zero-icon"
priority: 16597
- min_distance: 24
}
apply_if: "rating<7"
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16611
@@ -61204,6 +60741,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -61251,34 +60789,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16649
@@ -61298,19 +60808,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16664
@@ -61320,6 +60817,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -61367,34 +60865,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16701
@@ -61414,19 +60884,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16813
@@ -61436,6 +60893,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -61483,34 +60941,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16813
@@ -61530,19 +60960,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16768
@@ -61552,6 +60969,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -61599,34 +61017,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16805
@@ -61655,6 +61045,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -61702,34 +61093,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16858
@@ -61830,6 +61193,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -61838,19 +61202,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16611
@@ -61860,6 +61211,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -61907,34 +61259,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16649
@@ -61954,19 +61278,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16664
@@ -61976,6 +61287,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -62023,34 +61335,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16701
@@ -62070,19 +61354,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16813
@@ -62092,6 +61363,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -62139,34 +61411,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16813
@@ -62186,19 +61430,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16768
@@ -62208,6 +61439,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -62255,34 +61487,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16805
@@ -62311,6 +61515,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -62358,34 +61563,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16858
@@ -62486,6 +61663,7 @@ cont {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -62494,28 +61672,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16611
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -62547,7 +61713,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16626
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -62563,34 +61729,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16649
@@ -62610,28 +61748,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16664
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -62663,7 +61789,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16679
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -62679,34 +61805,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16701
@@ -62726,28 +61824,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -62779,7 +61865,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -62795,34 +61881,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16813
@@ -62842,28 +61900,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16768
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -62895,7 +61941,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16783
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -62911,34 +61957,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16805
@@ -62961,12 +61979,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16820
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -62998,7 +62017,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16835
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63014,34 +62033,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16858
@@ -63100,7 +62091,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63118,7 +62109,7 @@ cont {
symbol {
name: "alpine_hut-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63136,12 +62127,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -63150,28 +62142,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16611
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15611
@@ -63203,7 +62183,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16626
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63219,34 +62199,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16649
@@ -63266,28 +62218,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16664
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15664
@@ -63319,7 +62259,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16679
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63335,34 +62275,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16701
@@ -63382,28 +62294,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15813
@@ -63435,7 +62335,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63451,34 +62351,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16813
@@ -63498,28 +62370,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16768
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15768
@@ -63551,7 +62411,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16783
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63567,34 +62427,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16805
@@ -63617,12 +62449,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16820
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15820
@@ -63654,7 +62487,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16835
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63670,34 +62503,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 4473924
- stroke_color: 872415231
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16858
@@ -63756,7 +62561,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63774,7 +62579,7 @@ cont {
symbol {
name: "alpine_hut-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63792,12 +62597,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 4473924
+ stroke_color: 872415231
offset_y: 1
}
priority: 15597
@@ -64002,6 +62808,14 @@ cont {
element {
scale: 16
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 16
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64026,6 +62840,14 @@ cont {
element {
scale: 17
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 17
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64050,6 +62872,14 @@ cont {
element {
scale: 18
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 18
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64074,6 +62904,14 @@ cont {
element {
scale: 19
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 19
+ symbol {
name: "artefact-l"
priority: 16537
}
diff --git a/data/drules_proto_dark.bin b/data/drules_proto_dark.bin
index 5d3f531870..d1a1c696f6 100644
--- a/data/drules_proto_dark.bin
+++ b/data/drules_proto_dark.bin
Binary files differ
diff --git a/data/drules_proto_dark.txt b/data/drules_proto_dark.txt
index 2362462330..4d97a25ac8 100644
--- a/data/drules_proto_dark.txt
+++ b/data/drules_proto_dark.txt
@@ -13294,6 +13294,8 @@ cont {
lines {
width: 5.8
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -13330,6 +13332,8 @@ cont {
lines {
width: 7.8
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -13366,6 +13370,8 @@ cont {
lines {
width: 9.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -14306,12 +14312,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14342,12 +14352,16 @@ cont {
lines {
width: 7.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14378,12 +14392,16 @@ cont {
lines {
width: 9.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14413,12 +14431,16 @@ cont {
lines {
width: 12.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14448,12 +14470,16 @@ cont {
lines {
width: 19.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 21.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14483,12 +14509,16 @@ cont {
lines {
width: 26.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -14518,12 +14548,16 @@ cont {
lines {
width: 32.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 34.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15211,12 +15245,16 @@ cont {
lines {
width: 3.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15247,12 +15285,16 @@ cont {
lines {
width: 4.8
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15282,12 +15324,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15317,12 +15363,16 @@ cont {
lines {
width: 10.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15352,12 +15402,16 @@ cont {
lines {
width: 14.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 16.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -15387,12 +15441,16 @@ cont {
lines {
width: 17.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 19.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17024,6 +17082,8 @@ cont {
lines {
width: 5.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17060,6 +17120,8 @@ cont {
lines {
width: 7.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17096,6 +17158,8 @@ cont {
lines {
width: 9.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -17445,6 +17509,8 @@ cont {
lines {
width: 1.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -17464,12 +17530,16 @@ cont {
lines {
width: 3.2
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17497,12 +17567,16 @@ cont {
lines {
width: 4.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17529,12 +17603,16 @@ cont {
lines {
width: 5.2
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17561,12 +17639,16 @@ cont {
lines {
width: 6.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17593,12 +17675,16 @@ cont {
lines {
width: 8.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -17625,12 +17711,16 @@ cont {
lines {
width: 10.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 11.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18212,12 +18302,16 @@ cont {
lines {
width: 6.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18248,12 +18342,16 @@ cont {
lines {
width: 8.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18283,12 +18381,16 @@ cont {
lines {
width: 9.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18318,12 +18420,16 @@ cont {
lines {
width: 15.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18353,12 +18459,16 @@ cont {
lines {
width: 22.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18388,12 +18498,16 @@ cont {
lines {
width: 28.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -18974,12 +19088,16 @@ cont {
lines {
width: 6.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19010,12 +19128,16 @@ cont {
lines {
width: 8.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19045,12 +19167,16 @@ cont {
lines {
width: 9.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19080,12 +19206,16 @@ cont {
lines {
width: 15.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19115,12 +19245,16 @@ cont {
lines {
width: 22.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -19150,12 +19284,16 @@ cont {
lines {
width: 28.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20108,12 +20246,16 @@ cont {
lines {
width: 3.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20144,12 +20286,16 @@ cont {
lines {
width: 6.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20179,12 +20325,16 @@ cont {
lines {
width: 8.8
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20214,12 +20364,16 @@ cont {
lines {
width: 13.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20249,12 +20403,16 @@ cont {
lines {
width: 20.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20284,12 +20442,16 @@ cont {
lines {
width: 26.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20800,12 +20962,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20828,12 +20994,16 @@ cont {
lines {
width: 12.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20856,12 +21026,16 @@ cont {
lines {
width: 18.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 18.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -20884,12 +21058,16 @@ cont {
lines {
width: 24.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21349,12 +21527,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21385,12 +21567,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21420,12 +21606,16 @@ cont {
lines {
width: 9.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21455,12 +21645,16 @@ cont {
lines {
width: 15.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21490,12 +21684,16 @@ cont {
lines {
width: 22.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21525,12 +21723,16 @@ cont {
lines {
width: 28.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21913,12 +22115,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21934,12 +22140,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21954,12 +22164,16 @@ cont {
lines {
width: 9.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -21982,12 +22196,16 @@ cont {
lines {
width: 15.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 17.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22010,12 +22228,16 @@ cont {
lines {
width: 22.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 24.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22038,12 +22260,16 @@ cont {
lines {
width: 28.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 30.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22351,12 +22577,16 @@ cont {
lines {
width: 3.2
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22379,12 +22609,16 @@ cont {
lines {
width: 4.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22407,12 +22641,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22435,12 +22673,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22600,12 +22842,16 @@ cont {
lines {
width: 3.2
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 3.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22628,12 +22874,16 @@ cont {
lines {
width: 4.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22656,12 +22906,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -22684,12 +22938,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23524,12 +23782,16 @@ cont {
lines {
width: 3.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23560,12 +23822,16 @@ cont {
lines {
width: 6.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23595,12 +23861,16 @@ cont {
lines {
width: 8.8
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23630,12 +23900,16 @@ cont {
lines {
width: 13.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23665,12 +23939,16 @@ cont {
lines {
width: 20.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -23700,12 +23978,16 @@ cont {
lines {
width: 26.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24037,12 +24319,16 @@ cont {
lines {
width: 6.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24057,12 +24343,16 @@ cont {
lines {
width: 8.8
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 9.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24077,12 +24367,16 @@ cont {
lines {
width: 13.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24097,12 +24391,16 @@ cont {
lines {
width: 20.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -24125,12 +24423,16 @@ cont {
lines {
width: 26.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26619,12 +26921,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26655,12 +26961,16 @@ cont {
lines {
width: 7.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26691,12 +27001,16 @@ cont {
lines {
width: 9.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 10.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26726,12 +27040,16 @@ cont {
lines {
width: 12.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26761,12 +27079,16 @@ cont {
lines {
width: 19.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 21.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26796,12 +27118,16 @@ cont {
lines {
width: 26.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -26831,12 +27157,16 @@ cont {
lines {
width: 32.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 34.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27471,12 +27801,16 @@ cont {
lines {
width: 3.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27507,12 +27841,16 @@ cont {
lines {
width: 4.8
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.6
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27542,12 +27880,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27577,12 +27919,16 @@ cont {
lines {
width: 10.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 12.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27612,12 +27958,16 @@ cont {
lines {
width: 14.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 16.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -27647,12 +27997,16 @@ cont {
lines {
width: 17.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 19.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28208,12 +28562,16 @@ cont {
lines {
width: 3.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 4.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28237,12 +28595,16 @@ cont {
lines {
width: 6.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 6.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28265,12 +28627,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.8
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28293,12 +28659,16 @@ cont {
lines {
width: 13.6
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 15.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28321,12 +28691,16 @@ cont {
lines {
width: 20.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 22.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -28349,12 +28723,16 @@ cont {
lines {
width: 26.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 28.0
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -47046,6 +47424,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47063,6 +47443,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47080,6 +47462,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47097,6 +47481,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -47822,6 +48208,8 @@ cont {
lines {
width: 4.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -47837,6 +48225,8 @@ cont {
lines {
width: 4.4
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -47851,12 +48241,16 @@ cont {
lines {
width: 5.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 5.4
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -47880,12 +48274,16 @@ cont {
lines {
width: 6.8
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -47909,12 +48307,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -47938,12 +48340,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -48504,6 +48910,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48521,6 +48929,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48538,6 +48948,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48555,6 +48967,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -48771,6 +49185,8 @@ cont {
lines {
width: 4.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -48786,6 +49202,8 @@ cont {
lines {
width: 4.4
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
@@ -48800,12 +49218,16 @@ cont {
lines {
width: 5.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 5.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -48829,12 +49251,16 @@ cont {
lines {
width: 6.8
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -48858,12 +49284,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -48887,12 +49317,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1207
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1200
cap: BUTTCAP
}
@@ -54970,6 +55404,8 @@ cont {
lines {
width: 4.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -54985,6 +55421,8 @@ cont {
lines {
width: 4.4
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
@@ -54999,12 +55437,16 @@ cont {
lines {
width: 5.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 5.4
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -55028,12 +55470,16 @@ cont {
lines {
width: 6.8
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 7.2
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -55057,12 +55503,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -55086,12 +55536,16 @@ cont {
lines {
width: 8.0
color: 2236945
+ dashdot {
+ }
priority: 1058
cap: BUTTCAP
}
lines {
width: 8.4
color: 4473924
+ dashdot {
+ }
priority: 1051
cap: BUTTCAP
}
@@ -60297,380 +60751,6 @@ cont {
name: "sponsored-booking"
element {
scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15611
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15619
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15626
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15649
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=5"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15664
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15671
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15679
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15701
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=6"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=7"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15768
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15776
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15783
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 14
symbol {
name: "hotel-s"
priority: 16805
@@ -60690,320 +60770,14 @@ cont {
}
element {
scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15820
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15828
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15835
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15858
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=9"
- }
- element {
- scale: 14
symbol {
name: "zero-icon"
priority: 16597
- min_distance: 24
}
apply_if: "rating<8"
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15611
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15619
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15626
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15649
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=5"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15664
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15671
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15679
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15701
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=6"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
symbol {
name: "alpine_hut-m"
priority: 16813
@@ -61023,48 +60797,6 @@ cont {
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 15
symbol {
name: "hotel-m"
priority: 16813
@@ -61084,209 +60816,14 @@ cont {
}
element {
scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15768
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15776
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15783
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15805
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=8"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15820
- }
- apply_if: "extra_tag=tourism=apartment"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15828
- }
- apply_if: "extra_tag=tourism=alpine_hut"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15835
- }
- apply_if: "extra_tag=tourism=hostel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15858
- }
- apply_if: "extra_tag=tourism=hotel"
- apply_if: "rating>=9"
- }
- element {
- scale: 15
symbol {
name: "zero-icon"
priority: 16597
- min_distance: 24
}
apply_if: "rating<7"
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16611
@@ -61296,6 +60833,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15611
@@ -61343,34 +60881,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16649
@@ -61390,19 +60900,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16664
@@ -61412,6 +60909,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15664
@@ -61459,34 +60957,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16701
@@ -61506,19 +60976,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16813
@@ -61528,6 +60985,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15813
@@ -61575,34 +61033,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16813
@@ -61622,19 +61052,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 16
symbol {
name: "apartment-m"
priority: 16768
@@ -61644,6 +61061,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15768
@@ -61691,34 +61109,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16805
@@ -61747,6 +61137,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15820
@@ -61794,34 +61185,6 @@ cont {
}
element {
scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 16
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 16
symbol {
name: "hotel-l"
priority: 16858
@@ -61922,6 +61285,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15597
@@ -61930,19 +61294,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16611
@@ -61952,6 +61303,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15611
@@ -61999,34 +61351,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16649
@@ -62046,19 +61370,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16664
@@ -62068,6 +61379,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15664
@@ -62115,34 +61427,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16701
@@ -62162,19 +61446,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16813
@@ -62184,6 +61455,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15813
@@ -62231,34 +61503,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16813
@@ -62278,19 +61522,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 17
symbol {
name: "apartment-m"
priority: 16768
@@ -62300,6 +61531,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15768
@@ -62347,34 +61579,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16805
@@ -62403,6 +61607,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15820
@@ -62450,34 +61655,6 @@ cont {
}
element {
scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 17
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 17
symbol {
name: "hotel-l"
priority: 16858
@@ -62578,6 +61755,7 @@ cont {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15597
@@ -62586,28 +61764,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16611
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15611
@@ -62639,7 +61805,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16626
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -62655,34 +61821,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16649
@@ -62702,28 +61840,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16664
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15664
@@ -62755,7 +61881,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16679
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -62771,34 +61897,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16701
@@ -62818,28 +61916,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15813
@@ -62871,7 +61957,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -62887,34 +61973,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16813
@@ -62934,28 +61992,16 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 18
symbol {
name: "apartment-l"
priority: 16768
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15768
@@ -62987,7 +62033,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16783
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63003,34 +62049,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16805
@@ -63053,12 +62071,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16820
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15820
@@ -63090,7 +62109,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16835
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63106,34 +62125,6 @@ cont {
}
element {
scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 18
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 18
symbol {
name: "hotel-l"
priority: 16858
@@ -63192,7 +62183,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63210,7 +62201,7 @@ cont {
symbol {
name: "alpine_hut-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63228,12 +62219,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15597
@@ -63242,28 +62234,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15604
- }
- apply_if: "rating>=5"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16611
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15611
@@ -63295,7 +62275,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16626
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63311,34 +62291,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15634
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=5"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15641
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=5"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16649
@@ -63358,28 +62310,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15656
- }
- apply_if: "rating>=6"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16664
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15664
@@ -63411,7 +62351,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16679
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63427,34 +62367,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15686
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=6"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15694
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=6"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16701
@@ -63474,28 +62386,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "rating>=7"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15813
@@ -63527,7 +62427,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16813
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63543,34 +62443,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=7"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15813
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=7"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16813
@@ -63590,28 +62462,16 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15761
- }
- apply_if: "rating>=8"
- }
- element {
- scale: 19
symbol {
name: "apartment-l"
priority: 16768
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15768
@@ -63643,7 +62503,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16783
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63659,34 +62519,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15791
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=8"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15798
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=8"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16805
@@ -63709,12 +62541,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16820
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15820
@@ -63746,7 +62579,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16835
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63762,34 +62595,6 @@ cont {
}
element {
scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15843
- }
- apply_if: "extra_tag=tourism=motel"
- apply_if: "rating>=9"
- }
- element {
- scale: 19
- caption {
- primary {
- height: 10
- color: 5592405
- stroke_color: 856756497
- offset_y: 1
- }
- priority: 15850
- }
- apply_if: "extra_tag=tourism=resort"
- apply_if: "rating>=9"
- }
- element {
- scale: 19
symbol {
name: "hotel-l"
priority: 16858
@@ -63848,7 +62653,7 @@ cont {
symbol {
name: "hostel-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63866,7 +62671,7 @@ cont {
symbol {
name: "alpine_hut-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
@@ -63884,12 +62689,13 @@ cont {
symbol {
name: "apartment-l"
priority: 16597
- min_distance: 16
+ min_distance: 24
}
caption {
primary {
height: 10
color: 5592405
+ stroke_color: 856756497
offset_y: 1
}
priority: 15597
@@ -64094,6 +62900,14 @@ cont {
element {
scale: 16
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 16
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64118,6 +62932,14 @@ cont {
element {
scale: 17
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 17
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64142,6 +62964,14 @@ cont {
element {
scale: 18
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 18
+ symbol {
name: "artefact-l"
priority: 16537
}
@@ -64166,6 +62996,14 @@ cont {
element {
scale: 19
symbol {
+ name: "portal-l"
+ priority: 16537
+ }
+ apply_if: "rating=1"
+ }
+ element {
+ scale: 19
+ symbol {
name: "artefact-l"
priority: 16537
}
diff --git a/data/drules_proto_vehicle_clear.bin b/data/drules_proto_vehicle_clear.bin
index 8d599c0485..08cb2ddd7a 100644
--- a/data/drules_proto_vehicle_clear.bin
+++ b/data/drules_proto_vehicle_clear.bin
Binary files differ
diff --git a/data/drules_proto_vehicle_clear.txt b/data/drules_proto_vehicle_clear.txt
index b01a78e4db..b27246a26c 100644
--- a/data/drules_proto_vehicle_clear.txt
+++ b/data/drules_proto_vehicle_clear.txt
@@ -5674,6 +5674,8 @@ cont {
lines {
width: 6.75
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5703,6 +5705,8 @@ cont {
lines {
width: 8.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5732,6 +5736,8 @@ cont {
lines {
width: 12.05
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5760,6 +5766,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5788,6 +5796,8 @@ cont {
lines {
width: 28.7
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5816,6 +5826,8 @@ cont {
lines {
width: 39.0
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5955,12 +5967,16 @@ cont {
lines {
width: 10.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -5984,6 +6000,8 @@ cont {
lines {
width: 6.75
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5996,12 +6014,16 @@ cont {
lines {
width: 10.5
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.3
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6025,6 +6047,8 @@ cont {
lines {
width: 8.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6037,12 +6061,16 @@ cont {
lines {
width: 13.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6066,6 +6094,8 @@ cont {
lines {
width: 12.05
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6077,12 +6107,16 @@ cont {
lines {
width: 19.7
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 20.5
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6106,6 +6140,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6117,12 +6153,16 @@ cont {
lines {
width: 33.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 35.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6146,6 +6186,8 @@ cont {
lines {
width: 28.7
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6157,12 +6199,16 @@ cont {
lines {
width: 54.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6186,6 +6232,8 @@ cont {
lines {
width: 39.0
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6197,12 +6245,16 @@ cont {
lines {
width: 74.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 76.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6680,6 +6732,8 @@ cont {
lines {
width: 4.27
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6709,6 +6763,8 @@ cont {
lines {
width: 6.6
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6738,6 +6794,8 @@ cont {
lines {
width: 9.55
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6766,6 +6824,8 @@ cont {
lines {
width: 15.0
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6794,6 +6854,8 @@ cont {
lines {
width: 22.3
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6822,6 +6884,8 @@ cont {
lines {
width: 28.5
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6909,6 +6973,8 @@ cont {
lines {
width: 4.27
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6921,12 +6987,16 @@ cont {
lines {
width: 6.74
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.54
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6950,6 +7020,8 @@ cont {
lines {
width: 6.6
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6962,12 +7034,16 @@ cont {
lines {
width: 11.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6991,6 +7067,8 @@ cont {
lines {
width: 9.55
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7002,12 +7080,16 @@ cont {
lines {
width: 15.9
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 16.7
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7031,6 +7113,8 @@ cont {
lines {
width: 15.0
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7042,12 +7126,16 @@ cont {
lines {
width: 27.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 29.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7071,6 +7159,8 @@ cont {
lines {
width: 22.3
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7082,12 +7172,16 @@ cont {
lines {
width: 42.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 44.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7111,6 +7205,8 @@ cont {
lines {
width: 28.5
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7122,12 +7218,16 @@ cont {
lines {
width: 54.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7808,6 +7908,8 @@ cont {
lines {
width: 4.2
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7837,6 +7939,8 @@ cont {
lines {
width: 5.8
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7866,6 +7970,8 @@ cont {
lines {
width: 8.8
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7894,6 +8000,8 @@ cont {
lines {
width: 15.8
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7922,6 +8030,8 @@ cont {
lines {
width: 25.2
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7950,6 +8060,8 @@ cont {
lines {
width: 32.6
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8096,6 +8208,8 @@ cont {
lines {
width: 4.2
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8108,12 +8222,16 @@ cont {
lines {
width: 7.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8137,6 +8255,8 @@ cont {
lines {
width: 5.8
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8149,12 +8269,16 @@ cont {
lines {
width: 9.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8178,6 +8302,8 @@ cont {
lines {
width: 8.8
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8189,12 +8315,16 @@ cont {
lines {
width: 14.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8218,6 +8348,8 @@ cont {
lines {
width: 15.8
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8229,12 +8361,16 @@ cont {
lines {
width: 29.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 31.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8258,6 +8394,8 @@ cont {
lines {
width: 25.2
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8269,12 +8407,16 @@ cont {
lines {
width: 48.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 50.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8298,6 +8440,8 @@ cont {
lines {
width: 32.6
color: 16118756
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8309,12 +8453,16 @@ cont {
lines {
width: 62.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 64.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8697,6 +8845,8 @@ cont {
lines {
width: 4.2
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8726,6 +8876,8 @@ cont {
lines {
width: 5.8
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8755,6 +8907,8 @@ cont {
lines {
width: 8.8
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8783,6 +8937,8 @@ cont {
lines {
width: 15.8
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8811,6 +8967,8 @@ cont {
lines {
width: 25.2
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8839,6 +8997,8 @@ cont {
lines {
width: 32.6
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8914,6 +9074,8 @@ cont {
lines {
width: 4.2
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8926,12 +9088,16 @@ cont {
lines {
width: 7.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8955,6 +9121,8 @@ cont {
lines {
width: 5.8
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8967,12 +9135,16 @@ cont {
lines {
width: 9.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8996,6 +9168,8 @@ cont {
lines {
width: 8.8
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9007,12 +9181,16 @@ cont {
lines {
width: 14.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9036,6 +9214,8 @@ cont {
lines {
width: 15.8
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9047,12 +9227,16 @@ cont {
lines {
width: 29.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 31.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9076,6 +9260,8 @@ cont {
lines {
width: 25.2
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9087,12 +9273,16 @@ cont {
lines {
width: 48.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 50.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9116,6 +9306,8 @@ cont {
lines {
width: 32.6
color: 16118756
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9127,12 +9319,16 @@ cont {
lines {
width: 62.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 64.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9570,6 +9766,8 @@ cont {
lines {
width: 5.7
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9599,6 +9797,8 @@ cont {
lines {
width: 8.1
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9627,6 +9827,8 @@ cont {
lines {
width: 14.5
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9655,6 +9857,8 @@ cont {
lines {
width: 18.8
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9683,6 +9887,8 @@ cont {
lines {
width: 24.2
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9794,6 +10000,8 @@ cont {
lines {
width: 5.7
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9823,6 +10031,8 @@ cont {
lines {
width: 8.1
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9851,6 +10061,8 @@ cont {
lines {
width: 14.5
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9879,6 +10091,8 @@ cont {
lines {
width: 18.8
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9907,6 +10121,8 @@ cont {
lines {
width: 24.2
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10001,12 +10217,16 @@ cont {
lines {
width: 4.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 5.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10030,6 +10250,8 @@ cont {
lines {
width: 5.7
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10042,12 +10264,16 @@ cont {
lines {
width: 9.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.4
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10071,6 +10297,8 @@ cont {
lines {
width: 8.1
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10082,12 +10310,16 @@ cont {
lines {
width: 14.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 14.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10111,6 +10343,8 @@ cont {
lines {
width: 14.5
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10122,12 +10356,16 @@ cont {
lines {
width: 27.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 29.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10151,6 +10389,8 @@ cont {
lines {
width: 18.8
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10162,12 +10402,16 @@ cont {
lines {
width: 36.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 38.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10191,6 +10435,8 @@ cont {
lines {
width: 24.2
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10202,12 +10448,16 @@ cont {
lines {
width: 46.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 48.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10314,6 +10564,8 @@ cont {
lines {
width: 5.7
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10917,6 +11169,8 @@ cont {
lines {
width: 3.9
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -10946,6 +11200,8 @@ cont {
lines {
width: 5.6
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -10975,6 +11231,8 @@ cont {
lines {
width: 8.1
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11003,6 +11261,8 @@ cont {
lines {
width: 12.3
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11031,6 +11291,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11059,6 +11321,8 @@ cont {
lines {
width: 26.6
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11173,6 +11437,8 @@ cont {
lines {
width: 3.9
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11185,12 +11451,16 @@ cont {
lines {
width: 6.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11214,6 +11484,8 @@ cont {
lines {
width: 5.6
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11226,12 +11498,16 @@ cont {
lines {
width: 9.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 9.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11255,6 +11531,8 @@ cont {
lines {
width: 8.1
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11266,12 +11544,16 @@ cont {
lines {
width: 13.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11295,6 +11577,8 @@ cont {
lines {
width: 12.3
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11306,12 +11590,16 @@ cont {
lines {
width: 22.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 24.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11335,6 +11623,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11346,12 +11636,16 @@ cont {
lines {
width: 34.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 36.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11375,6 +11669,8 @@ cont {
lines {
width: 26.6
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11386,12 +11682,16 @@ cont {
lines {
width: 50.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 52.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11501,6 +11801,8 @@ cont {
lines {
width: 3.9
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11530,6 +11832,8 @@ cont {
lines {
width: 5.6
color: 16118756
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11690,6 +11994,8 @@ cont {
lines {
width: 3.9
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11705,6 +12011,8 @@ cont {
lines {
width: 5.6
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11720,6 +12028,8 @@ cont {
lines {
width: 8.1
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11742,6 +12052,8 @@ cont {
lines {
width: 12.3
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11764,6 +12076,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11786,6 +12100,8 @@ cont {
lines {
width: 26.6
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11811,6 +12127,8 @@ cont {
lines {
width: 3.9
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11823,12 +12141,16 @@ cont {
lines {
width: 6.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11838,6 +12160,8 @@ cont {
lines {
width: 5.6
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11850,12 +12174,16 @@ cont {
lines {
width: 9.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 9.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11865,6 +12193,8 @@ cont {
lines {
width: 8.1
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11876,12 +12206,16 @@ cont {
lines {
width: 13.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11899,6 +12233,8 @@ cont {
lines {
width: 12.3
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11910,12 +12246,16 @@ cont {
lines {
width: 22.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 24.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11933,6 +12273,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11944,12 +12286,16 @@ cont {
lines {
width: 34.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 36.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11967,6 +12313,8 @@ cont {
lines {
width: 26.6
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11978,12 +12326,16 @@ cont {
lines {
width: 50.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 52.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -12004,6 +12356,8 @@ cont {
lines {
width: 3.9
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12019,6 +12373,8 @@ cont {
lines {
width: 5.6
color: 16118756
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -13009,6 +13365,8 @@ cont {
lines {
width: 5.9
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13038,6 +13396,8 @@ cont {
lines {
width: 8.6
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13066,6 +13426,8 @@ cont {
lines {
width: 11.5
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13094,6 +13456,8 @@ cont {
lines {
width: 16.8
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13122,6 +13486,8 @@ cont {
lines {
width: 23.2
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13216,12 +13582,16 @@ cont {
lines {
width: 6.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.4
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13245,6 +13615,8 @@ cont {
lines {
width: 5.9
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13257,12 +13629,16 @@ cont {
lines {
width: 10.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13286,6 +13662,8 @@ cont {
lines {
width: 8.6
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13297,12 +13675,16 @@ cont {
lines {
width: 15.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13326,6 +13708,8 @@ cont {
lines {
width: 11.5
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13337,12 +13721,16 @@ cont {
lines {
width: 21.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 23.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13366,6 +13754,8 @@ cont {
lines {
width: 16.8
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13377,12 +13767,16 @@ cont {
lines {
width: 32.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 34.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13406,6 +13800,8 @@ cont {
lines {
width: 23.2
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13417,12 +13813,16 @@ cont {
lines {
width: 44.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 46.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13529,6 +13929,8 @@ cont {
lines {
width: 5.9
color: 16118756
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13689,6 +14091,8 @@ cont {
lines {
width: 5.9
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13704,6 +14108,8 @@ cont {
lines {
width: 8.6
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13718,6 +14124,8 @@ cont {
lines {
width: 11.5
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13732,6 +14140,8 @@ cont {
lines {
width: 16.8
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13754,6 +14164,8 @@ cont {
lines {
width: 23.2
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13779,6 +14191,8 @@ cont {
lines {
width: 5.9
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13791,12 +14205,16 @@ cont {
lines {
width: 10.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13806,6 +14224,8 @@ cont {
lines {
width: 8.6
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13817,12 +14237,16 @@ cont {
lines {
width: 15.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13832,6 +14256,8 @@ cont {
lines {
width: 11.5
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13843,12 +14269,16 @@ cont {
lines {
width: 21.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 23.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13858,6 +14288,8 @@ cont {
lines {
width: 16.8
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13869,12 +14301,16 @@ cont {
lines {
width: 32.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 34.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13892,6 +14328,8 @@ cont {
lines {
width: 23.2
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -13903,12 +14341,16 @@ cont {
lines {
width: 44.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 46.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13929,6 +14371,8 @@ cont {
lines {
width: 5.9
color: 16118756
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14237,6 +14681,8 @@ cont {
lines {
width: 6.75
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14266,6 +14712,8 @@ cont {
lines {
width: 8.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14295,6 +14743,8 @@ cont {
lines {
width: 12.05
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14323,6 +14773,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14351,6 +14803,8 @@ cont {
lines {
width: 28.7
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14379,6 +14833,8 @@ cont {
lines {
width: 39.0
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14518,12 +14974,16 @@ cont {
lines {
width: 10.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14547,6 +15007,8 @@ cont {
lines {
width: 6.75
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14559,12 +15021,16 @@ cont {
lines {
width: 10.5
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.3
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14588,6 +15054,8 @@ cont {
lines {
width: 8.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14600,12 +15068,16 @@ cont {
lines {
width: 13.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14629,6 +15101,8 @@ cont {
lines {
width: 12.05
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14640,12 +15114,16 @@ cont {
lines {
width: 19.7
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 20.5
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14669,6 +15147,8 @@ cont {
lines {
width: 18.2
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14680,12 +15160,16 @@ cont {
lines {
width: 33.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 35.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14709,6 +15193,8 @@ cont {
lines {
width: 28.7
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14720,12 +15206,16 @@ cont {
lines {
width: 54.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14749,6 +15239,8 @@ cont {
lines {
width: 39.0
color: 16118756
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14760,12 +15252,16 @@ cont {
lines {
width: 74.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 76.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15190,6 +15686,8 @@ cont {
lines {
width: 4.27
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15219,6 +15717,8 @@ cont {
lines {
width: 6.6
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15248,6 +15748,8 @@ cont {
lines {
width: 9.55
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15276,6 +15778,8 @@ cont {
lines {
width: 15.0
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15304,6 +15808,8 @@ cont {
lines {
width: 22.3
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15332,6 +15838,8 @@ cont {
lines {
width: 28.5
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15419,6 +15927,8 @@ cont {
lines {
width: 4.27
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15431,12 +15941,16 @@ cont {
lines {
width: 6.74
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.54
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15460,6 +15974,8 @@ cont {
lines {
width: 6.6
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15472,12 +15988,16 @@ cont {
lines {
width: 11.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15501,6 +16021,8 @@ cont {
lines {
width: 9.55
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15512,12 +16034,16 @@ cont {
lines {
width: 15.9
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 16.7
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15541,6 +16067,8 @@ cont {
lines {
width: 15.0
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15552,12 +16080,16 @@ cont {
lines {
width: 27.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 29.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15581,6 +16113,8 @@ cont {
lines {
width: 22.3
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15592,12 +16126,16 @@ cont {
lines {
width: 42.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 44.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15621,6 +16159,8 @@ cont {
lines {
width: 28.5
color: 16118756
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15632,12 +16172,16 @@ cont {
lines {
width: 54.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16192,12 +16736,16 @@ cont {
lines {
width: 3.9
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 4.7
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16221,12 +16769,16 @@ cont {
lines {
width: 7.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16249,12 +16801,16 @@ cont {
lines {
width: 14.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 14.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16277,12 +16833,16 @@ cont {
lines {
width: 21.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 23.2
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16305,12 +16865,16 @@ cont {
lines {
width: 30.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 32.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16333,12 +16897,16 @@ cont {
lines {
width: 34.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 36.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -29103,6 +29671,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -29120,6 +29690,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -29137,6 +29709,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -29154,6 +29728,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -29622,6 +30198,8 @@ cont {
lines {
width: 4.3
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -29637,6 +30215,8 @@ cont {
lines {
width: 5.6
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -29651,12 +30231,16 @@ cont {
lines {
width: 5.4
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 5.8
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -29680,12 +30264,16 @@ cont {
lines {
width: 7.6
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 8.0
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -29709,12 +30297,16 @@ cont {
lines {
width: 10.6
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 11.0
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -29738,12 +30330,16 @@ cont {
lines {
width: 14.0
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 14.4
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -30273,6 +30869,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30290,6 +30888,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30307,6 +30907,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30324,6 +30926,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30540,6 +31144,8 @@ cont {
lines {
width: 4.3
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
@@ -30555,6 +31161,8 @@ cont {
lines {
width: 5.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
@@ -30569,12 +31177,16 @@ cont {
lines {
width: 5.4
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 5.8
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -30598,12 +31210,16 @@ cont {
lines {
width: 7.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 8.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -30627,12 +31243,16 @@ cont {
lines {
width: 10.6
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.0
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -30656,12 +31276,16 @@ cont {
lines {
width: 14.0
color: 15066325
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 14.4
color: 8421504
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -37382,6 +38006,8 @@ cont {
lines {
width: 4.3
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -37397,6 +38023,8 @@ cont {
lines {
width: 5.6
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -37411,12 +38039,16 @@ cont {
lines {
width: 5.4
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 5.8
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -37440,12 +38072,16 @@ cont {
lines {
width: 7.6
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 8.0
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -37469,12 +38105,16 @@ cont {
lines {
width: 10.6
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 11.0
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -37498,12 +38138,16 @@ cont {
lines {
width: 14.0
color: 15066325
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 14.4
color: 8421504
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
diff --git a/data/drules_proto_vehicle_dark.bin b/data/drules_proto_vehicle_dark.bin
index 5a5f1730b3..52f6260e84 100644
--- a/data/drules_proto_vehicle_dark.bin
+++ b/data/drules_proto_vehicle_dark.bin
Binary files differ
diff --git a/data/drules_proto_vehicle_dark.txt b/data/drules_proto_vehicle_dark.txt
index 28fb009247..235df778be 100644
--- a/data/drules_proto_vehicle_dark.txt
+++ b/data/drules_proto_vehicle_dark.txt
@@ -5678,6 +5678,8 @@ cont {
lines {
width: 6.75
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5709,6 +5711,8 @@ cont {
lines {
width: 8.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5740,6 +5744,8 @@ cont {
lines {
width: 12.05
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5770,6 +5776,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5800,6 +5808,8 @@ cont {
lines {
width: 28.7
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5830,6 +5840,8 @@ cont {
lines {
width: 39.0
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -5977,12 +5989,16 @@ cont {
lines {
width: 10.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6008,6 +6024,8 @@ cont {
lines {
width: 6.75
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6020,12 +6038,16 @@ cont {
lines {
width: 10.5
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.3
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6051,6 +6073,8 @@ cont {
lines {
width: 8.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6063,12 +6087,16 @@ cont {
lines {
width: 13.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6094,6 +6122,8 @@ cont {
lines {
width: 12.05
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6105,12 +6135,16 @@ cont {
lines {
width: 19.7
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 20.5
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6136,6 +6170,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6147,12 +6183,16 @@ cont {
lines {
width: 33.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 35.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6178,6 +6218,8 @@ cont {
lines {
width: 28.7
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6189,12 +6231,16 @@ cont {
lines {
width: 54.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6220,6 +6266,8 @@ cont {
lines {
width: 39.0
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -6231,12 +6279,16 @@ cont {
lines {
width: 74.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 76.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -6730,6 +6782,8 @@ cont {
lines {
width: 4.27
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6761,6 +6815,8 @@ cont {
lines {
width: 6.6
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6792,6 +6848,8 @@ cont {
lines {
width: 9.55
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6822,6 +6880,8 @@ cont {
lines {
width: 15.0
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6852,6 +6912,8 @@ cont {
lines {
width: 22.3
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6882,6 +6944,8 @@ cont {
lines {
width: 28.5
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6973,6 +7037,8 @@ cont {
lines {
width: 4.27
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -6985,12 +7051,16 @@ cont {
lines {
width: 6.74
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.54
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7016,6 +7086,8 @@ cont {
lines {
width: 6.6
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7028,12 +7100,16 @@ cont {
lines {
width: 11.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7059,6 +7135,8 @@ cont {
lines {
width: 9.55
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7070,12 +7148,16 @@ cont {
lines {
width: 15.9
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 16.7
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7101,6 +7183,8 @@ cont {
lines {
width: 15.0
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7112,12 +7196,16 @@ cont {
lines {
width: 27.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 29.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7143,6 +7231,8 @@ cont {
lines {
width: 22.3
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7154,12 +7244,16 @@ cont {
lines {
width: 42.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 44.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7185,6 +7279,8 @@ cont {
lines {
width: 28.5
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -7196,12 +7292,16 @@ cont {
lines {
width: 54.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -7899,6 +7999,8 @@ cont {
lines {
width: 4.2
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7930,6 +8032,8 @@ cont {
lines {
width: 5.8
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7961,6 +8065,8 @@ cont {
lines {
width: 8.8
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -7991,6 +8097,8 @@ cont {
lines {
width: 15.8
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8021,6 +8129,8 @@ cont {
lines {
width: 25.2
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8051,6 +8161,8 @@ cont {
lines {
width: 32.6
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8207,6 +8319,8 @@ cont {
lines {
width: 4.2
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8219,12 +8333,16 @@ cont {
lines {
width: 7.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8250,6 +8368,8 @@ cont {
lines {
width: 5.8
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8262,12 +8382,16 @@ cont {
lines {
width: 9.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8293,6 +8417,8 @@ cont {
lines {
width: 8.8
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8304,12 +8430,16 @@ cont {
lines {
width: 14.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8335,6 +8465,8 @@ cont {
lines {
width: 15.8
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8346,12 +8478,16 @@ cont {
lines {
width: 29.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 31.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8377,6 +8513,8 @@ cont {
lines {
width: 25.2
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8388,12 +8526,16 @@ cont {
lines {
width: 48.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 50.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8419,6 +8561,8 @@ cont {
lines {
width: 32.6
color: 855309
+ dashdot {
+ }
priority: 1525
cap: BUTTCAP
}
@@ -8430,12 +8574,16 @@ cont {
lines {
width: 62.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 64.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -8834,6 +8982,8 @@ cont {
lines {
width: 4.2
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8865,6 +9015,8 @@ cont {
lines {
width: 5.8
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8896,6 +9048,8 @@ cont {
lines {
width: 8.8
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8926,6 +9080,8 @@ cont {
lines {
width: 15.8
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8956,6 +9112,8 @@ cont {
lines {
width: 25.2
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -8986,6 +9144,8 @@ cont {
lines {
width: 32.6
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9063,6 +9223,8 @@ cont {
lines {
width: 4.2
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9075,12 +9237,16 @@ cont {
lines {
width: 7.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9106,6 +9272,8 @@ cont {
lines {
width: 5.8
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9118,12 +9286,16 @@ cont {
lines {
width: 9.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9149,6 +9321,8 @@ cont {
lines {
width: 8.8
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9160,12 +9334,16 @@ cont {
lines {
width: 14.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9191,6 +9369,8 @@ cont {
lines {
width: 15.8
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9202,12 +9382,16 @@ cont {
lines {
width: 29.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 31.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9233,6 +9417,8 @@ cont {
lines {
width: 25.2
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9244,12 +9430,16 @@ cont {
lines {
width: 48.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 50.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9275,6 +9465,8 @@ cont {
lines {
width: 32.6
color: 855309
+ dashdot {
+ }
priority: 1512
cap: BUTTCAP
}
@@ -9286,12 +9478,16 @@ cont {
lines {
width: 62.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 64.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -9743,6 +9939,8 @@ cont {
lines {
width: 5.7
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9774,6 +9972,8 @@ cont {
lines {
width: 8.1
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9804,6 +10004,8 @@ cont {
lines {
width: 14.5
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9834,6 +10036,8 @@ cont {
lines {
width: 18.8
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9864,6 +10068,8 @@ cont {
lines {
width: 24.2
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -9983,6 +10189,8 @@ cont {
lines {
width: 5.7
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10014,6 +10222,8 @@ cont {
lines {
width: 8.1
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10044,6 +10254,8 @@ cont {
lines {
width: 14.5
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10074,6 +10286,8 @@ cont {
lines {
width: 18.8
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10104,6 +10318,8 @@ cont {
lines {
width: 24.2
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10204,12 +10420,16 @@ cont {
lines {
width: 4.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 5.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10235,6 +10455,8 @@ cont {
lines {
width: 5.7
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10247,12 +10469,16 @@ cont {
lines {
width: 9.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.4
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10278,6 +10504,8 @@ cont {
lines {
width: 8.1
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10289,12 +10517,16 @@ cont {
lines {
width: 14.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 14.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10320,6 +10552,8 @@ cont {
lines {
width: 14.5
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10331,12 +10565,16 @@ cont {
lines {
width: 27.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 29.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10362,6 +10600,8 @@ cont {
lines {
width: 18.8
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10373,12 +10613,16 @@ cont {
lines {
width: 36.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 38.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10404,6 +10648,8 @@ cont {
lines {
width: 24.2
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -10415,12 +10661,16 @@ cont {
lines {
width: 46.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 48.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -10535,6 +10785,8 @@ cont {
lines {
width: 5.7
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -11148,6 +11400,8 @@ cont {
lines {
width: 3.9
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11179,6 +11433,8 @@ cont {
lines {
width: 5.6
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11210,6 +11466,8 @@ cont {
lines {
width: 8.1
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11240,6 +11498,8 @@ cont {
lines {
width: 12.3
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11270,6 +11530,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11300,6 +11562,8 @@ cont {
lines {
width: 26.6
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11420,6 +11684,8 @@ cont {
lines {
width: 3.9
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11432,12 +11698,16 @@ cont {
lines {
width: 6.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11463,6 +11733,8 @@ cont {
lines {
width: 5.6
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11475,12 +11747,16 @@ cont {
lines {
width: 9.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 9.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11506,6 +11782,8 @@ cont {
lines {
width: 8.1
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11517,12 +11795,16 @@ cont {
lines {
width: 13.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11548,6 +11830,8 @@ cont {
lines {
width: 12.3
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11559,12 +11843,16 @@ cont {
lines {
width: 22.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 24.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11590,6 +11878,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11601,12 +11891,16 @@ cont {
lines {
width: 34.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 36.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11632,6 +11926,8 @@ cont {
lines {
width: 26.6
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11643,12 +11939,16 @@ cont {
lines {
width: 50.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 52.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -11764,6 +12064,8 @@ cont {
lines {
width: 3.9
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11795,6 +12097,8 @@ cont {
lines {
width: 5.6
color: 855309
+ dashdot {
+ }
priority: 1499
cap: BUTTCAP
}
@@ -11961,6 +12265,8 @@ cont {
lines {
width: 3.9
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11976,6 +12282,8 @@ cont {
lines {
width: 5.6
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -11991,6 +12299,8 @@ cont {
lines {
width: 8.1
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12013,6 +12323,8 @@ cont {
lines {
width: 12.3
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12035,6 +12347,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12057,6 +12371,8 @@ cont {
lines {
width: 26.6
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12082,6 +12398,8 @@ cont {
lines {
width: 3.9
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12094,12 +12412,16 @@ cont {
lines {
width: 6.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -12109,6 +12431,8 @@ cont {
lines {
width: 5.6
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12121,12 +12445,16 @@ cont {
lines {
width: 9.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 9.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -12136,6 +12464,8 @@ cont {
lines {
width: 8.1
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12147,12 +12477,16 @@ cont {
lines {
width: 13.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -12170,6 +12504,8 @@ cont {
lines {
width: 12.3
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12181,12 +12517,16 @@ cont {
lines {
width: 22.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 24.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -12204,6 +12544,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12215,12 +12557,16 @@ cont {
lines {
width: 34.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 36.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -12238,6 +12584,8 @@ cont {
lines {
width: 26.6
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12249,12 +12597,16 @@ cont {
lines {
width: 50.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 52.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -12275,6 +12627,8 @@ cont {
lines {
width: 3.9
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -12290,6 +12644,8 @@ cont {
lines {
width: 5.6
color: 855309
+ dashdot {
+ }
priority: 1485
cap: BUTTCAP
}
@@ -13282,6 +13638,8 @@ cont {
lines {
width: 5.9
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13313,6 +13671,8 @@ cont {
lines {
width: 8.6
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13343,6 +13703,8 @@ cont {
lines {
width: 11.5
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13373,6 +13735,8 @@ cont {
lines {
width: 16.8
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13403,6 +13767,8 @@ cont {
lines {
width: 23.2
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13503,12 +13869,16 @@ cont {
lines {
width: 6.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.4
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13534,6 +13904,8 @@ cont {
lines {
width: 5.9
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13546,12 +13918,16 @@ cont {
lines {
width: 10.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13577,6 +13953,8 @@ cont {
lines {
width: 8.6
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13588,12 +13966,16 @@ cont {
lines {
width: 15.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13619,6 +14001,8 @@ cont {
lines {
width: 11.5
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13630,12 +14014,16 @@ cont {
lines {
width: 21.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 23.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13661,6 +14049,8 @@ cont {
lines {
width: 16.8
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13672,12 +14062,16 @@ cont {
lines {
width: 32.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 34.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13703,6 +14097,8 @@ cont {
lines {
width: 23.2
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -13714,12 +14110,16 @@ cont {
lines {
width: 44.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 46.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -13834,6 +14234,8 @@ cont {
lines {
width: 5.9
color: 855309
+ dashdot {
+ }
priority: 1472
cap: BUTTCAP
}
@@ -14000,6 +14402,8 @@ cont {
lines {
width: 5.9
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14015,6 +14419,8 @@ cont {
lines {
width: 8.6
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14029,6 +14435,8 @@ cont {
lines {
width: 11.5
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14043,6 +14451,8 @@ cont {
lines {
width: 16.8
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14065,6 +14475,8 @@ cont {
lines {
width: 23.2
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14090,6 +14502,8 @@ cont {
lines {
width: 5.9
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14102,12 +14516,16 @@ cont {
lines {
width: 10.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14117,6 +14535,8 @@ cont {
lines {
width: 8.6
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14128,12 +14548,16 @@ cont {
lines {
width: 15.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 15.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14143,6 +14567,8 @@ cont {
lines {
width: 11.5
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14154,12 +14580,16 @@ cont {
lines {
width: 21.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 23.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14169,6 +14599,8 @@ cont {
lines {
width: 16.8
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14180,12 +14612,16 @@ cont {
lines {
width: 32.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 34.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14203,6 +14639,8 @@ cont {
lines {
width: 23.2
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14214,12 +14652,16 @@ cont {
lines {
width: 44.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 46.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14240,6 +14682,8 @@ cont {
lines {
width: 5.9
color: 855309
+ dashdot {
+ }
priority: 1459
cap: BUTTCAP
}
@@ -14552,6 +14996,8 @@ cont {
lines {
width: 6.75
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14583,6 +15029,8 @@ cont {
lines {
width: 8.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14614,6 +15062,8 @@ cont {
lines {
width: 12.05
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14644,6 +15094,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14674,6 +15126,8 @@ cont {
lines {
width: 28.7
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14704,6 +15158,8 @@ cont {
lines {
width: 39.0
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14851,12 +15307,16 @@ cont {
lines {
width: 10.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 10.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14882,6 +15342,8 @@ cont {
lines {
width: 6.75
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14894,12 +15356,16 @@ cont {
lines {
width: 10.5
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.3
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14925,6 +15391,8 @@ cont {
lines {
width: 8.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14937,12 +15405,16 @@ cont {
lines {
width: 13.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 13.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -14968,6 +15440,8 @@ cont {
lines {
width: 12.05
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -14979,12 +15453,16 @@ cont {
lines {
width: 19.7
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 20.5
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15010,6 +15488,8 @@ cont {
lines {
width: 18.2
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -15021,12 +15501,16 @@ cont {
lines {
width: 33.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 35.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15052,6 +15536,8 @@ cont {
lines {
width: 28.7
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -15063,12 +15549,16 @@ cont {
lines {
width: 54.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15094,6 +15584,8 @@ cont {
lines {
width: 39.0
color: 855309
+ dashdot {
+ }
priority: 1551
cap: BUTTCAP
}
@@ -15105,12 +15597,16 @@ cont {
lines {
width: 74.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 76.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15551,6 +16047,8 @@ cont {
lines {
width: 4.27
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15582,6 +16080,8 @@ cont {
lines {
width: 6.6
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15613,6 +16113,8 @@ cont {
lines {
width: 9.55
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15643,6 +16145,8 @@ cont {
lines {
width: 15.0
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15673,6 +16177,8 @@ cont {
lines {
width: 22.3
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15703,6 +16209,8 @@ cont {
lines {
width: 28.5
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15794,6 +16302,8 @@ cont {
lines {
width: 4.27
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15806,12 +16316,16 @@ cont {
lines {
width: 6.74
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.54
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15837,6 +16351,8 @@ cont {
lines {
width: 6.6
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15849,12 +16365,16 @@ cont {
lines {
width: 11.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15880,6 +16400,8 @@ cont {
lines {
width: 9.55
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15891,12 +16413,16 @@ cont {
lines {
width: 15.9
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 16.7
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15922,6 +16448,8 @@ cont {
lines {
width: 15.0
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15933,12 +16461,16 @@ cont {
lines {
width: 27.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 29.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -15964,6 +16496,8 @@ cont {
lines {
width: 22.3
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -15975,12 +16509,16 @@ cont {
lines {
width: 42.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 44.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16006,6 +16544,8 @@ cont {
lines {
width: 28.5
color: 855309
+ dashdot {
+ }
priority: 1538
cap: BUTTCAP
}
@@ -16017,12 +16557,16 @@ cont {
lines {
width: 54.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 56.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16586,12 +17130,16 @@ cont {
lines {
width: 3.9
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 4.7
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16615,12 +17163,16 @@ cont {
lines {
width: 7.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 7.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16643,12 +17195,16 @@ cont {
lines {
width: 14.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 14.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16671,12 +17227,16 @@ cont {
lines {
width: 21.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 23.2
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16699,12 +17259,16 @@ cont {
lines {
width: 30.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 32.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -16727,12 +17291,16 @@ cont {
lines {
width: 34.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 36.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -29493,6 +30061,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -29510,6 +30080,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -29527,6 +30099,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -29544,6 +30118,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30012,6 +30588,8 @@ cont {
lines {
width: 4.3
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -30027,6 +30605,8 @@ cont {
lines {
width: 5.6
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -30041,12 +30621,16 @@ cont {
lines {
width: 5.4
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 5.8
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -30070,12 +30654,16 @@ cont {
lines {
width: 7.6
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 8.0
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -30099,12 +30687,16 @@ cont {
lines {
width: 10.6
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 11.0
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -30128,12 +30720,16 @@ cont {
lines {
width: 14.0
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 14.4
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -30663,6 +31259,8 @@ cont {
}
lines {
width: 5.6
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30680,6 +31278,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30697,6 +31297,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30714,6 +31316,8 @@ cont {
}
lines {
width: 6.0
+ dashdot {
+ }
priority: 999
cap: BUTTCAP
}
@@ -30930,6 +31534,8 @@ cont {
lines {
width: 4.3
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
@@ -30945,6 +31551,8 @@ cont {
lines {
width: 5.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
@@ -30959,12 +31567,16 @@ cont {
lines {
width: 5.4
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 5.8
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -30988,12 +31600,16 @@ cont {
lines {
width: 7.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 8.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -31017,12 +31633,16 @@ cont {
lines {
width: 10.6
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 11.0
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -31046,12 +31666,16 @@ cont {
lines {
width: 14.0
color: 1184274
+ dashdot {
+ }
priority: 1341
cap: BUTTCAP
}
lines {
width: 14.4
color: 855309
+ dashdot {
+ }
priority: 1327
cap: BUTTCAP
}
@@ -37772,6 +38396,8 @@ cont {
lines {
width: 4.3
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -37787,6 +38413,8 @@ cont {
lines {
width: 5.6
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
@@ -37801,12 +38429,16 @@ cont {
lines {
width: 5.4
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 5.8
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -37830,12 +38462,16 @@ cont {
lines {
width: 7.6
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 8.0
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -37859,12 +38495,16 @@ cont {
lines {
width: 10.6
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 11.0
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
@@ -37888,12 +38528,16 @@ cont {
lines {
width: 14.0
color: 1184274
+ dashdot {
+ }
priority: 1104
cap: BUTTCAP
}
lines {
width: 14.4
color: 855309
+ dashdot {
+ }
priority: 1091
cap: BUTTCAP
}
diff --git a/data/editor.config b/data/editor.config
index 9c5d1daea3..93a374c183 100644
--- a/data/editor.config
+++ b/data/editor.config
@@ -697,6 +697,11 @@
<include field="website" />
<include field="internet" />
</type>
+ <type id="tourism-apartment" group="accomodation">
+ <include group="poi" />
+ <include field="operator" />
+ <include field="internet" />
+ </type>
<type id="tourism-artwork">
<include field="name" />
</type>
diff --git a/data/external_resources.txt b/data/external_resources.txt
index a2faf71bad..5e176b80eb 100644
--- a/data/external_resources.txt
+++ b/data/external_resources.txt
@@ -1,6 +1,6 @@
-WorldCoasts.mwm 4646805
+WorldCoasts.mwm 4648118
WorldCoasts_obsolete.mwm 4513802
-World.mwm 29242373
+World.mwm 29296533
01_dejavusans.ttf 633604
02_droidsans-fallback.ttf 4033420
03_jomolhari-id-a3d.ttf 1817160
diff --git a/data/styles/clear/include/Icons.mapcss b/data/styles/clear/include/Icons.mapcss
index be094a2fe4..6c01b853c9 100644
--- a/data/styles/clear/include/Icons.mapcss
+++ b/data/styles/clear/include/Icons.mapcss
@@ -1465,9 +1465,6 @@ area|z16[amenity=community_centre]
/* 4.2 Apartament */
-node|z14-[sponsored=booking],
-area|z14-[sponsored=booking]
-{icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z16-[tourism=hotel],
node|z16-[tourism=hostel],
node|z16-[tourism=guest_house],
@@ -1552,7 +1549,7 @@ node|z14[sponsored=booking][tourism=hotel][rating>=8],
area|z14[sponsored=booking][tourism=hotel][rating>=8],
node|z14[sponsored=booking][tourism=resort][rating>=8],
area|z14[sponsored=booking][tourism=resort][rating>=8]
-{icon-image: hotel-s.svg;}
+{icon-image: hotel-s.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z14[sponsored=booking][rating<8],
area|z14[sponsored=booking][rating<8]
{icon-image: zero-icon.svg;text: none;}
@@ -1563,12 +1560,12 @@ node|z15[sponsored=booking][tourism=resort][rating>=7],
area|z15[sponsored=booking][tourism=resort][rating>=7],
node|z15[sponsored=booking][tourism=motel][rating>=7],
area|z15[sponsored=booking][tourism=motel][rating>=7]
-{icon-image: hotel-m.svg;}
+{icon-image: hotel-m.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z15[sponsored=booking][tourism=alpine_hut][rating>=7],
area|z15[sponsored=booking][tourism=alpine_hut][rating>=7],
node|z15[sponsored=booking][tourism=wilderness_hut][rating>=7],
area|z15[sponsored=booking][tourism=wilderness_hut][rating>=7]
-{icon-image:alpine_hut-m.svg;}
+{icon-image:alpine_hut-m.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z15[sponsored=booking][rating<7],
area|z15[sponsored=booking][rating<7]
{icon-image: zero-icon.svg;text: none;}
@@ -1579,23 +1576,23 @@ node|z16- [sponsored=booking][tourism=resort],
area|z16- [sponsored=booking][tourism=resort],
node|z16- [sponsored=booking][tourism=motel],
area|z16- [sponsored=booking][tourism=motel]
-{icon-image: hotel-l.svg;}
+{icon-image: hotel-l.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z16- [sponsored=booking][tourism=alpine_hut],
area|z16- [sponsored=booking][tourism=alpine_hut],
node|z16- [sponsored=booking][tourism=wilderness_hut],
area|z16- [sponsored=booking][tourism=wilderness_hut]
-{icon-image: alpine_hut-l.svg;}
+{icon-image: alpine_hut-l.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z16- [sponsored=booking][tourism=hostel],
area|z16- [sponsored=booking][tourism=hostel]
-{icon-image: hostel-m.svg;}
+{icon-image: hostel-m.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z16- [sponsored=booking][tourism=chalet],
area|z16- [sponsored=booking][tourism=chalet]
-{icon-image: alpine_hut-m.svg;}
+{icon-image: alpine_hut-m.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z16- [sponsored=booking][tourism=apartment],
area|z16- [sponsored=booking][tourism=apartment],
node|z16- [sponsored=booking][tourism=guest_house],
area|z16- [sponsored=booking][tourism=guest_house]
-{icon-image: apartment-m.svg;text-halo-radius: 0;}
+{icon-image: apartment-m.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z17-[sponsored=booking],
area|z17-[sponsored=booking]
@@ -1603,15 +1600,15 @@ area|z17-[sponsored=booking]
node|z18- [sponsored=booking][tourism=hostel],
area|z18- [sponsored=booking][tourism=hostel]
-{icon-image: hostel-l.svg;}
+{icon-image: hostel-l.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z18- [sponsored=booking][tourism=chalet],
area|z18- [sponsored=booking][tourism=chalet]
-{icon-image: alpine_hut-l.svg;}
+{icon-image: alpine_hut-l.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z18- [sponsored=booking][tourism=apartment],
area|z18- [sponsored=booking][tourism=apartment],
node|z18- [sponsored=booking][tourism=guest_house],
area|z18- [sponsored=booking][tourism=guest_house]
-{icon-image: apartment-l.svg;text-halo-radius: 0;}
+{icon-image: apartment-l.svg;icon-min-distance: 24;text: name;text-offset: 1;font-size: 10;text-color: @poi_label;text-halo-color: @halo_park_label;text-halo-radius: 0.5;text-halo-opacity: 0.8;}
node|z15-16[tourism=camp_site],
area|z15-16[tourism=camp_site]
@@ -3169,8 +3166,8 @@ area|z18-[sponsored=cian]
{font-size: 11;}
-node|z16-[sponsored=thor],
-area|z16-[sponsored=thor]
+node|z16-[sponsored=thor][rating=1],
+area|z16-[sponsored=thor][rating=1]
{icon-image: portal-l.svg;}
node|z16-[sponsored=thor][rating=2],
diff --git a/data/ugc_types.csv b/data/ugc_types.csv
index 1035ad42aa..1cc14a3591 100644
--- a/data/ugc_types.csv
+++ b/data/ugc_types.csv
@@ -1,179 +1,164 @@
OSM tag,Rating,Reviews,Details,Rating keys
-aerialway station,1,1,0,rating
-aeroway aerodrome,1,1,1,rating
-aeroway helipad,1,1,0,rating
-amenity,1,1,0,rating
-amenity atm,1,1,1,rating
-amenity bank,1,1,0,quality service value_for_money
-amenity bar,1,1,1,value_for_money service atmosphere
-amenity bench,1,1,0,rating
-amenity bicycle_rental,1,1,0,experience service value_for_money
-amenity bus_station,1,1,0,rating
-amenity cafe,1,1,1,cuisine service atmosphere
-amenity car_rental,1,1,0,quality service value_for_money
-amenity car_wash,1,1,0,quality service value_for_money
-amenity cinema,1,1,0,experience service value_for_money
-amenity clinic,1,1,0,expertise equipment value_for_money
-amenity college,1,1,0,rating
-amenity dentist,1,1,0,expertise equipment value_for_money
-amenity doctors,1,1,0,expertise equipment value_for_money
-amenity drinking_water,1,1,0,rating
-amenity embassy,1,1,0,quality service value_for_money
-amenity fast_food,1,1,1,cuisine service atmosphere
-amenity ferry_terminal,1,1,0,rating
-amenity fountain,1,1,0,experience value_for_money
-amenity fuel,1,1,0,assortment service value_for_money
-amenity hospital,1,1,0,expertise equipment value_for_money
-amenity kindergarten,1,1,0,rating
-amenity library,1,1,0,quality service value_for_money
-amenity marketplace,1,1,1,assortment service value_for_money
-amenity nightclub,1,1,1,value_for_money service atmosphere
-amenity parking,1,1,0,rating
-amenity parking fee,1,1,0,rating
-amenity pharmacy,1,1,1,assortment service value_for_money
-amenity police,1,1,0,rating
-amenity post_office,1,1,0,quality service value_for_money
-amenity pub,1,1,1,value_for_money service atmosphere
-amenity recycling,1,1,0,rating
-amenity restaurant,1,1,1,cuisine service atmosphere
-amenity school,1,1,0,rating
-amenity shelter,1,1,0,rating
-amenity taxi,1,1,0,rating
-amenity theatre,1,1,0,experience service value_for_money
-amenity toilets,1,1,0,rating
-amenity townhall,1,1,0,rating
-amenity university,1,1,0,rating
-amenity biergarten,1,1,1,value_for_money service atmosphere
-amenity driving_school,1,1,0,rating
-amenity ice_cream,1,1,1,cuisine service atmosphere
-amenity internet_cafe,1,1,0,quality service value_for_money
-amenity motorcycle_parking,1,1,1,rating
-amenity nursing_home,1,1,0,rating
-amenity payment_terminal,1,1,0,rating
-amenity shower,1,1,0,rating
-amenity water_point,1,1,0,rating
-barrier toll_booth,1,1,0,rating
-boundary administrative,1,1,0,rating
+aerialway-station,1,1,0,rating
+aeroway-aerodrome,1,1,1,rating
+aeroway-helipad,1,1,0,rating
+amenity-atm,1,1,1,rating
+amenity-bank,1,1,0,quality service value_for_money
+amenity-bar,1,1,1,value_for_money service atmosphere
+amenity-bicycle_rental,1,1,0,experience service value_for_money
+amenity-bus_station,1,1,0,rating
+amenity-cafe,1,1,1,cuisine service atmosphere
+amenity-car_rental,1,1,0,quality service value_for_money
+amenity-car_wash,1,1,0,quality service value_for_money
+amenity-cinema,1,1,0,experience service value_for_money
+amenity-clinic,1,1,0,expertise equipment value_for_money
+amenity-college,1,1,0,rating
+amenity-dentist,1,1,0,expertise equipment value_for_money
+amenity-doctors,1,1,0,expertise equipment value_for_money
+amenity-embassy,1,1,0,quality service value_for_money
+amenity-fast_food,1,1,1,cuisine service atmosphere
+amenity-ferry_terminal,1,1,0,rating
+amenity-fountain,1,1,0,experience value_for_money
+amenity-fuel,1,1,0,assortment service value_for_money
+amenity-hospital,1,1,0,expertise equipment value_for_money
+amenity-kindergarten,1,1,0,rating
+amenity-library,1,1,0,quality service value_for_money
+amenity-marketplace,1,1,1,assortment service value_for_money
+amenity-nightclub,1,1,1,value_for_money service atmosphere
+amenity-parking,1,1,0,rating
+amenity-parking-fee,1,1,0,rating
+amenity-pharmacy,1,1,1,assortment service value_for_money
+amenity-police,1,1,0,rating
+amenity-post_office,1,1,0,quality service value_for_money
+amenity-pub,1,1,1,value_for_money service atmosphere
+amenity-restaurant,1,1,1,cuisine service atmosphere
+amenity-school,1,1,0,rating
+amenity-shelter,1,1,0,rating
+amenity-taxi,1,1,0,rating
+amenity-theatre,1,1,0,experience service value_for_money
+amenity-toilets,1,1,0,rating
+amenity-townhall,1,1,0,rating
+amenity-university,1,1,0,rating
+amenity-biergarten,1,1,1,value_for_money service atmosphere
+amenity-driving_school,1,1,0,rating
+amenity-ice_cream,1,1,1,cuisine service atmosphere
+amenity-internet_cafe,1,1,0,quality service value_for_money
+amenity-motorcycle_parking,1,1,1,rating
+amenity-nursing_home,1,1,0,rating
+amenity-shower,1,1,0,rating
building,1,1,0,rating
-building train_station,1,1,0,rating
-historic archaeological_site,1,1,0,experience value_for_money
-historic castle,1,1,0,experience value_for_money
-historic memorial,1,1,0,experience value_for_money
-historic monument,1,1,0,experience value_for_money
-historic museum,1,1,0,experience value_for_money
-historic ruins,1,1,0,experience value_for_money
-hwtag lit,1,1,0,rating
+building-train_station,1,1,0,rating
+historic-archaeological_site,1,1,0,experience value_for_money
+historic-castle,1,1,0,experience value_for_money
+historic-memorial,1,1,0,experience value_for_money
+historic-monument,1,1,0,experience value_for_money
+historic-museum,1,1,0,experience value_for_money
+historic-ruins,1,1,0,experience value_for_money
internet_access,1,1,0,rating
-internet_access wlan,1,1,0,rating
-landuse cemetery,1,1,0,rating
-landuse forest,1,1,0,rating
-landuse industrial,1,1,0,rating
-landuse residential,1,1,0,rating
-landuse retail,1,1,1,assortment service value_for_money
-leisure garden,1,1,0,experience service value_for_money
-leisure golf_course,1,1,0,experience service value_for_money
-leisure nature_reserve,1,1,0,experience value_for_money
-leisure park,1,1,0,experience service value_for_money
-leisure pitch,1,1,0,equipment service value_for_money
-leisure playground,1,1,0,experience service value_for_money
-leisure sports_centre,1,1,0,equipment service value_for_money
-leisure stadium,1,1,0,experience service value_for_money
-leisure swimming_pool,1,1,0,equipment service value_for_money
-leisure fitness_station,1,1,0,equipment service value_for_money
-leisure water_park,1,1,0,experience service value_for_money
-man_made lighthouse,1,1,0,experience value_for_money
-natural beach,1,1,0,experience value_for_money
-natural cave_entrance,1,1,0,experience value_for_money
-natural peak,1,1,0,rating
-natural spring,1,1,0,rating
-natural volcano,1,1,0,rating
-natural water,1,1,0,rating
-natural wood,1,1,0,rating
+internet_access-wlan,1,1,0,rating
+leisure-garden,1,1,0,experience service value_for_money
+leisure-golf_course,1,1,0,experience service value_for_money
+leisure-nature_reserve,1,1,0,experience value_for_money
+leisure-park,1,1,0,experience service value_for_money
+leisure-pitch,1,1,0,equipment service value_for_money
+leisure-playground,1,1,0,experience service value_for_money
+leisure-sports_centre,1,1,0,equipment service value_for_money
+leisure-stadium,1,1,0,experience service value_for_money
+leisure-swimming_pool,1,1,0,equipment service value_for_money
+leisure-fitness_station,1,1,0,equipment service value_for_money
+leisure-water_park,1,1,0,experience service value_for_money
+man_made-lighthouse,1,1,0,experience value_for_money
+natural-beach,1,1,0,experience value_for_money
+natural-cave_entrance,1,1,0,experience value_for_money
+natural-peak,1,1,0,rating
+natural-spring,1,1,0,rating
+natural-volcano,1,1,0,rating
+natural-water,1,1,0,rating
+natural-wood,1,1,0,rating
office,1,1,0,rating
-office company,1,1,0,rating
-office government,1,1,0,rating
-office insurance,1,1,0,quality service value_for_money
-office ngo,1,1,0,rating
-place island,1,1,0,rating
-place ocean,1,1,0,rating
-place sea,1,1,0,rating
-railway halt,1,1,0,rating
-railway station,1,1,0,rating
-railway station subway,1,1,0,rating
-railway tram_stop,1,1,0,rating
+office-company,1,1,0,rating
+office-government,1,1,0,rating
+office-insurance,1,1,0,quality service value_for_money
+office-ngo,1,1,0,rating
+place-island,1,1,0,rating
+place-ocean,1,1,0,rating
+place-sea,1,1,0,rating
+railway-halt,1,1,0,rating
+railway-station,1,1,0,rating
+railway-station-subway,1,1,0,rating
+railway-tram_stop,1,1,0,rating
shop,1,1,1,assortment service value_for_money
-shop alcohol,1,1,1,assortment service value_for_money
-shop bakery,1,1,1,cuisine service atmosphere
-shop beauty,1,1,1,assortment service value_for_money
-shop bicycle,1,1,1,assortment service value_for_money
-shop books,1,1,1,assortment service value_for_money
-shop butcher,1,1,1,assortment service value_for_money
-shop car,1,1,1,assortment service value_for_money
-shop car_repair,1,1,0,quality service value_for_money
-shop clothes,1,1,1,assortment service value_for_money
-shop convenience,1,1,0,assortment service value_for_money
-shop department_store,1,1,1,assortment service value_for_money
-shop doityourself,1,1,1,assortment service value_for_money
-shop electronics,1,1,1,assortment service value_for_money
-shop florist,1,1,1,assortment service value_for_money
-shop furniture,1,1,1,assortment service value_for_money
-shop gift,1,1,1,assortment service value_for_money
-shop hairdresser,1,1,0,quality service value_for_money
-shop hardware,1,1,1,assortment service value_for_money
-shop jewelry,1,1,1,assortment service value_for_money
-shop kiosk,1,1,0,assortment service value_for_money
-shop mall,1,1,0,assortment service value_for_money
-shop mobile_phone,1,1,1,assortment service value_for_money
-shop shoes,1,1,1,assortment service value_for_money
-shop sports,1,1,0,assortment service value_for_money
-shop supermarket,1,1,1,assortment service value_for_money
-shop beverages,1,1,1,assortment service value_for_money
-shop bookmaker,1,1,1,quality service value_for_money
-shop car_parts,1,1,1,assortment service value_for_money
-shop chemist,1,1,1,assortment service value_for_money
-shop chocolate,1,1,1,assortment service value_for_money
-shop computer,1,1,1,assortment service value_for_money
-shop cosmetics,1,1,1,assortment service value_for_money
-shop erotic,1,1,1,assortment service value_for_money
-shop funeral_directors,1,1,0,rating
-shop laundry,1,1,0,quality service value_for_money
-shop massage,1,1,0,experience service value_for_money
-shop motorcycle,1,1,1,assortment service value_for_money
-shop newsagent,1,1,1,assortment service value_for_money
-shop pawnbroker,1,1,1,quality service value_for_money
-shop stationery,1,1,1,assortment service value_for_money
-shop tattoo,1,1,0,quality service value_for_money
-shop tyres,1,1,1,assortment service value_for_money
-shop variety_store,1,1,1,assortment service value_for_money
-shop wine,1,1,1,assortment service value_for_money
-sponsored booking,0,0,0,
-sport basketball,1,1,0,equipment service value_for_money
-sport multi,1,1,0,equipment service value_for_money
-sport soccer,1,1,0,equipment service value_for_money
-sport swimming,1,1,0,equipment service value_for_money
-sport tennis,1,1,0,equipment service value_for_money
-tourism artwork,1,1,0,experience value_for_money
-tourism attraction,1,1,0,experience value_for_money
-tourism camp_site,1,1,0,rating
-tourism guest_house,1,1,1,booking_hotel_room service placepage_hotel_facilities
-tourism hostel,1,1,1,booking_hotel_room service placepage_hotel_facilities
-tourism hotel,1,1,1,booking_hotel_room service placepage_hotel_facilities
-tourism information,1,1,0,rating
-tourism information guidepost,1,1,0,rating
-tourism information office,1,1,0,quality service value_for_money
-tourism motel,1,1,1,booking_hotel_room service placepage_hotel_facilities
-tourism museum,1,1,0,experience service value_for_money
-tourism picnic_site,1,1,0,rating
-tourism viewpoint,1,1,0,experience value_for_money
-tourism zoo,1,1,0,experience service value_for_money
-tourism alpine_hut,1,1,0,booking_hotel_room service placepage_hotel_facilities
-tourism apartment,1,1,0,booking_hotel_room service placepage_hotel_facilities
-tourism chalet,1,1,0,booking_hotel_room service placepage_hotel_facilities
-tourism resort,1,1,0,booking_hotel_room service placepage_hotel_facilities
-tourism theme_park ,1,1,0,experience service value_for_money
-tourism wilderness_hut,1,1,0,rating
-tourism wilderness_hut,1,1,0,booking_hotel_room service placepage_hotel_facilities
-waterway canal,1,1,0,rating
-waterway river,1,1,0,rating
-waterway stream,1,1,0,rating
-waterway waterfall,1,1,0,experience value_for_money
+shop-alcohol,1,1,1,assortment service value_for_money
+shop-bakery,1,1,1,cuisine service atmosphere
+shop-beauty,1,1,1,assortment service value_for_money
+shop-bicycle,1,1,1,assortment service value_for_money
+shop-books,1,1,1,assortment service value_for_money
+shop-butcher,1,1,1,assortment service value_for_money
+shop-car,1,1,1,assortment service value_for_money
+shop-car_repair,1,1,0,quality service value_for_money
+shop-clothes,1,1,1,assortment service value_for_money
+shop-convenience,1,1,0,assortment service value_for_money
+shop-department_store,1,1,1,assortment service value_for_money
+shop-doityourself,1,1,1,assortment service value_for_money
+shop-electronics,1,1,1,assortment service value_for_money
+shop-florist,1,1,1,assortment service value_for_money
+shop-furniture,1,1,1,assortment service value_for_money
+shop-gift,1,1,1,assortment service value_for_money
+shop-hairdresser,1,1,0,quality service value_for_money
+shop-hardware,1,1,1,assortment service value_for_money
+shop-jewelry,1,1,1,assortment service value_for_money
+shop-kiosk,1,1,0,assortment service value_for_money
+shop-mall,1,1,0,assortment service value_for_money
+shop-mobile_phone,1,1,1,assortment service value_for_money
+shop-shoes,1,1,1,assortment service value_for_money
+shop-sports,1,1,0,assortment service value_for_money
+shop-supermarket,1,1,1,assortment service value_for_money
+shop-beverages,1,1,1,assortment service value_for_money
+shop-bookmaker,1,1,1,quality service value_for_money
+shop-car_parts,1,1,1,assortment service value_for_money
+shop-chemist,1,1,1,assortment service value_for_money
+shop-chocolate,1,1,1,assortment service value_for_money
+shop-computer,1,1,1,assortment service value_for_money
+shop-cosmetics,1,1,1,assortment service value_for_money
+shop-erotic,1,1,1,assortment service value_for_money
+shop-laundry,1,1,0,quality service value_for_money
+shop-massage,1,1,0,experience service value_for_money
+shop-motorcycle,1,1,1,assortment service value_for_money
+shop-newsagent,1,1,1,assortment service value_for_money
+shop-pawnbroker,1,1,1,quality service value_for_money
+shop-stationery,1,1,1,assortment service value_for_money
+shop-tattoo,1,1,0,quality service value_for_money
+shop-tyres,1,1,1,assortment service value_for_money
+shop-variety_store,1,1,1,assortment service value_for_money
+shop-wine,1,1,1,assortment service value_for_money
+sponsored-booking,0,0,0,
+sport-basketball,1,1,0,equipment service value_for_money
+sport-multi,1,1,0,equipment service value_for_money
+sport-soccer,1,1,0,equipment service value_for_money
+sport-swimming,1,1,0,equipment service value_for_money
+sport-tennis,1,1,0,equipment service value_for_money
+tourism-artwork,1,1,0,experience value_for_money
+tourism-attraction,1,1,0,experience value_for_money
+tourism-camp_site,1,1,0,rating
+tourism-guest_house,1,1,1,booking_hotel_room service placepage_hotel_facilities
+tourism-hostel,1,1,1,booking_hotel_room service placepage_hotel_facilities
+tourism-hotel,1,1,1,booking_hotel_room service placepage_hotel_facilities
+tourism-information,1,1,0,rating
+tourism-information-guidepost,1,1,0,rating
+tourism-information-office,1,1,0,quality service value_for_money
+tourism-motel,1,1,1,booking_hotel_room service placepage_hotel_facilities
+tourism-museum,1,1,0,experience service value_for_money
+tourism-picnic_site,1,1,0,rating
+tourism-viewpoint,1,1,0,experience value_for_money
+tourism-zoo,1,1,0,experience service value_for_money
+tourism-alpine_hut,1,1,0,booking_hotel_room service placepage_hotel_facilities
+tourism-apartment,1,1,0,booking_hotel_room service placepage_hotel_facilities
+tourism-chalet,1,1,0,booking_hotel_room service placepage_hotel_facilities
+tourism-resort,1,1,0,booking_hotel_room service placepage_hotel_facilities
+tourism-theme_park,1,1,0,experience service value_for_money
+tourism-wilderness_hut,1,1,0,rating
+tourism-wilderness_hut,1,1,0,booking_hotel_room service placepage_hotel_facilities
+waterway-canal,1,1,0,rating
+waterway-river,1,1,0,rating
+waterway-stream,1,1,0,rating
+waterway-waterfall,1,1,0,experience value_for_money
diff --git a/drape/oglcontextfactory.cpp b/drape/oglcontextfactory.cpp
index 4d2d17d0b9..5427564cc7 100644
--- a/drape/oglcontextfactory.cpp
+++ b/drape/oglcontextfactory.cpp
@@ -41,9 +41,9 @@ OGLContext * ThreadSafeFactory::CreateContext(TCreateCtxFn const & createFn, TIs
return ctx;
}
-void ThreadSafeFactory::waitForInitialization()
+void ThreadSafeFactory::waitForInitialization(dp::OGLContext * context)
{
- m_factory->waitForInitialization();
+ m_factory->waitForInitialization(context);
}
} // namespace dp
diff --git a/drape/oglcontextfactory.hpp b/drape/oglcontextfactory.hpp
index f3cb2fe366..4ad52b3870 100644
--- a/drape/oglcontextfactory.hpp
+++ b/drape/oglcontextfactory.hpp
@@ -18,7 +18,7 @@ public:
virtual OGLContext * getResourcesUploadContext() = 0;
virtual bool isDrawContextCreated() const { return false; }
virtual bool isUploadContextCreated() const { return false; }
- virtual void waitForInitialization() {}
+ virtual void waitForInitialization(dp::OGLContext * context) {}
};
class ThreadSafeFactory : public OGLContextFactory
@@ -36,7 +36,7 @@ public:
return static_cast<T *>(m_factory);
}
- void waitForInitialization() override;
+ void waitForInitialization(dp::OGLContext * context) override;
protected:
typedef function<OGLContext * ()> TCreateCtxFn;
diff --git a/drape_frontend/backend_renderer.cpp b/drape_frontend/backend_renderer.cpp
index 9ee1668df6..985ed73397 100644
--- a/drape_frontend/backend_renderer.cpp
+++ b/drape_frontend/backend_renderer.cpp
@@ -520,8 +520,9 @@ void BackendRenderer::ReleaseResources()
void BackendRenderer::OnContextCreate()
{
LOG(LINFO, ("On context create."));
- m_contextFactory->waitForInitialization();
- m_contextFactory->getResourcesUploadContext()->makeCurrent();
+ dp::OGLContext * context = m_contextFactory->getResourcesUploadContext();
+ m_contextFactory->waitForInitialization(context);
+ context->makeCurrent();
GLFunctions::Init(m_apiVersion);
diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp
index 711ece2a67..aa23e8d43f 100755
--- a/drape_frontend/frontend_renderer.cpp
+++ b/drape_frontend/frontend_renderer.cpp
@@ -1763,9 +1763,9 @@ void FrontendRenderer::OnContextCreate()
{
LOG(LINFO, ("On context create."));
- m_contextFactory->waitForInitialization();
-
dp::OGLContext * context = m_contextFactory->getDrawContext();
+ m_contextFactory->waitForInitialization(context);
+
context->makeCurrent();
GLFunctions::Init(m_apiVersion);
diff --git a/drape_frontend/text_shape.cpp b/drape_frontend/text_shape.cpp
index 8854169359..cf23901959 100644
--- a/drape_frontend/text_shape.cpp
+++ b/drape_frontend/text_shape.cpp
@@ -299,7 +299,7 @@ void TextShape::DrawSubStringPlain(StraightTextLayout const & layout, dp::FontDe
true);
handle->SetPivotZ(m_params.m_posZ);
handle->SetOverlayRank(m_hasPOI ? (isPrimary ? dp::OverlayRank1 : dp::OverlayRank2)
- : dp::OverlayRank0);
+ : (isPrimary ? dp::OverlayRank0 : dp::OverlayRank1));
handle->SetExtendingSize(m_params.m_extendingSize);
if (m_params.m_specialDisplacement == SpecialDisplacement::UserMark)
handle->SetUserMarkOverlay(true);
@@ -350,7 +350,7 @@ void TextShape::DrawSubStringOutlined(StraightTextLayout const & layout, dp::Fon
true);
handle->SetPivotZ(m_params.m_posZ);
handle->SetOverlayRank(m_hasPOI ? (isPrimary ? dp::OverlayRank1 : dp::OverlayRank2)
- : dp::OverlayRank0);
+ : (isPrimary ? dp::OverlayRank0 : dp::OverlayRank1));
handle->SetExtendingSize(m_params.m_extendingSize);
dp::AttributeProvider provider(2, static_cast<uint32_t>(staticBuffer.size()));
diff --git a/generator/generator_tool/generator_tool.cpp b/generator/generator_tool/generator_tool.cpp
index 92c9843b4e..32717544f6 100644
--- a/generator/generator_tool/generator_tool.cpp
+++ b/generator/generator_tool/generator_tool.cpp
@@ -192,7 +192,7 @@ int main(int argc, char ** argv)
FLAGS_calc_statistics || FLAGS_type_statistics || FLAGS_dump_types || FLAGS_dump_prefixes ||
FLAGS_dump_feature_names != "" || FLAGS_check_mwm || FLAGS_srtm_path != "" ||
FLAGS_make_routing_index || FLAGS_make_cross_mwm || FLAGS_generate_traffic_keys ||
- FLAGS_transit_path != "")
+ FLAGS_transit_path != "" || FLAGS_ugc_data != "")
{
classificator::Load();
classif().SortClassificator();
diff --git a/generator/ugc_section_builder.cpp b/generator/ugc_section_builder.cpp
index 7116b40199..fb7ecf92a2 100644
--- a/generator/ugc_section_builder.cpp
+++ b/generator/ugc_section_builder.cpp
@@ -36,9 +36,11 @@ bool BuildUgcMwmSection(std::string const & srcDbFilename, std::string const & m
std::vector<IndexUGC> content;
feature::ForEachFromDat(mwmFile, [&](FeatureType const & f, uint32_t featureId) {
- auto const ugcMasks = ftraits::UGC::GetValue({f}).m_mask;
+ auto const optItem = ftraits::UGC::GetValue({f});
+ if (!optItem)
+ return;
- if (!ftraits::UGC::IsUGCAvailable(ugcMasks))
+ if (!ftraits::UGC::IsUGCAvailable(optItem->m_mask))
return;
auto const it = featureToOsmId.find(featureId);
diff --git a/generator/ugc_translator.cpp b/generator/ugc_translator.cpp
index 59b73cac16..a6ff0c7ce0 100644
--- a/generator/ugc_translator.cpp
+++ b/generator/ugc_translator.cpp
@@ -29,9 +29,14 @@ bool UGCTranslator::TranslateUGC(osm::Id const & id, ugc::UGC & ugc)
my::Json json(str);
- if (json_array_size(json.get()) != 1)
+ auto const size = json_array_size(json.get());
+
+ if (size == 0)
+ return false;
+
+ if (size > 1)
{
- LOG(LWARNING, ("Osm id duplication in UGC database", id));
+ LOG(LWARNING, ("Osm id duplication in UGC database", id.EncodedId()));
return false;
}
diff --git a/indexer/ftraits.hpp b/indexer/ftraits.hpp
index a7c05c0d42..83e4c73ccb 100644
--- a/indexer/ftraits.hpp
+++ b/indexer/ftraits.hpp
@@ -17,24 +17,57 @@
#include <string>
#include <utility>
+#include <boost/optional.hpp>
+
namespace ftraits
{
-template <typename Base, typename Value, bool allowDuplications = false>
+template <typename Base, typename Value>
class TraitsBase
{
public:
- static Value GetValue(feature::TypesHolder const & types)
+ static boost::optional<Value> GetValue(feature::TypesHolder const & types)
{
- static Base instance;
- auto const it = instance.m_matcher.Find(types);
+ auto const & instance = Instance();
+ auto const it = Find(types);
if (!instance.m_matcher.IsValid(it))
- return Base::GetEmptyValue();
+ return boost::none;
return it->second;
}
+ static boost::optional<uint32_t> GetType(feature::TypesHolder const & types)
+ {
+ auto const & instance = Instance();
+ auto const it = Find(types);
+ if (!instance.m_matcher.IsValid(it))
+ return boost::none;
+
+ return it->first;
+ }
+
+private:
+ using ConstIterator = typename ftypes::HashMapMatcher<uint32_t, Value>::ConstIterator;
+
+ static ConstIterator Find(feature::TypesHolder const & types)
+ {
+ auto const & instance = Instance();
+
+ auto const excluded = instance.m_excluded.Find(types);
+ if (instance.m_excluded.IsValid(excluded))
+ return instance.m_matcher.End();
+
+ return instance.m_matcher.Find(types);
+ }
+
protected:
- ftypes::Matcher<std::unordered_map<uint32_t, Value>, allowDuplications> m_matcher;
+ static TraitsBase const & Instance()
+ {
+ static Base instance;
+ return instance;
+ }
+
+ ftypes::HashMapMatcher<uint32_t, Value> m_matcher;
+ ftypes::HashSetMatcher<uint32_t> m_excluded;
};
enum UGCType
@@ -60,7 +93,7 @@ struct UGCItem
UGCRatingCategories m_categories;
};
-class UGC : public TraitsBase<UGC, UGCItem, true>
+class UGC : public TraitsBase<UGC, UGCItem>
{
friend class TraitsBase;
@@ -77,7 +110,12 @@ class UGC : public TraitsBase<UGC, UGCItem, true>
ASSERT_EQUAL(row.size(), 5, ());
UGCItem item(ReadMasks(row), ParseByWhitespaces(row[kCategoriesPos]));
- m_matcher.AppendType(ParseByWhitespaces(row[kTypePos]), std::move(item));
+ auto typePath = ParseByDashes(row[kTypePos]);
+
+ if (IsUGCAvailable(item.m_mask))
+ m_matcher.AppendType(std::move(typePath), std::move(item));
+ else
+ m_excluded.AppendType(std::move(typePath));
});
}
@@ -109,13 +147,17 @@ class UGC : public TraitsBase<UGC, UGCItem, true>
return {std::istream_iterator<std::string>(iss), std::istream_iterator<std::string>()};
}
-public:
- static UGCItem const & GetEmptyValue()
+ std::vector<std::string> ParseByDashes(std::string const & str)
{
- static const UGCItem item;
- return item;
+ std::vector<std::string> result;
+ std::istringstream iss(str);
+ for (std::string tmp; std::getline(iss, tmp, '-'); )
+ result.push_back(tmp);
+
+ return result;
}
+public:
static bool IsUGCAvailable(UGCTypeMask mask) { return mask != UGCTYPE_NONE; }
static bool IsRatingAvailable(UGCTypeMask mask) { return mask & UGCTYPE_RATING; }
static bool IsReviewsAvailable(UGCTypeMask mask) { return mask & UGCTYPE_REVIEWS; }
@@ -123,23 +165,30 @@ public:
static bool IsUGCAvailable(feature::TypesHolder const & types)
{
- return IsUGCAvailable(GetValue(types).m_mask);
+ auto const opt = GetValue(types);
+ return opt ? IsUGCAvailable(opt->m_mask) : false;
}
static bool IsRatingAvailable(feature::TypesHolder const & types)
{
- return IsRatingAvailable(GetValue(types).m_mask);
+ auto const opt = GetValue(types);
+ return opt ? IsRatingAvailable(opt->m_mask) : false;
}
static bool IsReviewsAvailable(feature::TypesHolder const & types)
{
- return IsReviewsAvailable(GetValue(types).m_mask);
+ auto const opt = GetValue(types);
+ return opt ? IsReviewsAvailable(opt->m_mask) : false;
}
static bool IsDetailsAvailable(feature::TypesHolder const & types)
{
- return IsDetailsAvailable(GetValue(types).m_mask);
+ auto const opt = GetValue(types);
+ return opt ? IsDetailsAvailable(opt->m_mask) : false;
}
static UGCRatingCategories GetCategories(feature::TypesHolder const & types)
{
- return GetValue(types).m_categories;
+ auto const opt = GetValue(types);
+ if (opt)
+ return opt->m_categories;
+ return {};
}
};
@@ -173,9 +222,6 @@ class Wheelchair : public TraitsBase<Wheelchair, WheelchairAvailability>
m_matcher.Append<TypesInitializer>({{"wheelchair", "limited"}},
WheelchairAvailability::Limited);
}
-
-public:
- static WheelchairAvailability GetEmptyValue() { return WheelchairAvailability::No; }
};
} // namespace ftraits
diff --git a/indexer/ftypes_mapping.hpp b/indexer/ftypes_mapping.hpp
index 7b28bf1716..4abdf31cde 100644
--- a/indexer/ftypes_mapping.hpp
+++ b/indexer/ftypes_mapping.hpp
@@ -11,10 +11,7 @@
namespace ftypes
{
-// When [allowDuplications] is true then we are support duplications in ierarchy,
-// for ex. shop and shop-alcohol. shop-alcohol is duplicaton of shop, because shop contains
-// shop-alcohol.
-template <typename Container, bool allowDuplications = false>
+template <typename Container>
class Matcher
{
public:
@@ -38,6 +35,11 @@ public:
return m_mapping.cend();
}
+ ConstIterator End() const
+ {
+ return m_mapping.cend();
+ }
+
bool IsValid(ConstIterator it) const
{
return it != m_mapping.cend();
@@ -50,14 +52,6 @@ public:
template <typename Type, typename... Args>
void AppendType(Type && type, Args &&... args)
{
-#if defined(DEBUG)
- if (!allowDuplications)
- {
- feature::TypesHolder holder;
- holder.Assign(classif().GetTypeByPath(type));
- ASSERT(Find(holder) == m_mapping.cend(), ("This type already exists", type));
- }
-#endif
m_mapping.emplace(classif().GetTypeByPath(std::forward<Type>(type)),
std::forward<Args>(args)...);
}
diff --git a/indexer/indexer_tests/ugc_types_test.cpp b/indexer/indexer_tests/ugc_types_test.cpp
index d1016631ec..7a2c18a503 100644
--- a/indexer/indexer_tests/ugc_types_test.cpp
+++ b/indexer/indexer_tests/ugc_types_test.cpp
@@ -13,35 +13,48 @@ UNIT_TEST(UgcTypes_Full)
feature::TypesHolder holder;
{
- holder.Assign(c.GetTypeByPath({"amenity", "bank"}));
+ auto const type = c.GetTypeByPath({"amenity", "bank"});
+ holder.Assign(type);
TEST(UGC::IsUGCAvailable(holder), ());
TEST(UGC::IsRatingAvailable(holder), ());
TEST(UGC::IsReviewsAvailable(holder), ());
TEST(!UGC::IsDetailsAvailable(holder), ());
ftraits::UGCRatingCategories expected = {"quality", "service", "value_for_money"};
TEST_EQUAL(UGC::GetCategories(holder), expected, ());
+ auto const matchingType = *UGC::GetType(holder);
+ TEST_EQUAL(matchingType, type, ());
+ TEST_EQUAL(c.GetReadableObjectName(matchingType), "amenity-bank", ());
}
{
- holder.Assign(c.GetTypeByPath({"tourism", "information", "office"}));
+ auto const type = c.GetTypeByPath({"tourism", "information", "office"});
+ holder.Assign(type);
TEST(UGC::IsUGCAvailable(holder), ());
TEST(UGC::IsRatingAvailable(holder), ());
TEST(UGC::IsReviewsAvailable(holder), ());
TEST(!UGC::IsDetailsAvailable(holder), ());
ftraits::UGCRatingCategories expected = {"quality", "service", "value_for_money"};
TEST_EQUAL(UGC::GetCategories(holder), expected, ());
+ auto const matchingType = *UGC::GetType(holder);
+ TEST_EQUAL(matchingType, type, ());
+ TEST_EQUAL(c.GetReadableObjectName(matchingType), "tourism-information-office", ());
}
{
- holder.Assign(c.GetTypeByPath({"amenity", "hospital"}));
+ auto const type = c.GetTypeByPath({"amenity", "hospital"});
+ holder.Assign(type);
TEST(UGC::IsUGCAvailable(holder), ());
TEST(UGC::IsRatingAvailable(holder), ());
TEST(UGC::IsReviewsAvailable(holder), ());
TEST(!UGC::IsDetailsAvailable(holder), ());
ftraits::UGCRatingCategories expected = {"expertise", "equipment", "value_for_money"};
TEST_EQUAL(UGC::GetCategories(holder), expected, ());
+ auto const matchingType = *UGC::GetType(holder);
+ TEST_EQUAL(matchingType, type, ());
+ TEST_EQUAL(c.GetReadableObjectName(matchingType), "amenity-hospital", ());
}
{
holder.Assign(c.GetTypeByPath({"traffic_calming", "bump"}));
TEST(!UGC::IsUGCAvailable(holder), ());
+ TEST(!UGC::GetType(holder), ());
}
{
holder.Assign(c.GetTypeByPath({"sponsored", "booking"}));
@@ -51,5 +64,24 @@ UNIT_TEST(UgcTypes_Full)
TEST(!UGC::IsDetailsAvailable(holder), ());
ftraits::UGCRatingCategories expected = {};
TEST_EQUAL(UGC::GetCategories(holder), expected, ());
+ TEST(!UGC::GetType(holder), ());
+
+ holder.Assign(c.GetTypeByPath({"sponsored", "booking"}));
+ holder.Add(c.GetTypeByPath({"amenity", "hospital"}));
+ TEST(!UGC::IsUGCAvailable(holder), ());
+ TEST(!UGC::IsRatingAvailable(holder), ());
+ TEST(!UGC::IsReviewsAvailable(holder), ());
+ TEST(!UGC::IsDetailsAvailable(holder), ());
+ TEST_EQUAL(UGC::GetCategories(holder), expected, ());
+ TEST(!UGC::GetType(holder), ());
+
+ holder.Assign(c.GetTypeByPath({"amenity", "hospital"}));
+ holder.Add(c.GetTypeByPath({"sponsored", "booking"}));
+ TEST(!UGC::IsUGCAvailable(holder), ());
+ TEST(!UGC::IsRatingAvailable(holder), ());
+ TEST(!UGC::IsReviewsAvailable(holder), ());
+ TEST(!UGC::IsDetailsAvailable(holder), ());
+ TEST_EQUAL(UGC::GetCategories(holder), expected, ());
+ TEST(!UGC::GetType(holder), ());
}
}
diff --git a/indexer/indexer_tests/wheelchair_tests.cpp b/indexer/indexer_tests/wheelchair_tests.cpp
index 921f9452dd..008865d846 100644
--- a/indexer/indexer_tests/wheelchair_tests.cpp
+++ b/indexer/indexer_tests/wheelchair_tests.cpp
@@ -15,23 +15,23 @@ UNIT_TEST(Wheelchair_GetType)
feature::TypesHolder holder;
{
holder.Assign(c.GetTypeByPath({"wheelchair", "no"}));
- TEST_EQUAL(Wheelchair::GetValue(holder), WheelchairAvailability::No, ());
+ TEST_EQUAL(*Wheelchair::GetValue(holder), WheelchairAvailability::No, ());
}
{
holder.Assign(c.GetTypeByPath({"wheelchair", "yes"}));
- TEST_EQUAL(Wheelchair::GetValue(holder), WheelchairAvailability::Yes, ());
+ TEST_EQUAL(*Wheelchair::GetValue(holder), WheelchairAvailability::Yes, ());
}
{
holder.Assign(c.GetTypeByPath({"wheelchair", "limited"}));
- TEST_EQUAL(Wheelchair::GetValue(holder), WheelchairAvailability::Limited, ());
+ TEST_EQUAL(*Wheelchair::GetValue(holder), WheelchairAvailability::Limited, ());
}
{
holder.Assign(c.GetTypeByPath({"amenity", "dentist"}));
- TEST_EQUAL(Wheelchair::GetValue(holder), WheelchairAvailability::No, ());
+ TEST(!Wheelchair::GetValue(holder), ());
}
{
holder.Assign(c.GetTypeByPath({"amenity", "dentist"}));
holder.Add(c.GetTypeByPath({"wheelchair", "yes"}));
- TEST_EQUAL(Wheelchair::GetValue(holder), WheelchairAvailability::Yes, ());
+ TEST_EQUAL(*Wheelchair::GetValue(holder), WheelchairAvailability::Yes, ());
}
}
diff --git a/indexer/map_object.cpp b/indexer/map_object.cpp
index 8a77c09973..3bbaaf07ec 100644
--- a/indexer/map_object.cpp
+++ b/indexer/map_object.cpp
@@ -203,7 +203,8 @@ string MapObject::GetBuildingLevels() const
ftraits::WheelchairAvailability MapObject::GetWheelchairType() const
{
- return ftraits::Wheelchair::GetValue(m_types);
+ auto const opt = ftraits::Wheelchair::GetValue(m_types);
+ return opt ? *opt : ftraits::WheelchairAvailability::No;
}
feature::Metadata const & MapObject::GetMetadata() const { return m_metadata; }
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/AppsFlyerLib b/iphone/Maps/3party/AppsFlyerLib.framework/AppsFlyerLib
deleted file mode 120000
index fd96586f85..0000000000
--- a/iphone/Maps/3party/AppsFlyerLib.framework/AppsFlyerLib
+++ /dev/null
@@ -1 +0,0 @@
-Versions/Current/AppsFlyerLib \ No newline at end of file
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Headers b/iphone/Maps/3party/AppsFlyerLib.framework/Headers
deleted file mode 120000
index a177d2a6b9..0000000000
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Headers
+++ /dev/null
@@ -1 +0,0 @@
-Versions/Current/Headers \ No newline at end of file
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Modules/module.modulemap b/iphone/Maps/3party/AppsFlyerLib.framework/Modules/module.modulemap
deleted file mode 100644
index 047c0b9dac..0000000000
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Modules/module.modulemap
+++ /dev/null
@@ -1,6 +0,0 @@
-framework module AppsFlyerLib {
- umbrella header "AppsFlyerTracker.h"
-
- export *
- module * { export * }
-} \ No newline at end of file
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/AppsFlyerLib b/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/AppsFlyerLib
deleted file mode 100644
index a38545d6b6..0000000000
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/AppsFlyerLib
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/Current b/iphone/Maps/3party/AppsFlyerLib.framework/Versions/Current
deleted file mode 120000
index 8c7e5a667f..0000000000
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-A \ No newline at end of file
diff --git a/iphone/Maps/3party/Bolts.framework/Bolts b/iphone/Maps/3party/Bolts.framework/Bolts
deleted file mode 100644
index c76fbd5633..0000000000
--- a/iphone/Maps/3party/Bolts.framework/Bolts
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/Bolts.framework/Info.plist b/iphone/Maps/3party/Bolts.framework/Info.plist
deleted file mode 100644
index 2c14d6b970..0000000000
--- a/iphone/Maps/3party/Bolts.framework/Info.plist
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/Cartfile b/iphone/Maps/3party/Cartfile
index 4a7b7a8aa2..79058776d7 100644
--- a/iphone/Maps/3party/Cartfile
+++ b/iphone/Maps/3party/Cartfile
@@ -1,3 +1,5 @@
github "Alamofire/Alamofire"
github "Alamofire/AlamofireImage"
+github "AppsFlyerSDK/AppsFlyerFramework"
github "Pushwoosh/pushwoosh-ios-sdk"
+github "facebook/Facebook-SDK-Swift"
diff --git a/iphone/Maps/3party/Cartfile.resolved b/iphone/Maps/3party/Cartfile.resolved
index 0fa81fafb9..40b764d47e 100644
--- a/iphone/Maps/3party/Cartfile.resolved
+++ b/iphone/Maps/3party/Cartfile.resolved
@@ -1,3 +1,7 @@
github "Alamofire/Alamofire" "4.5.1"
github "Alamofire/AlamofireImage" "3.3.0"
-github "Pushwoosh/pushwoosh-ios-sdk" "5.3.6"
+github "AppsFlyerSDK/AppsFlyerFramework" "4.8.1"
+github "BoltsFramework/Bolts-ObjC" "1.8.4"
+github "Pushwoosh/pushwoosh-ios-sdk" "5.4.0"
+github "facebook/Facebook-SDK-Swift" "0.3.0"
+github "facebook/facebook-ios-sdk" "sdk-version-4.27.1"
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Alamofire b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Alamofire
index 8f2f34c573..2c364f271c 100755
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Alamofire
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Alamofire
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Headers/Alamofire-Swift.h b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Headers/Alamofire-Swift.h
index b5ecbd97f8..034ddaa983 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Headers/Alamofire-Swift.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Headers/Alamofire-Swift.h
@@ -1,4 +1,4 @@
-// Generated by Apple Swift version 4.0 effective-3.2 (swiftlang-900.0.65 clang-900.0.37)
+// Generated by Apple Swift version 4.0.2 effective-3.2.2 (swiftlang-900.0.69.2 clang-900.0.38)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
@@ -315,6 +315,7 @@ SWIFT_CLASS("_TtC9Alamofire15SessionDelegate")
@class NSURLSessionStreamTask;
@class NSOutputStream;
+SWIFT_AVAILABILITY(tvos,introduced=9.0) SWIFT_AVAILABILITY(macos,introduced=10.11) SWIFT_AVAILABILITY(ios,introduced=9.0)
@interface SessionDelegate (SWIFT_EXTENSION(Alamofire)) <NSURLSessionStreamDelegate>
/// Tells the delegate that the read side of the connection has been closed.
/// \param session The session.
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Info.plist
index 7a5e67cb07..723cd4f3bb 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Info.plist
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftdoc
index fdee24cc50..7318a1170f 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftmodule
index 0c039e16d4..271519d662 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftdoc
index 7d40a46f22..c5910dd836 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftmodule
index 22ba66fd0d..ac89a2bcfe 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/arm64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftdoc
index 7b4d58de8f..6899ec3f15 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftmodule
index f16f66db86..023b9826c1 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/i386.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftdoc
index 4794076d55..3de50ba677 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftmodule
index 2a16b73236..e0c65ffeb1 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/AlamofireImage b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/AlamofireImage
index 56eb4a950d..3c898df568 100755
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/AlamofireImage
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/AlamofireImage
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Headers/AlamofireImage-Swift.h b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Headers/AlamofireImage-Swift.h
index adbcb90d80..caae667539 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Headers/AlamofireImage-Swift.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Headers/AlamofireImage-Swift.h
@@ -1,4 +1,4 @@
-// Generated by Apple Swift version 4.0 effective-3.2 (swiftlang-900.0.65 clang-900.0.37)
+// Generated by Apple Swift version 4.0.2 effective-3.2.2 (swiftlang-900.0.69.2 clang-900.0.38)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Info.plist
index 3c4f8dae4c..80883c89a7 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Info.plist
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftdoc
index df273de34f..80a20f95c0 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftmodule
index 21ee5de995..e92b211938 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftdoc
index 83ca279711..f5ac13b2ab 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftmodule
index cbc1629458..8a3fd4bcc2 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/arm64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftdoc
index 716549a8b9..241d58d79f 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftmodule
index 91beb58fef..f5ecb9d141 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/i386.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftdoc
index 833d131de1..5519f9be5e 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftdoc
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftmodule
index fe62d8fd66..480a5e043d 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftmodule
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AlamofireImage.framework/Modules/AlamofireImage.swiftmodule/x86_64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/AppsFlyerTracker b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/AppsFlyerTracker
new file mode 100755
index 0000000000..ed1cd734fa
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/AppsFlyerTracker
Binary files differ
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerCrossPromotionHelper.h
index 7588f820f4..7588f820f4 100644
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerCrossPromotionHelper.h
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch
new file mode 100644
index 0000000000..78ca8f3403
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch
@@ -0,0 +1,10 @@
+//
+// Prefix header for all source files of the 'AppsFlyerLib' target in the 'AppsFlyerLib' project
+//
+
+#ifdef __OBJC__
+ #import <Foundation/Foundation.h>
+#endif
+
+#define kAppsFlyerSDKBuildNumber @"4.8.1"
+#define kJenkinsBuildNumber @"602"
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerLinkGenerator.h
index 9ed4178c3f..9ed4178c3f 100644
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerLinkGenerator.h
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerShareInviteHelper.h
index 6ab745e00c..6ab745e00c 100644
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerShareInviteHelper.h
diff --git a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerTracker.h
index 215b0184e3..720fb5f0c4 100644
--- a/iphone/Maps/3party/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Headers/AppsFlyerTracker.h
@@ -2,7 +2,7 @@
// AppsFlyerTracker.h
// AppsFlyerLib
//
-// AppsFlyer iOS SDK 4.8.0 (597)
+// AppsFlyer iOS SDK 4.8.1 (602)
// Copyright (c) 2013 AppsFlyer Ltd. All rights reserved.
//
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Info.plist
new file mode 100644
index 0000000000..6a70161c0e
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Modules/module.modulemap
new file mode 100644
index 0000000000..3a8afb7486
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/AppsFlyerTracker.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppsFlyerTracker {
+ umbrella header "AppsFlyerTracker.h"
+
+ export *
+ module * { export * }
+}
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Bolts b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Bolts
new file mode 100755
index 0000000000..358d1ef9a9
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Bolts
Binary files differ
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLink.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLink.h
index aa89efc2b9..aa89efc2b9 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLink.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLink.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkNavigation.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkNavigation.h
index 886b888c88..886b888c88 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkNavigation.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkNavigation.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkResolving.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkResolving.h
index b67bdba114..b67bdba114 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkResolving.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkResolving.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h
index d19465ee9e..d19465ee9e 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h
index d20f73a2da..d20f73a2da 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkTarget.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkTarget.h
index 61721269d5..61721269d5 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFAppLinkTarget.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFAppLinkTarget.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFCancellationToken.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationToken.h
index 4d7dec0edf..4d7dec0edf 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFCancellationToken.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationToken.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFCancellationTokenRegistration.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationTokenRegistration.h
index fa6090f667..fa6090f667 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFCancellationTokenRegistration.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationTokenRegistration.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFCancellationTokenSource.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationTokenSource.h
index 4627e9958f..4627e9958f 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFCancellationTokenSource.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFCancellationTokenSource.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFExecutor.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFExecutor.h
index afa4f3d2f6..afa4f3d2f6 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFExecutor.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFExecutor.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFMeasurementEvent.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFMeasurementEvent.h
index b3173fc23c..b3173fc23c 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFMeasurementEvent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFMeasurementEvent.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFTask+Exceptions.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTask+Exceptions.h
index 41b633c65c..41b633c65c 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFTask+Exceptions.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTask+Exceptions.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFTask.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTask.h
index 071f994d59..071f994d59 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFTask.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTask.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFTaskCompletionSource.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTaskCompletionSource.h
index 18810bc83d..18810bc83d 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFTaskCompletionSource.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFTaskCompletionSource.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFURL.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFURL.h
index 924c91d480..924c91d480 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFURL.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFURL.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/BFWebViewAppLinkResolver.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFWebViewAppLinkResolver.h
index 3782ae2cb9..3782ae2cb9 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/BFWebViewAppLinkResolver.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/BFWebViewAppLinkResolver.h
diff --git a/iphone/Maps/3party/Bolts.framework/Headers/Bolts.h b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/Bolts.h
index 907e4a2b61..907e4a2b61 100644
--- a/iphone/Maps/3party/Bolts.framework/Headers/Bolts.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Headers/Bolts.h
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Info.plist
new file mode 100644
index 0000000000..19ea474252
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Bolts.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Modules/module.modulemap
index 3c92a170fd..3c92a170fd 100644
--- a/iphone/Maps/3party/Bolts.framework/Modules/module.modulemap
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Bolts.framework/Modules/module.modulemap
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/FBSDKCoreKit b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/FBSDKCoreKit
new file mode 100755
index 0000000000..316b026577
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/FBSDKCoreKit
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h
index ef54b15168..ef54b15168 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h
index c35a52615b..71260ca8c6 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h
@@ -97,6 +97,14 @@ FBSDK_EXTERN NSString *const FBSDKAppEventNameViewedContent;
of methods on `FBSDKAppEvents`. Common event names are provided in the `FBAppEventName*` constants.
*/
+ /**
+ * Parameter key used to specify data for the one or more pieces of content being logged about.
+ * Data should be a JSON encoded string.
+ * Example:
+ * "[{\"id\": \"1234\", \"quantity\": 2, \"item_price\": 5.99}, {\"id\": \"5678\", \"quantity\": 1, \"item_price\": 9.99}]"
+ */
+FBSDK_EXTERN NSString *const FBSDKAppEventParameterNameContent;
+
/** Parameter key used to specify an ID for the specific piece of content being logged about. Could be an EAN, article identifier, etc., depending on the nature of the app. */
FBSDK_EXTERN NSString *const FBSDKAppEventParameterNameContentID;
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h
index c97b6b35d8..c97b6b35d8 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h
index 1cc549a195..1cc549a195 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h
index 45508267a0..ebaef4d380 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h
@@ -50,7 +50,7 @@
- Parameter annotation: The annotation as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:].
- Returns: YES if the url was intended for the Facebook SDK, NO if not.
- */
+ */
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKButton.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKButton.h
index ca539660c4..ca539660c4 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKButton.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKButton.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKConstants.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKConstants.h
index 5834bf4449..5834bf4449 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKConstants.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKConstants.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCopying.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKCopying.h
index c84975ca4c..c84975ca4c 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCopying.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKCopying.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h
index fd60148ae9..6e17cde4bc 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h
@@ -44,5 +44,5 @@
#import <FBSDKCoreKit/FBSDKDeviceViewControllerBase.h>
#endif
-#define FBSDK_VERSION_STRING @"4.27.0"
+#define FBSDK_VERSION_STRING @"4.27.1"
#define FBSDK_TARGET_PLATFORM_VERSION @"v2.10"
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h
index 658bc46eec..658bc46eec 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h
index 2743ec3ad3..2743ec3ad3 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h
index 3eca5840f3..3eca5840f3 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h
index edf0f78151..edf0f78151 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKMacros.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKMacros.h
index fd2e2fff38..fd2e2fff38 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKMacros.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKMacros.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h
index 1b351dbdf7..1b351dbdf7 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKProfile.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKProfile.h
index 1f33f16890..1f33f16890 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKProfile.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKProfile.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h
index aaf9bcaa78..aaf9bcaa78 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKSettings.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKSettings.h
index 22347b7095..22347b7095 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKSettings.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKSettings.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h
index 3be95297e9..3be95297e9 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKUtility.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKUtility.h
index 1a240c8f0d..1a240c8f0d 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKUtility.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Headers/FBSDKUtility.h
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Info.plist
new file mode 100644
index 0000000000..721d41649f
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Modules/module.modulemap
index bc59c1a822..bc59c1a822 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Modules/module.modulemap
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKCoreKit.framework/Modules/module.modulemap
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/FBSDKLoginKit b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/FBSDKLoginKit
new file mode 100755
index 0000000000..7e0e547780
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/FBSDKLoginKit
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h
index adc7b9b095..adc7b9b095 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h
index 713d798581..713d798581 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginKit.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginKit.h
index 4723940013..4723940013 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginKit.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginKit.h
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h
index 5758325ccd..5758325ccd 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h
index 6148a07542..6148a07542 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h
index ad2c9d504c..ad2c9d504c 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h
index 604c840c88..604c840c88 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Info.plist
new file mode 100644
index 0000000000..fd4c2d996a
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Modules/module.modulemap
index 4b1d57bd38..4b1d57bd38 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Modules/module.modulemap
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKLoginKit.framework/Modules/module.modulemap
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/FBSDKPlacesKit b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/FBSDKPlacesKit
new file mode 100755
index 0000000000..4395019a81
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/FBSDKPlacesKit
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKit.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKit.h
new file mode 100644
index 0000000000..bdf7646ce8
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKit.h
@@ -0,0 +1,21 @@
+// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
+//
+// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
+// copy, modify, and distribute this software in source code or binary form for use
+// in connection with the web services and APIs provided by Facebook.
+//
+// As with any software that integrates with the Facebook platform, your use of
+// this software is subject to the Facebook Developer Principles and Policies
+// [http://developers.facebook.com/policy/]. This copyright notice shall be
+// included in all copies or substantial portions of the software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+#import <CoreLocation/CoreLocation.h>
+
+#import <FBSDKPlacesKit/FBSDKPlacesManager.h>
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKitConstants.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKitConstants.h
new file mode 100644
index 0000000000..8c594c10d5
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesKitConstants.h
@@ -0,0 +1,303 @@
+// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
+//
+// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
+// copy, modify, and distribute this software in source code or binary form for use
+// in connection with the web services and APIs provided by Facebook.
+//
+// As with any software that integrates with the Facebook platform, your use of
+// this software is subject to the Facebook Developer Principles and Policies
+// [http://developers.facebook.com/policy/]. This copyright notice shall be
+// included in all copies or substantial portions of the software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+#import <Foundation/Foundation.h>
+
+/**
+ These are the fields currently exposed by FBSDKPlacesKit. They map to the fields on
+ Place objects returned by the Graph API, which can be found here:
+ https://developers.facebook.com/docs/places. Should fields be added to the Graph API in
+ the future, you can use strings found in the online documenation in addition to
+ these string constants.
+ */
+
+/**
+ Field Key for information about the Place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyAbout;
+
+/**
+ Field Key for AppLinks for the Place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyAppLinks;
+
+/**
+ Field Key for the Place's categories.
+ */
+extern NSString *const FBSDKPlacesFieldKeyCategories;
+
+/**
+ Field Key for the number of checkins at the Place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyCheckins;
+
+/**
+ Field Key for the OpenGraphContext of the place, including friends who were at this
+ place, or who liked to its page. This field requires authentication with a user token.
+ An error will be thrown if this field is requested using a client token.
+ */
+extern NSString *const FBSDKPlacesFieldKeyContext;
+
+/**
+ Field Key for the confidence level for a current place estimate candidate.
+ */
+extern NSString *const FBSDKPlacesFieldKeyConfidence;
+
+/**
+ Field Key for the Place's cover photo. Note that this is not the actual photo data,
+ but rather URLs and other metadata.
+ */
+extern NSString *const FBSDKPlacesFieldKeyCoverPhoto;
+
+/**
+ Field Key for the description of the Place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyDescription;
+
+/**
+ Field Key for the social sentence and like count information for this place. This is
+ the same information used for the Like button.
+ */
+extern NSString *const FBSDKPlacesFieldKeyEngagement;
+
+/**
+ Field Key for the number of people who like the place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyFanCount;
+
+/**
+ Field Key for hour ranges for when the Place is open. Each day can have two different
+ hours ranges. The keys in the dictionary are in the form of {day}_{number}_{status}.
+ {day} should be the first 3 characters of the day of the week, {number} should be
+ either 1 or 2 to allow for the two different hours ranges per day. {status} should be
+ either open or close, to delineate the start or end of a time range. An example would
+ be mon_1_open with value 17:00 and mon_1_close with value 21:15 which would represent
+ a single opening range of 5 PM to 9:15 PM on Mondays. You can find an example of hours
+ being parsed out in the Sample App.
+ */
+extern NSString *const FBSDKPlacesFieldKeyHours;
+
+/**
+ Field Key for a value indicating whether this place is always open.
+ */
+extern NSString *const FBSDKPlacesFieldKeyIsAlwaysOpen;
+
+/**
+ Field Key for a value indicating whether this place is permanently closed.
+ */
+extern NSString *const FBSDKPlacesFieldKeyIsPermanentlyClosed;
+
+/**
+ Pages with a large number of followers can be manually verified by Facebook as having an
+ authentic identity. This field indicates whether the page is verified by this process.
+ */
+extern NSString *const FBSDKPlacesFieldKeyIsVerified;
+
+/**
+ Field Key for address and latitude/longitude information for the place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyLocation;
+
+/**
+ Field Key for a link to Place's Facebook page.
+ */
+extern NSString *const FBSDKPlacesFieldKeyLink;
+
+/**
+ Field Key for the name of the place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyName;
+
+/**
+ Field Key for the overall page rating based on rating surveys from users on a scale
+ from 1-5. This value is normalized, and is not guaranteed to be a strict average of
+ user ratings.
+ */
+extern NSString *const FBSDKPlacesFieldKeyOverallStarRating;
+
+/**
+ Field Key for PageParking information for the Place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyParking;
+
+/**
+ Field Key for available payment options.
+ */
+extern NSString *const FBSDKPlacesFieldKeyPaymentOptions;
+
+/**
+ Field Key for the unique Facebook ID of the place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyPlaceID;
+
+/**
+ Field Key for the Place's phone number.
+ */
+extern NSString *const FBSDKPlacesFieldKeyPhone;
+
+/**
+ Field Key for the Place's photos. Note that this is not the actual photo data, but
+ rather URLs and other metadata.
+ */
+extern NSString *const FBSDKPlacesFieldKeyPhotos;
+
+/**
+ Field Key for the price range of the business, expressed as a string. Applicable to
+ Restaurants or Nightlife. Can be one of $ (0-10), $$ (10-30), $$$ (30-50), $$$$ (50+),
+ or Unspecified.
+ */
+extern NSString *const FBSDKPlacesFieldKeyPriceRange;
+
+/**
+ Field Key for the Place's profile photo. Note that this is not the actual photo data,
+ but rather URLs and other metadata.
+ */
+extern NSString *const FBSDKPlacesFieldKeyProfilePhoto;
+
+/**
+ Field Key for the number of ratings for the place.
+ */
+extern NSString *const FBSDKPlacesFieldKeyRatingCount;
+
+/**
+ Field Key for restaurant services e.g: delivery, takeout.
+ */
+extern NSString *const FBSDKPlacesFieldKeyRestaurantServices;
+
+/**
+ Field Key for restaurant specialties.
+ */
+extern NSString *const FBSDKPlacesFieldKeyRestaurantSpecialties;
+
+/**
+ Field Key for the address in a single line.
+ */
+extern NSString *const FBSDKPlacesFieldKeySingleLineAddress;
+
+/**
+ Field Key for the string of the Place's website URL.
+ */
+extern NSString *const FBSDKPlacesFieldKeyWebsite;
+
+/**
+ Field Key for the Workflows.
+ */
+extern NSString *const FBSDKPlacesFieldKeyWorkflows;
+
+/**
+ Response Key for the place's city field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyCity;
+
+/**
+ Response Key for the place's city ID field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyCityID;
+
+/**
+ Response Key for the place's country field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyCountry;
+
+/**
+ Response Key for the place's country code field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyCountryCode;
+
+/**
+ Response Key for the place's latitude field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyLatitude;
+
+/**
+ Response Key for the place's longitude field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyLongitude;
+
+/**
+ Response Key for the place's region field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyRegion;
+
+/**
+ Response Key for the place's region ID field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyRegionID;
+
+/**
+ Response Key for the place's state field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyState;
+
+/**
+ Response Key for the place's street field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyStreet;
+
+/**
+ Response Key for the place's zip code field.
+ */
+extern NSString *const FBSDKPlacesResponseKeyZip;
+
+/**
+ Response Key for the categories that this place matched.
+ To be used on the search request if the categories parameter is specified.
+ */
+extern NSString *const FBSDKPlacesResponseKeyMatchedCategories;
+
+/**
+ Response Key for the photo source dictionary.
+ */
+extern NSString *const FBSDKPlacesResponseKeyPhotoSource;
+
+/**
+ Response Key for response data.
+ */
+extern NSString *const FBSDKPlacesResponseKeyData;
+
+/**
+ Response Key for a URL.
+ */
+extern NSString *const FBSDKPlacesResponseKeyUrl;
+
+/**
+ Parameter Key for the current place summary.
+ */
+extern NSString *const FBSDKPlacesParameterKeySummary;
+
+/**
+ Summary Key for the current place tracking ID.
+ */
+extern NSString *const FBSDKPlacesSummaryKeyTracking;
+
+/**
+ The level of confidence the Facebook SDK has that a Place is the correct one for the
+ user's current location.
+
+ - FBSDKPlaceLocationConfidenceNotApplicable: Used to indicate that any level is
+ acceptable as a minimum threshold
+ - FBSDKPlaceLocationConfidenceLow: Low confidence level.
+ - FBSDKPlaceLocationConfidenceMedium: Medium confidence level.
+ - FBSDKPlaceLocationConfidenceHigh: High confidence level.
+ */
+typedef NS_ENUM(NSInteger) {
+ FBSDKPlaceLocationConfidenceNotApplicable,
+ FBSDKPlaceLocationConfidenceLow,
+ FBSDKPlaceLocationConfidenceMedium,
+ FBSDKPlaceLocationConfidenceHigh
+} FBSDKPlaceLocationConfidence;
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesManager.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesManager.h
new file mode 100644
index 0000000000..1984d38874
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Headers/FBSDKPlacesManager.h
@@ -0,0 +1,175 @@
+// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
+//
+// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
+// copy, modify, and distribute this software in source code or binary form for use
+// in connection with the web services and APIs provided by Facebook.
+//
+// As with any software that integrates with the Facebook platform, your use of
+// this software is subject to the Facebook Developer Principles and Policies
+// [http://developers.facebook.com/policy/]. This copyright notice shall be
+// included in all copies or substantial portions of the software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+#import <CoreLocation/CoreLocation.h>
+#import <Foundation/Foundation.h>
+
+#import <FBSDKCoreKit/FBSDKCoreKit.h>
+
+#import "FBSDKPlacesKitConstants.h"
+
+/**
+ Completion block for aysnchronous place request generation.
+
+ @param graphRequest An `FBSDKGraphRequest` with the parameters supplied to the
+ original method call.
+
+ @param location A CLLocation representing the current location of the device at the time
+ of the method call, which you can cache for later use.
+
+ @param error An error indicating a failure in a location services request.
+ */
+typedef void (^FBSDKPlaceGraphRequestCompletion)(FBSDKGraphRequest *_Nullable graphRequest, CLLocation *_Nullable location, NSError *_Nullable error);
+
+/**
+ Completion block for aysnchronous current place request generation.
+
+ @param graphRequest An `FBSDKGraphRequest` with the parameters supplied to the
+ original method call.
+
+ @param error An error indicating a failure in a location services request.
+ */
+typedef void (^FBSDKCurrentPlaceGraphRequestCompletion)(FBSDKGraphRequest *_Nullable graphRequest, NSError *_Nullable error);
+
+/**
+ `FBSDKPlacesManager` provides methods for searching for nearby places, as well as for
+ determining the current place where a person might be.
+
+ To use some features of the `FBSDKPlacesManager`, your app must be configured to allow
+ either the `CoreLocation` permission for `kCLAuthorizationStatusAuthorizedWhenInUse`,
+ or for `kCLAuthorizationStatusAuthorizedAlways`. For information about enabling these
+ for your app, see:
+ https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html.
+ */
+@interface FBSDKPlacesManager : NSObject
+
+
+/**
+ Method for generating a graph request for searching the Places Graph using the device's
+ current location. This is an asynchronous call, due to the need to fetch the current
+ location from the device.
+
+ @param searchTerm The term to search for in the Places Graph.
+
+ @param categories The categories for the place. Each string in this array must be a
+ category recognized by the SDK. See `FBSDKPlacesKitConstants.h` for the categories
+ exposed by the SDK, and see https://developers.facebook.com/docs/places/web/search#categories
+ for the most up to date list.
+
+ @param fields A list of fields that you might want the request to return. See
+ `FBSDKPlacesKitConstants.h` for the fields exposed by the SDK, and see
+ https://developers.intern.facebook.com/docs/places/fields" for the most up to date list.
+
+ @param distance The search radius. For an unlimited radius, use 0.
+
+ @param cursor A pagination cursor.
+
+ @param completion An `FBSDKPlaceGraphRequestCompletion` block. Note that this block will
+ return the location, which you can choose to cache and use on calls to the synchronous
+ `placesGraphRequestForLocation` method.
+ */
+- (void)generatePlaceSearchRequestForSearchTerm:(nullable NSString *)searchTerm
+ categories:(nullable NSArray<NSString *> *)categories
+ fields:(nullable NSArray<NSString *> *)fields
+ distance:(CLLocationDistance)distance
+ cursor:(nullable NSString *)cursor
+ completion:(nonnull FBSDKPlaceGraphRequestCompletion)completion;
+
+/**
+ Method for generating a graph request for searching the Places API.
+
+ @param location The location for the search. If you do not wish to provide a location,
+ you must provide a search term.
+
+ @param searchTerm The term to search the Places Graph for.
+
+ @param categories The categories of the place. Each string in this array must be a
+ category recognized by the SDK. See `FBSDKPlacesKitConstants.h` for the categories
+ exposed by the SDK, and see https://developers.facebook.com/docs/places/web/search#categories
+ for the most up to date list.
+
+ @param fields A list of fields that you might want the request to return. See
+ `FBSDKPlacesKitConstants.h` for the fields exposed by the SDK, and see https://developers.intern.facebook.com/docs/places/fields
+ for the most up to date list.
+
+ @param distance The search radius. For an unlimited radius, use 0.
+
+ @param cursor A pagination cursor
+
+ @return An `FBSDKGraphRequest` for the given parameters.
+ */
+- (nullable FBSDKGraphRequest *)placeSearchRequestForLocation:(nullable CLLocation *)location
+ searchTerm:(nullable NSString *)searchTerm
+ categories:(nullable NSArray<NSString *> *)categories
+ fields:(nullable NSArray<NSString *> *)fields
+ distance:(CLLocationDistance)distance
+ cursor:(nullable NSString *)cursor;
+
+/**
+ Method for generating a graph request to query for places the device is likely
+ located in. This is an asynchronous call, due to the need to fetch the current location
+ from the device. Note that the results of the graph request are improved if the user has
+ both Wi-Fi and Bluetooth enabled.
+
+ @param minimumConfidence The Minimum Confidence level place estimate candidates must meet.
+
+ @param fields A list of fields that you might want the request to return. See
+ `FBSDKPlacesKitConstants.h` for the fields exposed by the SDK, and see https://developers.intern.facebook.com/docs/places/fields
+ for the most up to date list.
+
+ @param completion A `FBSDKCurrentPlaceGraphRequestCompletion` block, that contains the graph request.
+ */
+- (void)generateCurrentPlaceRequestWithMinimumConfidenceLevel:(FBSDKPlaceLocationConfidence)minimumConfidence
+ fields:(nullable NSArray *)fields
+ completion:(nonnull FBSDKCurrentPlaceGraphRequestCompletion)completion;
+
+/**
+ Method for generating a graph request to provide feedback to the Places Graph about
+ the accuracy of current place estimate candidates. We'd very much appreciate it if
+ you'd give us feedback about our current place results. If a user indicates that a place
+ returned by a current place estimate either is, or is not where they currently are,
+ then this method generates a graph request to allow you to pass that feedback back to us.
+
+ @param placeID The place ID returned by the current place request.
+
+ @param tracking The tracking value returned by the current place request.
+
+ @param wasHere A boolean value indicating whether the user is actually at the place.
+
+ @return An `FBSDKGraphRequest` for the given parameters.
+ */
+- (nonnull FBSDKGraphRequest *)currentPlaceFeedbackRequestForPlaceID:(nonnull NSString *)placeID
+ tracking:(nonnull NSString *)tracking
+ wasHere:(BOOL)wasHere;
+
+/**
+ Method for generating a graph request to fetch additional information for a given place.
+
+ @param placeID The ID of the place.
+
+ @param fields A list of fields that you might want the request to return. See
+ `FBSDKPlacesKitConstants.h` for the fields exposed by the SDK, and see https://developers.intern.facebook.com/docs/places/fields
+ for the most up to date list.
+
+ @return An `FBSDKGraphRequest` for the given parameters.
+ */
+- (nonnull FBSDKGraphRequest *)placeInfoRequestForPlaceID:(nonnull NSString *)placeID
+ fields:(nullable NSArray<NSString *> *)fields;
+
+
+@end
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Info.plist
new file mode 100644
index 0000000000..2478fa0d7a
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Modules/module.modulemap
new file mode 100644
index 0000000000..095ee38ca8
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKPlacesKit.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module FBSDKPlacesKit {
+ umbrella header "FBSDKPlacesKit.h"
+
+ export *
+ module * { export * }
+}
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/FBSDKShareKit b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/FBSDKShareKit
new file mode 100755
index 0000000000..9210796a25
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/FBSDKShareKit
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h
index 460ac28875..460ac28875 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h
index e5722ef56f..e5722ef56f 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h
index 371e5cc6f6..371e5cc6f6 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h
index fe911420cf..fe911420cf 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h
index 3b114d5e6a..3b114d5e6a 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h
index 6f67f0a54a..6f67f0a54a 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h
index 37aeff37d3..37aeff37d3 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h
index a7428268d1..a7428268d1 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h
index 0cca016459..0cca016459 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKHashtag.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKHashtag.h
index 438b664d1c..438b664d1c 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKHashtag.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKHashtag.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h
index 0e25c30fb4..0e25c30fb4 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h
index 9350c581c3..9350c581c3 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h
index c52f3022c7..c52f3022c7 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLiking.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLiking.h
index 78855be84c..78855be84c 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKLiking.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKLiking.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h
index 8609880817..8609880817 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSendButton.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSendButton.h
index 8dc40ac8bc..8dc40ac8bc 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSendButton.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSendButton.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h
index bf53883b51..bf53883b51 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareButton.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareButton.h
index c2565db376..c2565db376 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareButton.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareButton.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h
index 65e2f6bdc3..65e2f6bdc3 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h
index 1d73ecf45e..1d73ecf45e 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h
index 849859050b..849859050b 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h
index c756802dea..c756802dea 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareKit.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareKit.h
index 87d7a43f6d..87d7a43f6d 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareKit.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareKit.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h
index b4290d16c8..b4290d16c8 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h
index 2029422ffb..2029422ffb 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h
index d30ebad5ef..d30ebad5ef 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h
index 43286dcfac..43286dcfac 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h
index 22745cdcd8..22745cdcd8 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h
index ddef60f826..ddef60f826 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h
index 7926e2a918..7926e2a918 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h
index 3043268f28..3043268f28 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h
index dcec319f3b..dcec319f3b 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h
index 726459116c..726459116c 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharing.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharing.h
index 7a297ddd8f..7a297ddd8f 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharing.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharing.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h
index 5192de470f..5192de470f 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h
index 0c5c20a5f8..0c5c20a5f8 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Info.plist
new file mode 100644
index 0000000000..092f464d44
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Modules/module.modulemap
index faa8711cf9..faa8711cf9 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Modules/module.modulemap
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FBSDKShareKit.framework/Modules/module.modulemap
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/FacebookCore b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/FacebookCore
new file mode 100755
index 0000000000..05a8f052a0
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/FacebookCore
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Headers/FacebookCore-Swift.h b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Headers/FacebookCore-Swift.h
new file mode 100644
index 0000000000..7599d52089
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Headers/FacebookCore-Swift.h
@@ -0,0 +1,209 @@
+// Generated by Apple Swift version 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_attribute(external_source_symbol)
+# define SWIFT_STRINGIFY(str) #str
+# define SWIFT_MODULE_NAMESPACE_PUSH(module_name) _Pragma(SWIFT_STRINGIFY(clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in=module_name, generated_declaration))), apply_to=any(function, enum, objc_interface, objc_category, objc_protocol))))
+# define SWIFT_MODULE_NAMESPACE_POP _Pragma("clang attribute pop")
+#else
+# define SWIFT_MODULE_NAMESPACE_PUSH(module_name)
+# define SWIFT_MODULE_NAMESPACE_POP
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <objc/NSObject.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+# include <uchar.h>
+# elif !defined(__cplusplus) || __cplusplus < 201103L
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+# define SWIFT_ENUM_ATTR __attribute__((enum_extensibility(open)))
+# else
+# define SWIFT_ENUM_ATTR
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if __has_feature(modules)
+@import FBSDKCoreKit;
+@import Foundation;
+@import UIKit;
+@import CoreGraphics;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+SWIFT_MODULE_NAMESPACE_PUSH("FacebookCore")
+
+
+
+
+@class NSCoder;
+
+/// A view to display a profile picture.
+SWIFT_CLASS("_TtCV12FacebookCore11UserProfile11PictureView")
+@interface PictureView : UIView
+/// Create a new instance of <code>UserProfilePictureView</code> from an encoded interface file.
+/// \param decoder The coder to initialize from.
+///
+- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)decoder OBJC_DESIGNATED_INITIALIZER;
+- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
+@end
+
+
+
+SWIFT_MODULE_NAMESPACE_POP
+#pragma clang diagnostic pop
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Info.plist
new file mode 100644
index 0000000000..f4408b15dc
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftdoc
new file mode 100644
index 0000000000..4da4c5616d
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftmodule
new file mode 100644
index 0000000000..849c19a78c
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftdoc
new file mode 100644
index 0000000000..2608bfa9e3
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftmodule
new file mode 100644
index 0000000000..4fd33bee94
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/arm64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftdoc
new file mode 100644
index 0000000000..6248465532
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftmodule
new file mode 100644
index 0000000000..3e7646ff35
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/i386.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftdoc
new file mode 100644
index 0000000000..c054775284
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftmodule
new file mode 100644
index 0000000000..7a6cce6b7c
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/FacebookCore.swiftmodule/x86_64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/module.modulemap
new file mode 100644
index 0000000000..9574c1ffed
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookCore.framework/Modules/module.modulemap
@@ -0,0 +1,4 @@
+framework module FacebookCore {
+ header "FacebookCore-Swift.h"
+ requires objc
+}
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/FacebookLogin b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/FacebookLogin
new file mode 100755
index 0000000000..a0e8bd3c2f
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/FacebookLogin
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Headers/FacebookLogin-Swift.h b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Headers/FacebookLogin-Swift.h
new file mode 100644
index 0000000000..cdd4d59b20
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Headers/FacebookLogin-Swift.h
@@ -0,0 +1,219 @@
+// Generated by Apple Swift version 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_attribute(external_source_symbol)
+# define SWIFT_STRINGIFY(str) #str
+# define SWIFT_MODULE_NAMESPACE_PUSH(module_name) _Pragma(SWIFT_STRINGIFY(clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in=module_name, generated_declaration))), apply_to=any(function, enum, objc_interface, objc_category, objc_protocol))))
+# define SWIFT_MODULE_NAMESPACE_POP _Pragma("clang attribute pop")
+#else
+# define SWIFT_MODULE_NAMESPACE_PUSH(module_name)
+# define SWIFT_MODULE_NAMESPACE_POP
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <objc/NSObject.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+# include <uchar.h>
+# elif !defined(__cplusplus) || __cplusplus < 201103L
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+# define SWIFT_ENUM_ATTR __attribute__((enum_extensibility(open)))
+# else
+# define SWIFT_ENUM_ATTR
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if __has_feature(modules)
+@import UIKit;
+@import CoreGraphics;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+SWIFT_MODULE_NAMESPACE_PUSH("FacebookLogin")
+@class NSCoder;
+
+/// A button that initiates a log in or log out flow upon tapping.
+/// <code>LoginButton</code> works with <code>AccessToken.current</code> to determine what to display,
+/// and automatically starts authentication when tapped (i.e., you do not need to manually subscribe action targets).
+/// Like <code>LoginManager</code>, you should make sure your app delegate is connected to <code>ApplicationDelegate</code>
+/// in order for the button’s delegate to receive messages.
+/// <code>LoginButton</code> has a fixed height of @c 30 pixels, but you may change the width.
+/// Initializing the button with <code>nil</code> frame will size the button to its minimum frame.
+SWIFT_CLASS("_TtC13FacebookLogin11LoginButton")
+@interface LoginButton : UIView
+/// Create a new <code>LoginButton</code> from an encoded interface file.
+/// \param decoder The coder to initialize from.
+///
+- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)decoder OBJC_DESIGNATED_INITIALIZER;
+- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
+@end
+
+
+
+
+
+
+@interface LoginButton (SWIFT_EXTENSION(FacebookLogin))
+- (void)layoutSubviews;
+- (void)sizeToFit;
+- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
+@property (nonatomic, readonly) CGSize intrinsicContentSize;
+@end
+
+SWIFT_MODULE_NAMESPACE_POP
+#pragma clang diagnostic pop
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Info.plist
new file mode 100644
index 0000000000..5ecc9e156f
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftdoc
new file mode 100644
index 0000000000..f9b4f73dbb
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftmodule
new file mode 100644
index 0000000000..952865a31b
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftdoc
new file mode 100644
index 0000000000..16fe3d06a5
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftmodule
new file mode 100644
index 0000000000..af35837bcb
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/arm64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftdoc
new file mode 100644
index 0000000000..b93e5391bf
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftmodule
new file mode 100644
index 0000000000..728b1a317d
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/i386.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftdoc
new file mode 100644
index 0000000000..c99aca6082
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftmodule
new file mode 100644
index 0000000000..b04ff81b44
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/FacebookLogin.swiftmodule/x86_64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/module.modulemap
new file mode 100644
index 0000000000..413c0a33db
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookLogin.framework/Modules/module.modulemap
@@ -0,0 +1,4 @@
+framework module FacebookLogin {
+ header "FacebookLogin-Swift.h"
+ requires objc
+}
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/FacebookShare b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/FacebookShare
new file mode 100755
index 0000000000..e51964395d
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/FacebookShare
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Headers/FacebookShare-Swift.h b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Headers/FacebookShare-Swift.h
new file mode 100644
index 0000000000..d4a2c279c4
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Headers/FacebookShare-Swift.h
@@ -0,0 +1,259 @@
+// Generated by Apple Swift version 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_attribute(external_source_symbol)
+# define SWIFT_STRINGIFY(str) #str
+# define SWIFT_MODULE_NAMESPACE_PUSH(module_name) _Pragma(SWIFT_STRINGIFY(clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in=module_name, generated_declaration))), apply_to=any(function, enum, objc_interface, objc_category, objc_protocol))))
+# define SWIFT_MODULE_NAMESPACE_POP _Pragma("clang attribute pop")
+#else
+# define SWIFT_MODULE_NAMESPACE_PUSH(module_name)
+# define SWIFT_MODULE_NAMESPACE_POP
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <objc/NSObject.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+# include <uchar.h>
+# elif !defined(__cplusplus) || __cplusplus < 201103L
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+
+#if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+#else
+# define SWIFT_COMPILE_NAME(X)
+#endif
+#if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+#else
+# define SWIFT_METHOD_FAMILY(X)
+#endif
+#if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+#else
+# define SWIFT_NOESCAPE
+#endif
+#if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SWIFT_WARN_UNUSED_RESULT
+#endif
+#if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+#else
+# define SWIFT_NORETURN
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if defined(__has_attribute) && __has_attribute(enum_extensibility)
+# define SWIFT_ENUM_ATTR __attribute__((enum_extensibility(open)))
+# else
+# define SWIFT_ENUM_ATTR
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+#else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+#endif
+#if __has_feature(modules)
+@import UIKit;
+@import CoreGraphics;
+@import Foundation;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+
+SWIFT_MODULE_NAMESPACE_PUSH("FacebookShare")
+@class NSCoder;
+
+/// A button to like an object.
+/// Tapping the receiver will invoke an API call to the Facebook app through a fast-app-switch that allows
+/// the object to be liked. Upon return to the calling app, the view will update with the new state. If the
+/// currentAccessToken has “publish_actions” permission and the object is an Open Graph object, then the like can happen
+/// seamlessly without the fast-app-switch.
+SWIFT_CLASS("_TtC13FacebookShare10LikeButton")
+@interface LikeButton : UIView
+/// Create a new LikeButton from an encoded interface file.
+/// \param aDecoder The coder to initialize from.
+///
+- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+/// Performs logic for laying out subviews.
+- (void)layoutSubviews;
+/// Resizes and moves the receiver view so it just encloses its subviews.
+- (void)sizeToFit;
+/// Asks the view to calculate and return the size that best fits the specified size.
+/// \param size A new size that fits the receiver’s subviews.
+///
+///
+/// returns:
+/// A new size that fits the receiver’s subviews.
+- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
+/// Returns the natural size for the receiving view, considering only properties of the view itself.
+///
+/// returns:
+/// A size indicating the natural size for the receiving view based on its intrinsic properties.
+@property (nonatomic, readonly) CGSize intrinsicContentSize;
+- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
+@end
+
+
+/// UI control to like an object in the Facebook graph.
+/// Taps on the like button within this control will invoke an API call to the Facebook app through a fast-app-switch
+/// that allows the user to like the object. Upon return to the calling app, the view will update with the new state.
+SWIFT_CLASS("_TtC13FacebookShare11LikeControl")
+@interface LikeControl : UIView
+/// Create a new LikeControl from an encoded interface file.
+/// \param coder The coder to initialize from.
+///
+- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
+- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
+@end
+
+
+
+
+@interface LikeControl (SWIFT_EXTENSION(FacebookShare))
+/// Performs logic for laying out subviews.
+- (void)layoutSubviews;
+/// Resizes and moves the receiver view so it just encloses its subviews.
+- (void)sizeToFit;
+/// Asks the view to calculate and return the size that best fits the specified size.
+/// \param size A new size that fits the receiver’s subviews.
+///
+///
+/// returns:
+/// A new size that fits the receiver’s subviews.
+- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
+/// Returns the natural size for the receiving view, considering only properties of the view itself.
+///
+/// returns:
+/// A size indicating the natural size for the receiving view based on its intrinsic properties.
+@property (nonatomic, readonly) CGSize intrinsicContentSize;
+@end
+
+
+
+SWIFT_MODULE_NAMESPACE_POP
+#pragma clang diagnostic pop
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Info.plist
new file mode 100644
index 0000000000..8323b8a828
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftdoc
new file mode 100644
index 0000000000..d8858bbacc
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftmodule
new file mode 100644
index 0000000000..94b452d3fc
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftdoc
new file mode 100644
index 0000000000..17ee29e4a7
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftmodule
new file mode 100644
index 0000000000..30e1e21723
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/arm64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftdoc
new file mode 100644
index 0000000000..d35aedb188
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftmodule
new file mode 100644
index 0000000000..7379784c54
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/i386.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftdoc b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftdoc
new file mode 100644
index 0000000000..a59ec4b44f
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftdoc
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftmodule b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftmodule
new file mode 100644
index 0000000000..f9c580faf8
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/FacebookShare.swiftmodule/x86_64.swiftmodule
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/module.modulemap b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/module.modulemap
new file mode 100644
index 0000000000..5e68fa8fee
--- /dev/null
+++ b/iphone/Maps/3party/Carthage/Build/iOS/FacebookShare.framework/Modules/module.modulemap
@@ -0,0 +1,4 @@
+framework module FacebookShare {
+ header "FacebookShare-Swift.h"
+ requires objc
+}
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Headers/PushNotificationManager.h b/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Headers/PushNotificationManager.h
index d734327ac4..aca96709e5 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Headers/PushNotificationManager.h
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Headers/PushNotificationManager.h
@@ -12,7 +12,7 @@
#import <UserNotifications/UserNotifications.h>
#endif
-#define PUSHWOOSH_VERSION @"5.3.6"
+#define PUSHWOOSH_VERSION @"5.4.0"
@class PushNotificationManager;
@@ -181,11 +181,15 @@ typedef void (^PushwooshErrorHandler)(NSError *error);
*/
@property (nonatomic, weak) NSObject<PushNotificationDelegate> *delegate;
+#if TARGET_OS_IPHONE
+
/**
Show push notifications alert when push notification is received while the app is running, default is `YES`
*/
@property (nonatomic, assign) BOOL showPushnotificationAlert;
+#endif
+
/**
Returns push notification payload if the app was started in response to push notification or null otherwise
*/
@@ -198,6 +202,10 @@ typedef void (^PushwooshErrorHandler)(NSError *error);
*/
@property (nonatomic, strong, readonly) id<UNUserNotificationCenterDelegate> notificationCenterDelegate;
+#else
+
+@property (nonatomic, strong, readonly) id<NSUserNotificationCenterDelegate> notificationCenterDelegate;
+
#endif
/**
@@ -225,12 +233,15 @@ typedef void (^PushwooshErrorHandler)(NSError *error);
*/
- (void)unregisterForPushNotifications;
-- (instancetype)initWithApplicationCode:(NSString *)appCode appName:(NSString *)appName;
+/**
+ Deprecated. Use initializeWithAppCode:appName: method class
+ */
+- (instancetype)initWithApplicationCode:(NSString *)appCode appName:(NSString *)appName __attribute__((deprecated));
#if TARGET_OS_IPHONE
/**
- Deprecated. Use initWithApplicationCode:appName: method instead
+ Deprecated. Use initializeWithAppCode:appName: method class
*/
- (id)initWithApplicationCode:(NSString *)appCode navController:(UIViewController *)navController appName:(NSString *)appName __attribute__((deprecated));
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Info.plist b/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Info.plist
index b2df075fdf..4284a57789 100644
--- a/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Info.plist
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Pushwoosh b/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Pushwoosh
index 85dd85f32c..a3264bd2b6 100755
--- a/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Pushwoosh
+++ b/iphone/Maps/3party/Carthage/Build/iOS/Pushwoosh.framework/Pushwoosh
Binary files differ
diff --git a/iphone/Maps/3party/Crashlytics.framework/Crashlytics b/iphone/Maps/3party/Crashlytics.framework/Crashlytics
index de0281a26b..352144e123 100755
--- a/iphone/Maps/3party/Crashlytics.framework/Crashlytics
+++ b/iphone/Maps/3party/Crashlytics.framework/Crashlytics
Binary files differ
diff --git a/iphone/Maps/3party/Crashlytics.framework/Headers/Answers.h b/iphone/Maps/3party/Crashlytics.framework/Headers/Answers.h
index 710eb5019b..8deacbee56 100644
--- a/iphone/Maps/3party/Crashlytics.framework/Headers/Answers.h
+++ b/iphone/Maps/3party/Crashlytics.framework/Headers/Answers.h
@@ -72,7 +72,7 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param itemPriceOrNil The purchased item's price.
* @param currencyOrNil The ISO4217 currency code. Example: USD
- * @param purchaseSucceededOrNil Was the purchase succesful or unsuccesful
+ * @param purchaseSucceededOrNil Was the purchase successful or unsuccessful
* @param itemNameOrNil The human-readable form of the item's name. Example:
* @param itemTypeOrNil The type, or genre of the item. Example: Song
* @param itemIdOrNil The machine-readable, unique item identifier Example: SKU
@@ -100,7 +100,7 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param levelNameOrNil The name of the level completed, E.G. "1" or "Training"
* @param scoreOrNil The score the user completed the level with.
- * @param levelCompletedSuccesfullyOrNil A boolean representing whether or not the level was completed succesfully.
+ * @param levelCompletedSuccesfullyOrNil A boolean representing whether or not the level was completed successfully.
* @param customAttributesOrNil A dictionary of custom attributes to associate with this event.
*/
+ (void)logLevelEnd:(nullable NSString *)levelNameOrNil
@@ -189,7 +189,7 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param eventName The human-readable name for the event.
* @param customAttributesOrNil A dictionary of custom attributes to associate with this event. Attribute keys
- * must be <code>NSString</code> and and values must be <code>NSNumber</code> or <code>NSString</code>.
+ * must be <code>NSString</code> and values must be <code>NSNumber</code> or <code>NSString</code>.
* @discussion How we treat <code>NSNumbers</code>:
* We will provide information about the distribution of values over time.
*
diff --git a/iphone/Maps/3party/Crashlytics.framework/Headers/CLSReport.h b/iphone/Maps/3party/Crashlytics.framework/Headers/CLSReport.h
index 5f7d33457b..a8ff3b0b92 100644
--- a/iphone/Maps/3party/Crashlytics.framework/Headers/CLSReport.h
+++ b/iphone/Maps/3party/Crashlytics.framework/Headers/CLSReport.h
@@ -28,7 +28,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* The CLSReport exposes an interface to the phsyical report that Crashlytics has created. You can
* use this class to get information about the event, and can also set some values after the
- * event has occured.
+ * event has occurred.
**/
@interface CLSReport : NSObject <CLSCrashReport>
diff --git a/iphone/Maps/3party/Crashlytics.framework/Headers/Crashlytics.h b/iphone/Maps/3party/Crashlytics.framework/Headers/Crashlytics.h
index 734dec384e..7104ca812c 100644
--- a/iphone/Maps/3party/Crashlytics.framework/Headers/Crashlytics.h
+++ b/iphone/Maps/3party/Crashlytics.framework/Headers/Crashlytics.h
@@ -179,7 +179,7 @@ NS_ASSUME_NONNULL_BEGIN
* Crashlytics.
*
* @param name The name of the custom exception
- * @param reason The reason this exception occured
+ * @param reason The reason this exception occurred
* @param frameArray An array of CLSStackFrame objects
*/
- (void)recordCustomExceptionName:(NSString *)name reason:(nullable NSString *)reason frameArray:(CLS_GENERIC_NSARRAY(CLSStackFrame *) *)frameArray;
diff --git a/iphone/Maps/3party/Crashlytics.framework/Info.plist b/iphone/Maps/3party/Crashlytics.framework/Info.plist
index ef5b60372d..3c25803563 100644
--- a/iphone/Maps/3party/Crashlytics.framework/Info.plist
+++ b/iphone/Maps/3party/Crashlytics.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Crashlytics.framework/submit b/iphone/Maps/3party/Crashlytics.framework/submit
index 18fdb2e1ad..0b07556b7b 100755
--- a/iphone/Maps/3party/Crashlytics.framework/submit
+++ b/iphone/Maps/3party/Crashlytics.framework/submit
Binary files differ
diff --git a/iphone/Maps/3party/Crashlytics.framework/uploadDSYM b/iphone/Maps/3party/Crashlytics.framework/uploadDSYM
index 235a9d0d92..8286a0d8be 100755
--- a/iphone/Maps/3party/Crashlytics.framework/uploadDSYM
+++ b/iphone/Maps/3party/Crashlytics.framework/uploadDSYM
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKit b/iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKit
deleted file mode 100644
index 9facd75556..0000000000
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKit
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Info.plist b/iphone/Maps/3party/FBSDKCoreKit.framework/Info.plist
deleted file mode 100644
index 30d425f3d3..0000000000
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Info.plist
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKit b/iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKit
deleted file mode 100644
index 43ae20adeb..0000000000
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKit
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Info.plist b/iphone/Maps/3party/FBSDKLoginKit.framework/Info.plist
deleted file mode 100644
index 286394ddf9..0000000000
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Info.plist
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKit b/iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKit
deleted file mode 100644
index 4139e4b65f..0000000000
--- a/iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKit
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Info.plist b/iphone/Maps/3party/FBSDKShareKit.framework/Info.plist
deleted file mode 100644
index 000e547405..0000000000
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Info.plist
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/3party/Fabric.framework/Fabric b/iphone/Maps/3party/Fabric.framework/Fabric
index c109011c9b..32ee036baa 100755
--- a/iphone/Maps/3party/Fabric.framework/Fabric
+++ b/iphone/Maps/3party/Fabric.framework/Fabric
Binary files differ
diff --git a/iphone/Maps/3party/Fabric.framework/Info.plist b/iphone/Maps/3party/Fabric.framework/Info.plist
index e203943ddb..3aaa42cd11 100644
--- a/iphone/Maps/3party/Fabric.framework/Info.plist
+++ b/iphone/Maps/3party/Fabric.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/Fabric.framework/uploadDSYM b/iphone/Maps/3party/Fabric.framework/uploadDSYM
index 6d5888ddcf..6e867cd999 100755
--- a/iphone/Maps/3party/Fabric.framework/uploadDSYM
+++ b/iphone/Maps/3party/Fabric.framework/uploadDSYM
Binary files differ
diff --git a/iphone/Maps/3party/MoPubSDK/Mopub.xcodeproj/project.pbxproj b/iphone/Maps/3party/MoPubSDK/Mopub.xcodeproj/project.pbxproj
index 90f41d0f8e..2b8f09184b 100644
--- a/iphone/Maps/3party/MoPubSDK/Mopub.xcodeproj/project.pbxproj
+++ b/iphone/Maps/3party/MoPubSDK/Mopub.xcodeproj/project.pbxproj
@@ -1367,7 +1367,6 @@
ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
- VALID_ARCHS = arm64;
};
name = AdHoc;
};
@@ -1393,7 +1392,6 @@
ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
- VALID_ARCHS = arm64;
};
name = "Production Full";
};
@@ -1418,7 +1416,6 @@
MACH_O_TYPE = staticlib;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
- VALID_ARCHS = x86_64;
};
name = "Simulator Release";
};
@@ -1443,7 +1440,6 @@
MACH_O_TYPE = staticlib;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
- VALID_ARCHS = x86_64;
};
name = Simulator;
};
@@ -1468,7 +1464,6 @@
MACH_O_TYPE = staticlib;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
- VALID_ARCHS = arm64;
};
name = Debug;
};
@@ -1481,7 +1476,6 @@
MACH_O_TYPE = staticlib;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
- VALID_ARCHS = arm64;
};
name = Release;
};
@@ -1494,7 +1488,6 @@
);
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
- "VALID_ARCHS[sdk=iphonesimulator*]" = x86_64;
};
name = Debug;
};
@@ -1507,7 +1500,6 @@
);
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
- "VALID_ARCHS[sdk=iphonesimulator*]" = x86_64;
};
name = Release;
};
diff --git a/iphone/Maps/Bookmarks/SelectSetVC.h b/iphone/Maps/Bookmarks/SelectSetVC.h
index e9d3258a90..697326e8da 100644
--- a/iphone/Maps/Bookmarks/SelectSetVC.h
+++ b/iphone/Maps/Bookmarks/SelectSetVC.h
@@ -4,14 +4,14 @@ struct BookmarkAndCategory;
@protocol MWMSelectSetDelegate <NSObject>
-- (void)didSelectCategory:(NSString *)category withBac:(BookmarkAndCategory const &)bac;
+- (void)didSelectCategory:(NSString *)category withCategoryIndex:(size_t)categoryIndex;
@end
@interface SelectSetVC : MWMTableViewController
- (instancetype)initWithCategory:(NSString *)category
- bac:(BookmarkAndCategory const &)bac
+ categoryIndex:(size_t)categoryIndex
delegate:(id<MWMSelectSetDelegate>)delegate;
@end
diff --git a/iphone/Maps/Bookmarks/SelectSetVC.mm b/iphone/Maps/Bookmarks/SelectSetVC.mm
index 0d0ed743a7..fbf615db3e 100644
--- a/iphone/Maps/Bookmarks/SelectSetVC.mm
+++ b/iphone/Maps/Bookmarks/SelectSetVC.mm
@@ -7,7 +7,7 @@
@interface SelectSetVC () <AddSetVCDelegate>
{
- BookmarkAndCategory m_bac;
+ size_t m_categoryIndex;
}
@property (copy, nonatomic) NSString * category;
@@ -18,14 +18,14 @@
@implementation SelectSetVC
- (instancetype)initWithCategory:(NSString *)category
- bac:(BookmarkAndCategory const &)bac
+ categoryIndex:(size_t)categoryIndex
delegate:(id<MWMSelectSetDelegate>)delegate
{
self = [super initWithStyle:UITableViewStyleGrouped];
if (self)
{
_category = category;
- m_bac = bac;
+ m_categoryIndex = categoryIndex;
_delegate = delegate;
}
return self;
@@ -36,7 +36,6 @@
[super viewDidLoad];
NSAssert(self.category, @"Category can't be nil!");
NSAssert(self.delegate, @"Delegate can't be nil!");
- NSAssert(m_bac.IsValid(), @"Invalid BookmarkAndCategory's instance!");
self.title = L(@"bookmark_sets");
}
@@ -69,7 +68,7 @@
if (cat)
cell.textLabel.text = @(cat->GetName().c_str());
- if (m_bac.m_categoryIndex == indexPath.row)
+ if (m_categoryIndex == indexPath.row)
cell.accessoryType = UITableViewCellAccessoryCheckmark;
else
cell.accessoryType = UITableViewCellAccessoryNone;
@@ -81,19 +80,13 @@
{
[self moveBookmarkToSetWithIndex:setIndex];
[self.tableView reloadData];
- [self.delegate didSelectCategory:self.category withBac:m_bac];
+ [self.delegate didSelectCategory:self.category withCategoryIndex:setIndex];
}
- (void)moveBookmarkToSetWithIndex:(int)setIndex
{
- BookmarkAndCategory bac;
- bac.m_bookmarkIndex = static_cast<size_t>(
- GetFramework().MoveBookmark(m_bac.m_bookmarkIndex, m_bac.m_categoryIndex, setIndex));
- bac.m_categoryIndex = setIndex;
- m_bac = bac;
-
BookmarkCategory const * category =
- GetFramework().GetBookmarkManager().GetBmCategory(bac.m_categoryIndex);
+ GetFramework().GetBookmarkManager().GetBmCategory(setIndex);
self.category = @(category->GetName().c_str());
}
@@ -109,7 +102,7 @@
else
{
[self moveBookmarkToSetWithIndex:static_cast<int>(indexPath.row)];
- [self.delegate didSelectCategory:self.category withBac:m_bac];
+ [self.delegate didSelectCategory:self.category withCategoryIndex:indexPath.row];
[self backTap];
}
}
diff --git a/iphone/Maps/Bridging-Header.h b/iphone/Maps/Bridging-Header.h
index f9a1bc95bd..b79881812c 100644
--- a/iphone/Maps/Bridging-Header.h
+++ b/iphone/Maps/Bridging-Header.h
@@ -2,13 +2,13 @@
// Use this file to import your target's public headers that you would like to expose to Swift.
//
-#import <Crashlytics/Crashlytics.h>
-#import <FBAudienceNetwork/FBAudienceNetwork.h>
-#import <FBSDKLoginKit/FBSDKLoginKit.h>
-#import <GoogleSignIn/GIDSignIn.h>
-#import <MyTargetSDK/MyTargetSDK.h>
-#import <MyTrackerSDK/MRMyTracker.h>
-#import <UIKit/UIKit.h>
+#import "Crashlytics/Crashlytics.h"
+#import "FBAudienceNetwork/FBAudienceNetwork.h"
+#import "FBSDKLoginKit/FBSDKLoginKit.h"
+#import "GoogleSignIn/GIDSignIn.h"
+#import "MyTargetSDK/MyTargetSDK.h"
+#import "MyTrackerSDK/MRMyTracker.h"
+#import "UIKit/UIKit.h"
#import "3party/Alohalytics/src/alohalytics_objc.h"
#import "MPNativeAd+MWM.h"
diff --git a/iphone/Maps/Categories/String+BoundingRect.swift b/iphone/Maps/Categories/String+BoundingRect.swift
index f3f2a004df..66dcb88b5e 100644
--- a/iphone/Maps/Categories/String+BoundingRect.swift
+++ b/iphone/Maps/Categories/String+BoundingRect.swift
@@ -2,6 +2,10 @@ import UIKit
extension String {
func size(width: CGFloat, font: UIFont, maxNumberOfLines: Int = 0) -> CGSize {
+ if (isEmpty) {
+ return CGSize(width: width, height: 0);
+ }
+
let maximumHeight = maxNumberOfLines == 0 ? CGFloat.greatestFiniteMagnitude : font.lineHeight * CGFloat(maxNumberOfLines + 1)
let constraintSize = CGSize(width: width, height: maximumHeight)
let options: NSStringDrawingOptions = [.usesLineFragmentOrigin, .usesFontLeading]
diff --git a/iphone/Maps/Categories/UIWindow+InputLanguage.swift b/iphone/Maps/Categories/UIWindow+InputLanguage.swift
new file mode 100644
index 0000000000..8782b2cbfb
--- /dev/null
+++ b/iphone/Maps/Categories/UIWindow+InputLanguage.swift
@@ -0,0 +1,15 @@
+extension UIWindow {
+ private func findFirstResponder(view: UIView) -> UIResponder? {
+ guard !view.isFirstResponder else { return view }
+ for subView in view.subviews {
+ if let responder = findFirstResponder(view: subView) {
+ return responder
+ }
+ }
+ return nil
+ }
+
+ @objc func firstResponder() -> UIResponder? {
+ return findFirstResponder(view: self)
+ }
+}
diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/MWMNavigationInfoView.mm b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/MWMNavigationInfoView.mm
index aa08d5c3a8..ff689cdf79 100644
--- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/MWMNavigationInfoView.mm
+++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/MWMNavigationInfoView.mm
@@ -174,13 +174,15 @@ BOOL defaultOrientation(CGSize const & size)
case NavigationSearchState::Maximized:
[MWMSearchManager manager].state = MWMSearchManagerStateDefault;
[self setSearchState:NavigationSearchState::MinimizedNormal animated:YES];
- [Statistics logEvent:kStatRoutingSearchClicked withParameters:@{ kStatRoutingMode : kStatRoutingModeOnRoute }];
+ [Statistics logEvent:kStatRoutingSearchClicked
+ withParameters:@{kStatMode: kStatRoutingModeOnRoute}];
break;
case NavigationSearchState::MinimizedNormal:
if (self.state == MWMNavigationInfoViewStatePrepare)
{
[MWMSearchManager manager].state = MWMSearchManagerStateDefault;
- [Statistics logEvent:kStatRoutingSearchClicked withParameters:@{ kStatRoutingMode : kStatRoutingModePlanning }];
+ [Statistics logEvent:kStatRoutingSearchClicked
+ withParameters:@{kStatMode: kStatRoutingModePlanning}];
}
else
{
@@ -227,7 +229,7 @@ BOOL defaultOrientation(CGSize const & size)
BOOL const isOnRoute = (self.state == MWMNavigationInfoViewStateNavigation);
[Statistics logEvent:kStatRoutingBookmarksClicked
withParameters:@{
- kStatRoutingMode : (isOnRoute ? kStatRoutingModeOnRoute : kStatRoutingModePlanning)
+ kStatMode: (isOnRoute ? kStatRoutingModeOnRoute : kStatRoutingModePlanning)
}];
[[MapViewController controller] openBookmarks];
}
diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm
index d4350913f2..354304b926 100644
--- a/iphone/Maps/Classes/MapViewController.mm
+++ b/iphone/Maps/Classes/MapViewController.mm
@@ -385,10 +385,10 @@ BOOL gIsFirstMyPositionMode = YES;
[Statistics logEvent:kStatEditorEditStart
withParameters:@{
- kStatEditorIsAuthenticated : @(AuthorizationHaveCredentials()),
- kStatIsOnline : Platform::IsConnected() ? kStatYes : kStatNo,
- kStatEditorMWMName : @(featureID.GetMwmName().c_str()),
- kStatEditorMWMVersion : @(featureID.GetMwmVersion())
+ kStatIsAuthenticated: @(AuthorizationHaveCredentials()),
+ kStatIsOnline: Platform::IsConnected() ? kStatYes : kStatNo,
+ kStatEditorMWMName: @(featureID.GetMwmName().c_str()),
+ kStatEditorMWMVersion: @(featureID.GetMwmVersion())
}];
[self performSegueWithIdentifier:kEditorSegue sender:self.controlsManager.featureHolder];
}
diff --git a/iphone/Maps/Classes/MapsAppDelegate.mm b/iphone/Maps/Classes/MapsAppDelegate.mm
index 02f8e9c7a2..93a136768a 100644
--- a/iphone/Maps/Classes/MapsAppDelegate.mm
+++ b/iphone/Maps/Classes/MapsAppDelegate.mm
@@ -32,9 +32,9 @@
#ifdef OMIM_PRODUCTION
+#import <AppsFlyerTracker/AppsFlyerTracker.h>
#import <Crashlytics/Crashlytics.h>
#import <Fabric/Fabric.h>
-#import <AppsFlyerLib/AppsFlyerTracker.h>
#endif
diff --git a/iphone/Maps/Classes/iosOGLContextFactory.h b/iphone/Maps/Classes/iosOGLContextFactory.h
index 8c0346d856..88433a1624 100644
--- a/iphone/Maps/Classes/iosOGLContextFactory.h
+++ b/iphone/Maps/Classes/iosOGLContextFactory.h
@@ -20,7 +20,7 @@ public:
bool isDrawContextCreated() const override;
bool isUploadContextCreated() const override;
- void waitForInitialization() override;
+ void waitForInitialization(dp::OGLContext * context) override;
void setPresentAvailable(bool available);
@@ -31,6 +31,8 @@ private:
iosOGLContext * m_uploadContext;
bool m_isInitialized;
+ size_t m_initializationCounter;
+ bool m_presentAvailable;
condition_variable m_initializationCondition;
mutex m_initializationMutex;
};
diff --git a/iphone/Maps/Classes/iosOGLContextFactory.mm b/iphone/Maps/Classes/iosOGLContextFactory.mm
index 69d0bf8e26..8a844e682b 100644
--- a/iphone/Maps/Classes/iosOGLContextFactory.mm
+++ b/iphone/Maps/Classes/iosOGLContextFactory.mm
@@ -1,11 +1,15 @@
#import "iosOGLContextFactory.h"
+size_t constexpr kGLThreadsCount = 2;
+
iosOGLContextFactory::iosOGLContextFactory(CAEAGLLayer * layer, dp::ApiVersion apiVersion)
: m_layer(layer)
, m_apiVersion(apiVersion)
, m_drawContext(nullptr)
, m_uploadContext(nullptr)
, m_isInitialized(false)
+ , m_initializationCounter(0)
+ , m_presentAvailable(false)
{}
iosOGLContextFactory::~iosOGLContextFactory()
@@ -40,20 +44,36 @@ bool iosOGLContextFactory::isUploadContextCreated() const
void iosOGLContextFactory::setPresentAvailable(bool available)
{
+ lock_guard<mutex> lock(m_initializationMutex);
+ m_presentAvailable = available;
+ if (m_isInitialized)
+ {
+ m_drawContext->setPresentAvailable(m_presentAvailable);
+ }
+ else if (m_initializationCounter >= kGLThreadsCount && m_presentAvailable)
+ {
+ m_isInitialized = true;
+ m_initializationCondition.notify_all();
+ }
+}
+
+void iosOGLContextFactory::waitForInitialization(dp::OGLContext * context)
+{
+ unique_lock<mutex> lock(m_initializationMutex);
+ if (!m_isInitialized)
{
- lock_guard<mutex> lock(m_initializationMutex);
- if (!m_isInitialized && available)
+ m_initializationCounter++;
+ if (m_initializationCounter >= kGLThreadsCount && m_presentAvailable)
{
m_isInitialized = true;
m_initializationCondition.notify_all();
}
+ else
+ {
+ m_initializationCondition.wait(lock, [this] { return m_isInitialized; });
+ }
}
- if (m_drawContext != nullptr)
- m_drawContext->setPresentAvailable(available);
-}
-void iosOGLContextFactory::waitForInitialization()
-{
- unique_lock<mutex> lock(m_initializationMutex);
- m_initializationCondition.wait(lock, [this] { return m_isInitialized; });
+ if (m_drawContext == context)
+ m_drawContext->setPresentAvailable(m_presentAvailable);
}
diff --git a/iphone/Maps/Common/AppInfo.h b/iphone/Maps/Common/AppInfo.h
index 72848aa0b6..6591a14efd 100644
--- a/iphone/Maps/Common/AppInfo.h
+++ b/iphone/Maps/Common/AppInfo.h
@@ -14,6 +14,8 @@ typedef NS_ENUM(NSInteger, MWMOpenGLDriver) {
@property(nonatomic, readonly) NSString * bundleVersion;
@property(nonatomic, readonly) NSString * buildNumber;
@property(nonatomic, readonly) NSUUID * advertisingId;
+@property(nonatomic, readonly) NSString * inputLanguage;
+@property(nonatomic, readonly) NSString * twoLetterInputLanguage;
@property(nonatomic, readonly) NSString * languageId;
@property(nonatomic, readonly) NSString * twoLetterLanguageId;
@property(nonatomic, readonly) NSDate * buildDate;
diff --git a/iphone/Maps/Common/AppInfo.mm b/iphone/Maps/Common/AppInfo.mm
index e85f62a940..11483d74a7 100644
--- a/iphone/Maps/Common/AppInfo.mm
+++ b/iphone/Maps/Common/AppInfo.mm
@@ -4,7 +4,9 @@
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <sys/utsname.h>
#import "MWMCommon.h"
+#import "SwiftBridge.h"
+#include "platform/preferred_languages.hpp"
#include "platform/settings.hpp"
extern string const kCountryCodeKey = "CountryCode";
@@ -79,7 +81,6 @@ NSDictionary * const kDeviceNamesWithMetalDriver = @{
@"iPhone9,3" : @"iPhone 7",
@"iPhone9,4" : @"iPhone 7 Plus"
};
-
} // namespace
@interface AppInfo ()
@@ -192,23 +193,32 @@ NSDictionary * const kDeviceNamesWithMetalDriver = @{
return _advertisingId;
}
+- (NSString *)inputLanguage
+{
+ auto window = UIApplication.sharedApplication.keyWindow;
+ auto firstResponder = [window firstResponder];
+ if (!firstResponder)
+ return self.languageId;
+ auto textInputMode = firstResponder.textInputMode;
+ if (!textInputMode)
+ return self.languageId;
+ return textInputMode.primaryLanguage;
+}
+
+- (NSString *)twoLetterInputLanguage
+{
+ return @(languages::Normalize(self.inputLanguage.UTF8String).c_str());
+}
+
- (NSString *)languageId
{
- NSArray * languages = NSLocale.preferredLanguages;
- return languages.count == 0 ? nil : languages[0];
+ return NSLocale.preferredLanguages.firstObject;
}
- (NSString *)twoLetterLanguageId
{
- NSString * languageId = self.languageId;
- auto constexpr maxCodeLength = 2UL;
- auto const length = languageId.length;
- if (length > maxCodeLength)
- languageId = [languageId substringToIndex:maxCodeLength];
- else if (length < maxCodeLength)
- languageId = @"en";
-
- return languageId;
+ auto languageId = self.languageId;
+ return languageId ? @(languages::Normalize(languageId.UTF8String).c_str()) : @"en";
}
- (NSDate *)buildDate
diff --git a/iphone/Maps/Common/Statistics/StatisticsStrings.h b/iphone/Maps/Common/Statistics/StatisticsStrings.h
index 28e29123d8..cbdf5e109c 100644
--- a/iphone/Maps/Common/Statistics/StatisticsStrings.h
+++ b/iphone/Maps/Common/Statistics/StatisticsStrings.h
@@ -6,8 +6,9 @@ static NSString * const kStatAction = @"action";
static NSString * const kStatActionSheet = @"Action sheet";
static NSString * const kStatAd = @"Ad";
static NSString * const kStatAdTitle = @"Ad title";
-static NSString * const kStatAdd = @"Add";
+static NSString * const kStatAdd = @"add";
static NSString * const kStatAddPlace = @"Add place";
+static NSString * const kStatAfterSave = @"after_save";
static NSString * const kStatAlert = @"Alert";
static NSString * const kStatAllMaps = @"all_maps";
static NSString * const kStatAlways = @"Always";
@@ -94,7 +95,7 @@ static NSString * const kStatEditorEditCancel = @"Editor_Edit_cancel";
static NSString * const kStatEditorEditError = @"Editor_Edit_error";
static NSString * const kStatEditorEditStart = @"Editor_Edit_start";
static NSString * const kStatEditorEditSuccess = @"Editor_Edit_success";
-static NSString * const kStatEditorIsAuthenticated = @"is_authenticated";
+static NSString * const kStatIsAuthenticated = @"is_authenticated";
static NSString * const kStatEditorMWMName = @"mwm_name";
static NSString * const kStatEditorMWMVersion = @"mwm_version";
static NSString * const kStatEditorProblemReport = @"Editor_Problem_report";
@@ -174,6 +175,7 @@ static NSString * const kStatOther = @"Other";
static NSString * const kStatOut = @"Out";
static NSString * const kStatPedestrian = @"Pedestrian";
static NSString * const kStatPlacePage = @"Place page";
+static NSString * const kStatPlacePagePreview = @"placepage_preview";
static NSString * const kStatPlacePageBannerBlank = @"Placepage_Banner_blank";
static NSString * const kStatPlacePageBannerClick = @"Placepage_Banner_click";
static NSString * const kStatPlacePageBannerError = @"Placepage_Banner_error";
@@ -221,7 +223,7 @@ static NSString * const kStatRouting = @"routing";
static NSString * const kStatRoutingAddPoint = @"Routing_Point_add";
static NSString * const kStatRoutingBookmarksClicked = @"Routing_Bookmarks_click";
static NSString * const kStatRoutingBuildTaxi = @"Routing_Build_Taxi";
-static NSString * const kStatRoutingMode = @"mode";
+static NSString * const kStatMode = @"mode";
static NSString * const kStatRoutingModeOnRoute = @"onroute";
static NSString * const kStatRoutingModePlanning = @"planning";
static NSString * const kStatRoutingPointMethod = @"method";
@@ -284,6 +286,15 @@ static NSString * const kStatToggleVisibility = @"Toggle visibility";
static NSString * const kStatToggleZoomButtonsVisibility = @"Toggle zoom buttons visibility";
static NSString * const kStatTraffic = @"Traffic";
static NSString * const kStatType = @"type";
+static NSString * const kStatUGCReviewAuthDeclined = @"UGC_Auth_declined";
+static NSString * const kStatUGCReviewAuthError = @"UGC_Auth_error";
+static NSString * const kStatUGCReviewAuthExternalRequestSuccess =
+ @"UGC_Auth_external_request_success";
+static NSString * const kStatUGCReviewAuthShown = @"UGC_Auth_shown";
+static NSString * const kStatUGCReviewCancel = @"UGC_Review_cancel";
+static NSString * const kStatUGCReviewError = @"UGC_Review_error";
+static NSString * const kStatUGCReviewStart = @"UGC_Review_start";
+static NSString * const kStatUGCReviewSuccess = @"UGC_Review_success";
static NSString * const kStatUber = @"Uber";
static NSString * const kStatUnknown = @"unknown";
static NSString * const kStatUnknownError = @"unknown_error";
diff --git a/iphone/Maps/Core/Routing/MWMRouter.mm b/iphone/Maps/Core/Routing/MWMRouter.mm
index 3729025248..1c648f984a 100644
--- a/iphone/Maps/Core/Routing/MWMRouter.mm
+++ b/iphone/Maps/Core/Routing/MWMRouter.mm
@@ -62,11 +62,11 @@ void logPointEvent(MWMRoutePoint * point, NSString * eventType)
method = kStatRoutingPointMethodNoPlanning;
[Statistics logEvent:eventType
withParameters:@{
- kStatRoutingPointType : pointTypeStr,
- kStatRoutingPointValue :
+ kStatRoutingPointType: pointTypeStr,
+ kStatRoutingPointValue:
(point.isMyPosition ? kStatRoutingPointValueMyPosition : kStatRoutingPointValuePoint),
- kStatRoutingPointMethod : method,
- kStatRoutingMode : ([MWMRouter isOnRoute] ? kStatRoutingModeOnRoute : kStatRoutingModePlanning)
+ kStatRoutingPointMethod: method,
+ kStatMode: ([MWMRouter isOnRoute] ? kStatRoutingModeOnRoute : kStatRoutingModePlanning)
}];
}
} // namespace
diff --git a/iphone/Maps/Images.xcassets/AppIcon.appiconset/Contents.json b/iphone/Maps/Images.xcassets/AppIcon.appiconset/Contents.json
index 5084fd2b3c..10138e8295 100644
--- a/iphone/Maps/Images.xcassets/AppIcon.appiconset/Contents.json
+++ b/iphone/Maps/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -99,8 +99,9 @@
"scale" : "2x"
},
{
- "idiom" : "ios-marketing",
"size" : "1024x1024",
+ "idiom" : "ios-marketing",
+ "filename" : "iTunesArtwork@2x.png",
"scale" : "1x"
}
],
diff --git a/iphone/Maps/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png b/iphone/Maps/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png
new file mode 100644
index 0000000000..37003f3af2
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Place Page/ic_28px_logo_thor.imageset/Contents.json b/iphone/Maps/Images.xcassets/Place Page/ic_28px_logo_thor.imageset/Contents.json
index 22402347df..425de88cfe 100644
--- a/iphone/Maps/Images.xcassets/Place Page/ic_28px_logo_thor.imageset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Place Page/ic_28px_logo_thor.imageset/Contents.json
@@ -19,5 +19,8 @@
"info" : {
"version" : 1,
"author" : "xcode"
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
}
} \ No newline at end of file
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route.png
deleted file mode 100644
index e8f225ec89..0000000000
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route.png
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@2x.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@2x.png
deleted file mode 100644
index 835727880c..0000000000
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@2x.png
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@3x.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@3x.png
deleted file mode 100644
index 7fec0602ea..0000000000
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/img_whats_new_route@3x.png
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/Contents.json b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/Contents.json
index 03cdfc52f8..1bc8c324c4 100644
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_route.imageset/Contents.json
+++ b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/Contents.json
@@ -2,17 +2,17 @@
"images" : [
{
"idiom" : "universal",
- "filename" : "img_whats_new_route.png",
+ "filename" : "img_whats_new_ugc.png",
"scale" : "1x"
},
{
"idiom" : "universal",
- "filename" : "img_whats_new_route@2x.png",
+ "filename" : "img_whats_new_ugc@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
- "filename" : "img_whats_new_route@3x.png",
+ "filename" : "img_whats_new_ugc@3x.png",
"scale" : "3x"
}
],
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc.png
new file mode 100644
index 0000000000..3c2c35e122
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc.png
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@2x.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@2x.png
new file mode 100644
index 0000000000..9d70b5bbb7
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@2x.png
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@3x.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@3x.png
new file mode 100644
index 0000000000..244746b93c
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_ugc.imageset/img_whats_new_ugc@3x.png
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/Contents.json b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/Contents.json
deleted file mode 100644
index d83ff4dbab..0000000000
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "img_whats_new_update.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "img_whats_new_update@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "img_whats_new_update@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-} \ No newline at end of file
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update.png
deleted file mode 100644
index ae2f3eb4d6..0000000000
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update.png
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@2x.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@2x.png
deleted file mode 100644
index b7f0c7d9b5..0000000000
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@2x.png
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@3x.png b/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@3x.png
deleted file mode 100644
index d633681bd0..0000000000
--- a/iphone/Maps/Images.xcassets/Whats New/img_whats_new_update.imageset/img_whats_new_update@3x.png
+++ /dev/null
Binary files differ
diff --git a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings
index a3a4e2bcac..978570361e 100644
--- a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings
index d7ef79f88a..2ea3ce41aa 100644
--- a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings
index c699db1111..975d0ff213 100644
--- a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings
index 870ce26944..aedc2e8885 100644
--- a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings
index d463d226a6..ca5a3db403 100644
--- a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings
index f37bd13209..4087fa03fe 100644
--- a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings
index a57b1d9660..cc437edacb 100644
--- a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings
index 54b65a94e4..77bc4c771a 100644
--- a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings
index daebe320d9..b8c96875aa 100644
--- a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings
index 636722e455..2c2dec6443 100644
--- a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings
index 6a676fd175..0c6f9e86c7 100644
--- a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings
index f0a0c627ea..090ae2f8fa 100644
--- a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings
index d102b275d2..d87cb91010 100644
--- a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings
index 74642b5d9b..b66e8f0ba9 100644
--- a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings
index 822141c72d..29d1afa7d2 100644
--- a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings
index 0311b1f8dd..f233336b24 100644
--- a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings
index ee2916738e..a8f45707f8 100644
--- a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings
index bb4889cd7e..0c779ea4b3 100644
--- a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings
index 8de44e7ca3..cd21585aad 100644
--- a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings
index 318820b72b..ea84580d49 100644
--- a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings
index 4c6ad6d5ab..78dc406c76 100644
--- a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Оценки и отзывы";
"whats_new_ugc_message" = "Теперь вы можете оставлять оценки и отзывы даже офлайн! Не забудьте обновить карты, чтобы увидеть изменения.";
+
+"dialog_error_storage_title" = "Проблема с доступом к хранилищу";
+
+"dialog_error_storage_message" = "Внешняя память устройства недоступна, возможно SD карта была удалена, повреждена или файловая система доступна только для чтения. Проверьте это и свяжитесь, пожалуйста, с нами support@maps.me";
+
+"setting_emulate_bad_storage" = "Эмуляция ошибки с внешней памятью";
diff --git a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings
index b3f5cc0b88..96bf71f493 100644
--- a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings
index 1c03c341f5..14721f0f01 100644
--- a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings
index cbe72d6835..dccf709ac0 100644
--- a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings
index 33f6519668..d318937562 100644
--- a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings
index f26ed3ab9d..79b4258a69 100644
--- a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings
index 710217a652..c764f1b704 100644
--- a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings
index a57584e6e4..94ecdb4fc6 100644
--- a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings
index 7b3f4ff16d..8109162d32 100644
--- a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings
+++ b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings
@@ -2121,3 +2121,9 @@
"whats_new_ugc_title" = "Ratings and reviews";
"whats_new_ugc_message" = "You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.";
+
+"dialog_error_storage_title" = "Storage access problem";
+
+"dialog_error_storage_message" = "External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me";
+
+"setting_emulate_bad_storage" = "Emulate bad storage";
diff --git a/iphone/Maps/MAPSME.plist b/iphone/Maps/MAPSME.plist
index f3348fc359..e058fb1119 100644
--- a/iphone/Maps/MAPSME.plist
+++ b/iphone/Maps/MAPSME.plist
@@ -2,8 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
- <key>Pushwoosh_APPID</key>
- <string>84E00-0F767</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
@@ -162,6 +160,8 @@
<string>Unused by an application</string>
<key>PW_USE_GPS</key>
<false/>
+ <key>Pushwoosh_APPID</key>
+ <string>84E00-0F767</string>
<key>Pushwoosh_LOG_LEVEL</key>
<string>WARNING</string>
<key>UIApplicationShortcutItems</key>
diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj
index 9b5d22b54f..9b7fbce45d 100644
--- a/iphone/Maps/Maps.xcodeproj/project.pbxproj
+++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj
@@ -39,15 +39,6 @@
340474F31E08199D00C92850 /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DD1E08199D00C92850 /* Fabric.framework */; };
340474F41E08199D00C92850 /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DD1E08199D00C92850 /* Fabric.framework */; };
340474F51E08199D00C92850 /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DD1E08199D00C92850 /* Fabric.framework */; };
- 340474F61E08199D00C92850 /* FBSDKCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DE1E08199D00C92850 /* FBSDKCoreKit.framework */; };
- 340474F71E08199D00C92850 /* FBSDKCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DE1E08199D00C92850 /* FBSDKCoreKit.framework */; };
- 340474F81E08199D00C92850 /* FBSDKCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DE1E08199D00C92850 /* FBSDKCoreKit.framework */; };
- 340474F91E08199D00C92850 /* FBSDKLoginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DF1E08199D00C92850 /* FBSDKLoginKit.framework */; };
- 340474FA1E08199D00C92850 /* FBSDKLoginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DF1E08199D00C92850 /* FBSDKLoginKit.framework */; };
- 340474FB1E08199D00C92850 /* FBSDKLoginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474DF1E08199D00C92850 /* FBSDKLoginKit.framework */; };
- 340474FC1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474E01E08199D00C92850 /* FBSDKShareKit.framework */; };
- 340474FD1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474E01E08199D00C92850 /* FBSDKShareKit.framework */; };
- 340474FE1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474E01E08199D00C92850 /* FBSDKShareKit.framework */; };
340474FF1E08199D00C92850 /* libFlurry_7.8.2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474E41E08199D00C92850 /* libFlurry_7.8.2.a */; };
340475001E08199D00C92850 /* libFlurry_7.8.2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474E41E08199D00C92850 /* libFlurry_7.8.2.a */; };
340475011E08199D00C92850 /* libFlurry_7.8.2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 340474E41E08199D00C92850 /* libFlurry_7.8.2.a */; };
@@ -226,9 +217,6 @@
343064401E9FDC7300DC7665 /* SearchIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3430643F1E9FDC7300DC7665 /* SearchIndex.swift */; };
343064411E9FDC7300DC7665 /* SearchIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3430643F1E9FDC7300DC7665 /* SearchIndex.swift */; };
343064421E9FDC7300DC7665 /* SearchIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3430643F1E9FDC7300DC7665 /* SearchIndex.swift */; };
- 3432E1781E49B3A2008477E9 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3432E1771E49B3A2008477E9 /* Bolts.framework */; };
- 3432E1791E49B3A2008477E9 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3432E1771E49B3A2008477E9 /* Bolts.framework */; };
- 3432E17A1E49B3A2008477E9 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3432E1771E49B3A2008477E9 /* Bolts.framework */; };
343E75971E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
343E75981E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
343E75991E5B1EE20041226A /* MWMCollectionViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */; };
@@ -348,6 +336,30 @@
3463BA681DE81DB90082417F /* MWMTrafficButtonViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3463BA651DE81DB90082417F /* MWMTrafficButtonViewController.xib */; };
3463BA691DE81DB90082417F /* MWMTrafficButtonViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3463BA651DE81DB90082417F /* MWMTrafficButtonViewController.xib */; };
3465E7D81B6658C000854C4D /* MWMAPIBar.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3465E7D71B6658C000854C4D /* MWMAPIBar.mm */; };
+ 3466A2C01FB1C734005494D3 /* AppsFlyerTracker.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2BF1FB1C733005494D3 /* AppsFlyerTracker.framework */; };
+ 3466A2C11FB1C734005494D3 /* AppsFlyerTracker.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2BF1FB1C733005494D3 /* AppsFlyerTracker.framework */; };
+ 3466A2C21FB1C734005494D3 /* AppsFlyerTracker.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2BF1FB1C733005494D3 /* AppsFlyerTracker.framework */; };
+ 3466A2CA1FB1C83B005494D3 /* FBSDKCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C31FB1C83A005494D3 /* FBSDKCoreKit.framework */; };
+ 3466A2CB1FB1C83B005494D3 /* FBSDKCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C31FB1C83A005494D3 /* FBSDKCoreKit.framework */; };
+ 3466A2CC1FB1C83B005494D3 /* FBSDKCoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C31FB1C83A005494D3 /* FBSDKCoreKit.framework */; };
+ 3466A2CD1FB1C83B005494D3 /* FBSDKLoginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C41FB1C83A005494D3 /* FBSDKLoginKit.framework */; };
+ 3466A2CE1FB1C83B005494D3 /* FBSDKLoginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C41FB1C83A005494D3 /* FBSDKLoginKit.framework */; };
+ 3466A2CF1FB1C83B005494D3 /* FBSDKLoginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C41FB1C83A005494D3 /* FBSDKLoginKit.framework */; };
+ 3466A2D01FB1C83B005494D3 /* FBSDKShareKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C51FB1C83A005494D3 /* FBSDKShareKit.framework */; };
+ 3466A2D11FB1C83B005494D3 /* FBSDKShareKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C51FB1C83A005494D3 /* FBSDKShareKit.framework */; };
+ 3466A2D21FB1C83B005494D3 /* FBSDKShareKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C51FB1C83A005494D3 /* FBSDKShareKit.framework */; };
+ 3466A2D31FB1C83B005494D3 /* FacebookShare.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C61FB1C83A005494D3 /* FacebookShare.framework */; };
+ 3466A2D41FB1C83C005494D3 /* FacebookShare.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C61FB1C83A005494D3 /* FacebookShare.framework */; };
+ 3466A2D51FB1C83C005494D3 /* FacebookShare.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C61FB1C83A005494D3 /* FacebookShare.framework */; };
+ 3466A2D61FB1C83C005494D3 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C71FB1C83B005494D3 /* Bolts.framework */; };
+ 3466A2D71FB1C83C005494D3 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C71FB1C83B005494D3 /* Bolts.framework */; };
+ 3466A2D81FB1C83C005494D3 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C71FB1C83B005494D3 /* Bolts.framework */; };
+ 3466A2D91FB1C83C005494D3 /* FacebookCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C81FB1C83B005494D3 /* FacebookCore.framework */; };
+ 3466A2DA1FB1C83C005494D3 /* FacebookCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C81FB1C83B005494D3 /* FacebookCore.framework */; };
+ 3466A2DB1FB1C83C005494D3 /* FacebookCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C81FB1C83B005494D3 /* FacebookCore.framework */; };
+ 3466A2DC1FB1C83C005494D3 /* FacebookLogin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C91FB1C83B005494D3 /* FacebookLogin.framework */; };
+ 3466A2DD1FB1C83C005494D3 /* FacebookLogin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C91FB1C83B005494D3 /* FacebookLogin.framework */; };
+ 3466A2DE1FB1C83C005494D3 /* FacebookLogin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3466A2C91FB1C83B005494D3 /* FacebookLogin.framework */; };
346B42AB1DD5E3D20094EBEE /* MWMLocationNotFoundAlert.mm in Sources */ = {isa = PBXBuildFile; fileRef = 346B42AA1DD5E3D20094EBEE /* MWMLocationNotFoundAlert.mm */; };
346B42AC1DD5E3D20094EBEE /* MWMLocationNotFoundAlert.mm in Sources */ = {isa = PBXBuildFile; fileRef = 346B42AA1DD5E3D20094EBEE /* MWMLocationNotFoundAlert.mm */; };
346DB8271E5C4F6700E3123E /* GalleryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 346DB81E1E5C4F6700E3123E /* GalleryCell.swift */; };
@@ -416,6 +428,9 @@
347BFA8F1F27909200E5531F /* MenuArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347BFA8E1F27909200E5531F /* MenuArea.swift */; };
347BFA901F27909200E5531F /* MenuArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347BFA8E1F27909200E5531F /* MenuArea.swift */; };
347BFA911F27909200E5531F /* MenuArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347BFA8E1F27909200E5531F /* MenuArea.swift */; };
+ 347E03991FAC5F1D00426032 /* UIWindow+InputLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E03981FAC5F1D00426032 /* UIWindow+InputLanguage.swift */; };
+ 347E039A1FAC5F1D00426032 /* UIWindow+InputLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E03981FAC5F1D00426032 /* UIWindow+InputLanguage.swift */; };
+ 347E039B1FAC5F1D00426032 /* UIWindow+InputLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E03981FAC5F1D00426032 /* UIWindow+InputLanguage.swift */; };
347E1A881F1F5DD7002BF7A8 /* CianItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E1A871F1F5DD7002BF7A8 /* CianItemModel.swift */; };
347E1A891F1F5DD7002BF7A8 /* CianItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E1A871F1F5DD7002BF7A8 /* CianItemModel.swift */; };
347E1A8A1F1F5DD7002BF7A8 /* CianItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E1A871F1F5DD7002BF7A8 /* CianItemModel.swift */; };
@@ -837,9 +852,6 @@
4554B6ED1E55F0F00084017F /* drules_proto_vehicle_clear.bin in Resources */ = {isa = PBXBuildFile; fileRef = 4554B6E81E55F02B0084017F /* drules_proto_vehicle_clear.bin */; };
4554B6EE1E55F0F30084017F /* drules_proto_vehicle_dark.bin in Resources */ = {isa = PBXBuildFile; fileRef = 4554B6E91E55F02B0084017F /* drules_proto_vehicle_dark.bin */; };
4554B6EF1E55F0F40084017F /* drules_proto_vehicle_dark.bin in Resources */ = {isa = PBXBuildFile; fileRef = 4554B6E91E55F02B0084017F /* drules_proto_vehicle_dark.bin */; };
- 456E1B1D1F94D6DC009C32E1 /* AppsFlyerLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 456E1B1C1F94D6DB009C32E1 /* AppsFlyerLib.framework */; };
- 456E1B1E1F94D704009C32E1 /* AppsFlyerLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 456E1B1C1F94D6DB009C32E1 /* AppsFlyerLib.framework */; };
- 456E1B1F1F94D718009C32E1 /* AppsFlyerLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 456E1B1C1F94D6DB009C32E1 /* AppsFlyerLib.framework */; };
4586D0C41F48121A00DF9CE5 /* libbsdiff.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4586D0C31F48121A00DF9CE5 /* libbsdiff.a */; };
4586D0E71F4813AB00DF9CE5 /* libmwm_diff.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4586D0E61F4813AB00DF9CE5 /* libmwm_diff.a */; };
45FFD65D1E965EBE00DB854E /* liblocal_ads.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 45FFD65C1E965EBE00DB854E /* liblocal_ads.a */; };
@@ -1237,6 +1249,7 @@
F69018BC1E9F7CB600B3C10B /* MWMAutoupdateController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F69018BB1E9F7CB600B3C10B /* MWMAutoupdateController.xib */; };
F69018BD1E9F7CB600B3C10B /* MWMAutoupdateController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F69018BB1E9F7CB600B3C10B /* MWMAutoupdateController.xib */; };
F69018BE1E9F7CB600B3C10B /* MWMAutoupdateController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F69018BB1E9F7CB600B3C10B /* MWMAutoupdateController.xib */; };
+ F69080BE1F98DB2A0017C00C /* AuthorizationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34BBD6661F8273350070CA50 /* AuthorizationViewController.xib */; };
F692F3831EA0FAF5001E82EB /* MWMAutoupdateController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F69018B71E9E601400B3C10B /* MWMAutoupdateController.mm */; };
F692F3841EA0FAF5001E82EB /* MWMAutoupdateController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F69018B71E9E601400B3C10B /* MWMAutoupdateController.mm */; };
F69CE8D51E5C49B4002B5881 /* PPHotelCarouselCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F69CE8D41E5C49B4002B5881 /* PPHotelCarouselCell.swift */; };
@@ -1263,6 +1276,9 @@
F6BD1D231CA412E30047B8E8 /* MWMOsmAuthAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = F6BD1D221CA412E30047B8E8 /* MWMOsmAuthAlert.xib */; };
F6BD1D241CA412E40047B8E8 /* MWMOsmAuthAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = F6BD1D221CA412E30047B8E8 /* MWMOsmAuthAlert.xib */; };
F6BD33871B62412E00F2CE18 /* MWMNavigationDashboardEntity.mm in Sources */ = {isa = PBXBuildFile; fileRef = F6BD33861B62412E00F2CE18 /* MWMNavigationDashboardEntity.mm */; };
+ F6C16A651F9626B1000FE296 /* ReviewsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3430291B1F87BC3000D0A07C /* ReviewsViewController.xib */; };
+ F6C16A661F9626B2000FE296 /* ReviewsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3430291B1F87BC3000D0A07C /* ReviewsViewController.xib */; };
+ F6C16A671F9626B2000FE296 /* ReviewsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3430291B1F87BC3000D0A07C /* ReviewsViewController.xib */; };
F6C269F61F14D76F00EB6519 /* ugc_types.csv in Resources */ = {isa = PBXBuildFile; fileRef = F642D1221F0F9D1D005E3C25 /* ugc_types.csv */; };
F6C269F71F14D76F00EB6519 /* ugc_types.csv in Resources */ = {isa = PBXBuildFile; fileRef = F642D1221F0F9D1D005E3C25 /* ugc_types.csv */; };
F6E2FD4F1E097BA00083EBEC /* MWMMapDownloaderAdsTableViewCell.mm in Sources */ = {isa = PBXBuildFile; fileRef = F6E2FBFF1E097B9F0083EBEC /* MWMMapDownloaderAdsTableViewCell.mm */; };
@@ -1845,9 +1861,6 @@
3404165A1E7C29AE00E2B6D6 /* PhotosInteractionAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotosInteractionAnimator.swift; sourceTree = "<group>"; };
340474DC1E08199D00C92850 /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Crashlytics.framework; sourceTree = "<group>"; };
340474DD1E08199D00C92850 /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Fabric.framework; sourceTree = "<group>"; };
- 340474DE1E08199D00C92850 /* FBSDKCoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FBSDKCoreKit.framework; sourceTree = "<group>"; };
- 340474DF1E08199D00C92850 /* FBSDKLoginKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FBSDKLoginKit.framework; sourceTree = "<group>"; };
- 340474E01E08199D00C92850 /* FBSDKShareKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FBSDKShareKit.framework; sourceTree = "<group>"; };
340474E21E08199D00C92850 /* Flurry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Flurry.h; sourceTree = "<group>"; };
340474E31E08199D00C92850 /* FlurrySessionBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlurrySessionBuilder.h; sourceTree = "<group>"; };
340474E41E08199D00C92850 /* libFlurry_7.8.2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libFlurry_7.8.2.a; sourceTree = "<group>"; };
@@ -1963,7 +1976,6 @@
3430291A1F87BC3000D0A07C /* ReviewsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewsViewController.swift; sourceTree = "<group>"; };
3430291B1F87BC3000D0A07C /* ReviewsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ReviewsViewController.xib; sourceTree = "<group>"; };
3430643F1E9FDC7300DC7665 /* SearchIndex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchIndex.swift; sourceTree = "<group>"; };
- 3432E1771E49B3A2008477E9 /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Bolts.framework; sourceTree = "<group>"; };
343E75951E5B1EE20041226A /* MWMCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMCollectionViewController.h; sourceTree = "<group>"; };
343E75961E5B1EE20041226A /* MWMCollectionViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMCollectionViewController.mm; sourceTree = "<group>"; };
3444DFCB1F1760B900E73099 /* WidgetsArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WidgetsArea.swift; sourceTree = "<group>"; };
@@ -2027,6 +2039,14 @@
3463BA651DE81DB90082417F /* MWMTrafficButtonViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MWMTrafficButtonViewController.xib; sourceTree = "<group>"; };
3465E7D61B6658C000854C4D /* MWMAPIBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMAPIBar.h; sourceTree = "<group>"; };
3465E7D71B6658C000854C4D /* MWMAPIBar.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMAPIBar.mm; sourceTree = "<group>"; };
+ 3466A2BF1FB1C733005494D3 /* AppsFlyerTracker.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppsFlyerTracker.framework; path = Carthage/Build/iOS/AppsFlyerTracker.framework; sourceTree = "<group>"; };
+ 3466A2C31FB1C83A005494D3 /* FBSDKCoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FBSDKCoreKit.framework; path = Carthage/Build/iOS/FBSDKCoreKit.framework; sourceTree = "<group>"; };
+ 3466A2C41FB1C83A005494D3 /* FBSDKLoginKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FBSDKLoginKit.framework; path = Carthage/Build/iOS/FBSDKLoginKit.framework; sourceTree = "<group>"; };
+ 3466A2C51FB1C83A005494D3 /* FBSDKShareKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FBSDKShareKit.framework; path = Carthage/Build/iOS/FBSDKShareKit.framework; sourceTree = "<group>"; };
+ 3466A2C61FB1C83A005494D3 /* FacebookShare.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FacebookShare.framework; path = Carthage/Build/iOS/FacebookShare.framework; sourceTree = "<group>"; };
+ 3466A2C71FB1C83B005494D3 /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Bolts.framework; path = Carthage/Build/iOS/Bolts.framework; sourceTree = "<group>"; };
+ 3466A2C81FB1C83B005494D3 /* FacebookCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FacebookCore.framework; path = Carthage/Build/iOS/FacebookCore.framework; sourceTree = "<group>"; };
+ 3466A2C91FB1C83B005494D3 /* FacebookLogin.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FacebookLogin.framework; path = Carthage/Build/iOS/FacebookLogin.framework; sourceTree = "<group>"; };
346B42A91DD5E3D20094EBEE /* MWMLocationNotFoundAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMLocationNotFoundAlert.h; sourceTree = "<group>"; };
346B42AA1DD5E3D20094EBEE /* MWMLocationNotFoundAlert.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMLocationNotFoundAlert.mm; sourceTree = "<group>"; };
346B42AD1DD5E5450094EBEE /* MWMDefaultAlert_Protected.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MWMDefaultAlert_Protected.h; sourceTree = "<group>"; };
@@ -2067,6 +2087,7 @@
347BFA931F28842300E5531F /* MWMNavigationDashboardObserver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MWMNavigationDashboardObserver.h; sourceTree = "<group>"; };
347D15C71F82362900E86251 /* GoogleSignIn.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleSignIn.framework; path = GoogleSignIn/GoogleSignIn.framework; sourceTree = "<group>"; };
347D15C81F82362900E86251 /* GoogleSignInDependencies.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleSignInDependencies.framework; path = GoogleSignIn/GoogleSignInDependencies.framework; sourceTree = "<group>"; };
+ 347E03981FAC5F1D00426032 /* UIWindow+InputLanguage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIWindow+InputLanguage.swift"; sourceTree = "<group>"; };
347E1A871F1F5DD7002BF7A8 /* CianItemModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CianItemModel.swift; sourceTree = "<group>"; };
347E1A8C1F1F71F1002BF7A8 /* PPCianCarouselCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PPCianCarouselCell.swift; sourceTree = "<group>"; };
347E1A901F1F72AD002BF7A8 /* PPCianCarouselCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PPCianCarouselCell.xib; sourceTree = "<group>"; };
@@ -2094,7 +2115,7 @@
348A8DF11F66775A00D83026 /* RatingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RatingView.swift; sourceTree = "<group>"; };
348A8DF21F66775A00D83026 /* RatingViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RatingViewDelegate.swift; sourceTree = "<group>"; };
348A8DF31F66775A00D83026 /* RatingViewSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RatingViewSettings.swift; sourceTree = "<group>"; };
- 348E57981B0F49D8000FA02A /* maps.me dbg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "maps.me dbg.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 348E57981B0F49D8000FA02A /* qt dbg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "qt dbg.app"; sourceTree = BUILT_PRODUCTS_DIR; };
348F8A4D1F863A8500060C2A /* UGCYourReview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UGCYourReview.swift; sourceTree = "<group>"; };
348F8A511F863B6100060C2A /* UGCReview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UGCReview.swift; sourceTree = "<group>"; };
348F8A551F864A1700060C2A /* MWMRatingSummaryViewValueType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MWMRatingSummaryViewValueType.h; sourceTree = "<group>"; };
@@ -2338,7 +2359,6 @@
452FCA3A1B6A3DF7007019AB /* colors.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = colors.txt; path = ../../data/colors.txt; sourceTree = "<group>"; };
4554B6E81E55F02B0084017F /* drules_proto_vehicle_clear.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; name = drules_proto_vehicle_clear.bin; path = ../../data/drules_proto_vehicle_clear.bin; sourceTree = "<group>"; };
4554B6E91E55F02B0084017F /* drules_proto_vehicle_dark.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; name = drules_proto_vehicle_dark.bin; path = ../../data/drules_proto_vehicle_dark.bin; sourceTree = "<group>"; };
- 456E1B1C1F94D6DB009C32E1 /* AppsFlyerLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppsFlyerLib.framework; path = 3party/AppsFlyerLib.framework; sourceTree = "<group>"; };
458287C21AD3BE2000BA8940 /* DownloadIndicatorProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DownloadIndicatorProtocol.h; sourceTree = "<group>"; };
4586D0C31F48121A00DF9CE5 /* libbsdiff.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbsdiff.a; path = ../../xcode/bsdiff/build/Debug/libbsdiff.a; sourceTree = "<group>"; };
4586D0E61F4813AB00DF9CE5 /* libmwm_diff.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmwm_diff.a; path = ../../xcode/mwm_diff/build/Debug/libmwm_diff.a; sourceTree = "<group>"; };
@@ -2362,7 +2382,7 @@
671182DF1C7F0DD400CB8177 /* packed_polygons_obsolete.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; name = packed_polygons_obsolete.bin; path = ../../data/packed_polygons_obsolete.bin; sourceTree = "<group>"; };
671182E01C7F0DD400CB8177 /* WorldCoasts_obsolete.mwm */ = {isa = PBXFileReference; lastKnownFileType = file; name = WorldCoasts_obsolete.mwm; path = ../../data/WorldCoasts_obsolete.mwm; sourceTree = "<group>"; };
671E78D21E6A423300B2859B /* librouting_common.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librouting_common.a; path = "../../../omim-build/xcode/Debug-iphonesimulator/librouting_common.a"; sourceTree = "<group>"; };
- 6741AA5D1BF340DE002C974C /* xc dbg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "xc dbg.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 6741AA5D1BF340DE002C974C /* maps.me dbg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "maps.me dbg.app"; sourceTree = BUILT_PRODUCTS_DIR; };
6741AAA21BF356B9002C974C /* libagg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libagg.a; path = "../../../omim-xcode-build/Debug/libagg.a"; sourceTree = "<group>"; };
6741AAA31BF356B9002C974C /* libalohalitics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libalohalitics.a; path = "../../../omim-xcode-build/Debug/libalohalitics.a"; sourceTree = "<group>"; };
6741AAA51BF356B9002C974C /* libapi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libapi.a; path = "../../../omim-xcode-build/Debug/libapi.a"; sourceTree = "<group>"; };
@@ -2788,34 +2808,37 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 456E1B1D1F94D6DC009C32E1 /* AppsFlyerLib.framework in Frameworks */,
+ 3466A2D31FB1C83B005494D3 /* FacebookShare.framework in Frameworks */,
F68BDF051EEA9A830009BB81 /* MyTargetSDK.framework in Frameworks */,
341CF15E1E9E2AA9009AC928 /* libMopub.a in Frameworks */,
3411E7631F7CE5DD00A49FCD /* GoogleMobileAds.framework in Frameworks */,
+ 3466A2C01FB1C734005494D3 /* AppsFlyerTracker.framework in Frameworks */,
344D63171E795A2D006F17CB /* SystemConfiguration.framework in Frameworks */,
67B78B4B1E422E2E0018E590 /* CoreSpotlight.framework in Frameworks */,
67B78B4D1E422E2E0018E590 /* CoreData.framework in Frameworks */,
- 340474FC1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */,
34D808801E79361E002F0584 /* Alamofire.framework in Frameworks */,
- 340474F91E08199D00C92850 /* FBSDKLoginKit.framework in Frameworks */,
67B78B491E422E2E0018E590 /* iAd.framework in Frameworks */,
34D808871E793FA3002F0584 /* Pushwoosh.framework in Frameworks */,
- 340474F61E08199D00C92850 /* FBSDKCoreKit.framework in Frameworks */,
3488B03C1E9D14060068AFD8 /* UserNotifications.framework in Frameworks */,
340474F01E08199D00C92850 /* Crashlytics.framework in Frameworks */,
34570A3B1B13222600E6D4FD /* libz.dylib in Frameworks */,
34D8087E1E79361A002F0584 /* AlamofireImage.framework in Frameworks */,
345E8F501F83985500A826CC /* GoogleSignIn.framework in Frameworks */,
+ 3466A2D91FB1C83C005494D3 /* FacebookCore.framework in Frameworks */,
340474FF1E08199D00C92850 /* libFlurry_7.8.2.a in Frameworks */,
67B78B4A1E422E2E0018E590 /* MessageUI.framework in Frameworks */,
3404750E1E08199E00C92850 /* MyTrackerSDK.framework in Frameworks */,
67B78B481E422E2E0018E590 /* MobileCoreServices.framework in Frameworks */,
34F4098B1E9E221700E57AC0 /* FBAudienceNetwork.framework in Frameworks */,
345E8F511F83985500A826CC /* GoogleSignInDependencies.framework in Frameworks */,
+ 3466A2D01FB1C83B005494D3 /* FBSDKShareKit.framework in Frameworks */,
67B78B561E4233480018E590 /* AdSupport.framework in Frameworks */,
- 3432E1781E49B3A2008477E9 /* Bolts.framework in Frameworks */,
+ 3466A2CA1FB1C83B005494D3 /* FBSDKCoreKit.framework in Frameworks */,
+ 3466A2D61FB1C83C005494D3 /* Bolts.framework in Frameworks */,
340474F31E08199D00C92850 /* Fabric.framework in Frameworks */,
34E6F2DC1F459C1A008E14F9 /* GLKit.framework in Frameworks */,
+ 3466A2CD1FB1C83B005494D3 /* FBSDKLoginKit.framework in Frameworks */,
+ 3466A2DC1FB1C83C005494D3 /* FacebookLogin.framework in Frameworks */,
67B78B4C1E422E2E0018E590 /* SafariServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2824,7 +2847,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 456E1B1E1F94D704009C32E1 /* AppsFlyerLib.framework in Frameworks */,
345E8F4E1F83984500A826CC /* GoogleSignIn.framework in Frameworks */,
345E8F4F1F83984500A826CC /* GoogleSignInDependencies.framework in Frameworks */,
4586D0E71F4813AB00DF9CE5 /* libmwm_diff.a in Frameworks */,
@@ -2841,6 +2863,7 @@
34F4098C1E9E221700E57AC0 /* FBAudienceNetwork.framework in Frameworks */,
34D8087D1E79360D002F0584 /* AlamofireImage.framework in Frameworks */,
67B78B551E42333C0018E590 /* AdSupport.framework in Frameworks */,
+ 3466A2DA1FB1C83C005494D3 /* FacebookCore.framework in Frameworks */,
67B78B471E422E0A0018E590 /* MobileCoreServices.framework in Frameworks */,
67B78B451E422C970018E590 /* iAd.framework in Frameworks */,
67B78B431E422C620018E590 /* MessageUI.framework in Frameworks */,
@@ -2850,23 +2873,24 @@
344D63181E795A3C006F17CB /* SystemConfiguration.framework in Frameworks */,
3446C6771DDCA9A200146687 /* libtraffic.a in Frameworks */,
34201E0C1DC0E33100D24118 /* libtracking.a in Frameworks */,
+ 3466A2CB1FB1C83B005494D3 /* FBSDKCoreKit.framework in Frameworks */,
341F09841C20138100F18AC5 /* libpugixml.a in Frameworks */,
3411387D1C15AE73002E3B3E /* libeditor.a in Frameworks */,
6741AABD1BF356BA002C974C /* libagg.a in Frameworks */,
- 340474FA1E08199D00C92850 /* FBSDKLoginKit.framework in Frameworks */,
6741AABE1BF356BA002C974C /* libalohalitics.a in Frameworks */,
340475001E08199D00C92850 /* libFlurry_7.8.2.a in Frameworks */,
6741AAC01BF356BA002C974C /* libapi.a in Frameworks */,
6741AAC11BF356BA002C974C /* libbase.a in Frameworks */,
F68BDF061EEA9A830009BB81 /* MyTargetSDK.framework in Frameworks */,
6741AAC21BF356BA002C974C /* libcoding.a in Frameworks */,
+ 3466A2D11FB1C83B005494D3 /* FBSDKShareKit.framework in Frameworks */,
6741AAC31BF356BA002C974C /* libexpat.a in Frameworks */,
6741AAC41BF356BA002C974C /* libfreetype.a in Frameworks */,
+ 3466A2CE1FB1C83B005494D3 /* FBSDKLoginKit.framework in Frameworks */,
340474F41E08199D00C92850 /* Fabric.framework in Frameworks */,
6741AAC61BF356BA002C974C /* libgeometry.a in Frameworks */,
674A7E291C0DA576003D48E1 /* libsdf_image.a in Frameworks */,
6741AAC91BF356BA002C974C /* libindexer.a in Frameworks */,
- 3432E1791E49B3A2008477E9 /* Bolts.framework in Frameworks */,
6741AACA1BF356BA002C974C /* libjansson.a in Frameworks */,
340474F11E08199D00C92850 /* Crashlytics.framework in Frameworks */,
6741AACC1BF356BA002C974C /* libmap.a in Frameworks */,
@@ -2877,17 +2901,19 @@
6741AAD01BF356BA002C974C /* libplatform.a in Frameworks */,
3404750F1E08199E00C92850 /* MyTrackerSDK.framework in Frameworks */,
6741AAD11BF356BA002C974C /* libprotobuf.a in Frameworks */,
+ 3466A2D71FB1C83C005494D3 /* Bolts.framework in Frameworks */,
6741AAD31BF356BA002C974C /* librouting.a in Frameworks */,
674A7E281C0DA573003D48E1 /* libstb_image.a in Frameworks */,
6741AAD41BF356BA002C974C /* libsearch.a in Frameworks */,
6741AAD51BF356BA002C974C /* libstorage.a in Frameworks */,
6741AAD61BF356BA002C974C /* libsuccinct.a in Frameworks */,
+ 3466A2D41FB1C83C005494D3 /* FacebookShare.framework in Frameworks */,
+ 3466A2C11FB1C734005494D3 /* AppsFlyerTracker.framework in Frameworks */,
6741AA361BF340DE002C974C /* libz.dylib in Frameworks */,
674A7E2B1C0DA57C003D48E1 /* libdrape_frontend.a in Frameworks */,
- 340474F71E08199D00C92850 /* FBSDKCoreKit.framework in Frameworks */,
3411E7641F7CE5DF00A49FCD /* GoogleMobileAds.framework in Frameworks */,
674A7E2A1C0DA579003D48E1 /* libdrape.a in Frameworks */,
- 340474FD1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */,
+ 3466A2DD1FB1C83C005494D3 /* FacebookLogin.framework in Frameworks */,
34201E091DC0DC7300D24118 /* libpartners_api.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2896,34 +2922,37 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 456E1B1F1F94D718009C32E1 /* AppsFlyerLib.framework in Frameworks */,
+ 3466A2D51FB1C83C005494D3 /* FacebookShare.framework in Frameworks */,
F68BDF071EEA9A830009BB81 /* MyTargetSDK.framework in Frameworks */,
341CF15F1E9E2ADC009AC928 /* libMopub.a in Frameworks */,
3411E7651F7CE5E000A49FCD /* GoogleMobileAds.framework in Frameworks */,
+ 3466A2C21FB1C734005494D3 /* AppsFlyerTracker.framework in Frameworks */,
67B78B511E422E300018E590 /* CoreSpotlight.framework in Frameworks */,
67B78B531E422E300018E590 /* CoreData.framework in Frameworks */,
- 340474FE1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */,
34D808811E79361E002F0584 /* Alamofire.framework in Frameworks */,
- 340474FB1E08199D00C92850 /* FBSDKLoginKit.framework in Frameworks */,
67B78B4F1E422E300018E590 /* iAd.framework in Frameworks */,
344D63191E795A3C006F17CB /* SystemConfiguration.framework in Frameworks */,
34D808881E793FA4002F0584 /* Pushwoosh.framework in Frameworks */,
- 340474F81E08199D00C92850 /* FBSDKCoreKit.framework in Frameworks */,
3488B03D1E9D14070068AFD8 /* UserNotifications.framework in Frameworks */,
340474F21E08199D00C92850 /* Crashlytics.framework in Frameworks */,
849CF7861DE842290024A8A5 /* libz.dylib in Frameworks */,
34D8087F1E79361B002F0584 /* AlamofireImage.framework in Frameworks */,
345E8F521F83985600A826CC /* GoogleSignIn.framework in Frameworks */,
+ 3466A2DB1FB1C83C005494D3 /* FacebookCore.framework in Frameworks */,
340475011E08199D00C92850 /* libFlurry_7.8.2.a in Frameworks */,
67B78B501E422E300018E590 /* MessageUI.framework in Frameworks */,
340475101E08199E00C92850 /* MyTrackerSDK.framework in Frameworks */,
67B78B4E1E422E300018E590 /* MobileCoreServices.framework in Frameworks */,
34F4098D1E9E221700E57AC0 /* FBAudienceNetwork.framework in Frameworks */,
345E8F531F83985600A826CC /* GoogleSignInDependencies.framework in Frameworks */,
+ 3466A2D21FB1C83B005494D3 /* FBSDKShareKit.framework in Frameworks */,
67B78B571E42334A0018E590 /* AdSupport.framework in Frameworks */,
- 3432E17A1E49B3A2008477E9 /* Bolts.framework in Frameworks */,
+ 3466A2CC1FB1C83B005494D3 /* FBSDKCoreKit.framework in Frameworks */,
+ 3466A2D81FB1C83C005494D3 /* Bolts.framework in Frameworks */,
340474F51E08199D00C92850 /* Fabric.framework in Frameworks */,
34E6F2DD1F459C1A008E14F9 /* GLKit.framework in Frameworks */,
+ 3466A2CF1FB1C83B005494D3 /* FBSDKLoginKit.framework in Frameworks */,
+ 3466A2DE1FB1C83C005494D3 /* FacebookLogin.framework in Frameworks */,
67B78B521E422E300018E590 /* SafariServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2963,8 +2992,8 @@
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
- 348E57981B0F49D8000FA02A /* maps.me dbg.app */,
- 6741AA5D1BF340DE002C974C /* xc dbg.app */,
+ 348E57981B0F49D8000FA02A /* qt dbg.app */,
+ 6741AA5D1BF340DE002C974C /* maps.me dbg.app */,
849CF7A31DE842290024A8A5 /* cm dbg.app */,
);
name = Products;
@@ -3020,7 +3049,6 @@
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
- 456E1B1C1F94D6DB009C32E1 /* AppsFlyerLib.framework */,
4586D0E61F4813AB00DF9CE5 /* libmwm_diff.a */,
4586D0C31F48121A00DF9CE5 /* libbsdiff.a */,
F6F8E3C41EF8469700F2DE8F /* libugc.a */,
@@ -3081,13 +3109,17 @@
children = (
34D8087A1E793606002F0584 /* Alamofire.framework */,
34D8087C1E79360D002F0584 /* AlamofireImage.framework */,
- 3432E1771E49B3A2008477E9 /* Bolts.framework */,
+ 3466A2BF1FB1C733005494D3 /* AppsFlyerTracker.framework */,
+ 3466A2C71FB1C83B005494D3 /* Bolts.framework */,
340474DC1E08199D00C92850 /* Crashlytics.framework */,
340474DD1E08199D00C92850 /* Fabric.framework */,
+ 3466A2C81FB1C83B005494D3 /* FacebookCore.framework */,
+ 3466A2C91FB1C83B005494D3 /* FacebookLogin.framework */,
+ 3466A2C61FB1C83A005494D3 /* FacebookShare.framework */,
34F4098A1E9E221700E57AC0 /* FBAudienceNetwork.framework */,
- 340474DE1E08199D00C92850 /* FBSDKCoreKit.framework */,
- 340474DF1E08199D00C92850 /* FBSDKLoginKit.framework */,
- 340474E01E08199D00C92850 /* FBSDKShareKit.framework */,
+ 3466A2C31FB1C83A005494D3 /* FBSDKCoreKit.framework */,
+ 3466A2C41FB1C83A005494D3 /* FBSDKLoginKit.framework */,
+ 3466A2C51FB1C83A005494D3 /* FBSDKShareKit.framework */,
340474E11E08199D00C92850 /* Flurry */,
3411E7621F7CE5DC00A49FCD /* GoogleMobileAds.framework */,
347D15C71F82362900E86251 /* GoogleSignIn.framework */,
@@ -3420,6 +3452,7 @@
349D1CE21E3F836900A878FD /* UIViewController+Hierarchy.swift */,
34F7422F1E0834F400AC1FD6 /* UIViewController+Navigation.h */,
34F742301E0834F400AC1FD6 /* UIViewController+Navigation.mm */,
+ 347E03981FAC5F1D00426032 /* UIWindow+InputLanguage.swift */,
);
path = Categories;
sourceTree = "<group>";
@@ -4860,9 +4893,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 1D6058900D05DD3D006BFB54 /* MAPS.ME */ = {
+ 1D6058900D05DD3D006BFB54 /* qtMAPS.ME */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "MAPS.ME" */;
+ buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "qtMAPS.ME" */;
buildPhases = (
FA3A60E715AD5BBD00F40D20 /* Run Script */,
1D60588D0D05DD3D006BFB54 /* Resources */,
@@ -4878,14 +4911,14 @@
dependencies = (
347040381EA6628300038379 /* PBXTargetDependency */,
);
- name = MAPS.ME;
+ name = qtMAPS.ME;
productName = Maps;
- productReference = 348E57981B0F49D8000FA02A /* maps.me dbg.app */;
+ productReference = 348E57981B0F49D8000FA02A /* qt dbg.app */;
productType = "com.apple.product-type.application";
};
- 6741A93D1BF340DE002C974C /* xcMAPS.ME */ = {
+ 6741A93D1BF340DE002C974C /* MAPS.ME */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 6741AA541BF340DE002C974C /* Build configuration list for PBXNativeTarget "xcMAPS.ME" */;
+ buildConfigurationList = 6741AA541BF340DE002C974C /* Build configuration list for PBXNativeTarget "MAPS.ME" */;
buildPhases = (
6741A9411BF340DE002C974C /* Resources */,
6741A9A01BF340DE002C974C /* Sources */,
@@ -4900,9 +4933,9 @@
dependencies = (
3470403B1EA6628700038379 /* PBXTargetDependency */,
);
- name = xcMAPS.ME;
+ name = MAPS.ME;
productName = Maps;
- productReference = 6741AA5D1BF340DE002C974C /* xc dbg.app */;
+ productReference = 6741AA5D1BF340DE002C974C /* maps.me dbg.app */;
productType = "com.apple.product-type.application";
};
849CF5E21DE842290024A8A5 /* cmMAPS.ME */ = {
@@ -5027,8 +5060,8 @@
);
projectRoot = "";
targets = (
- 1D6058900D05DD3D006BFB54 /* MAPS.ME */,
- 6741A93D1BF340DE002C974C /* xcMAPS.ME */,
+ 1D6058900D05DD3D006BFB54 /* qtMAPS.ME */,
+ 6741A93D1BF340DE002C974C /* MAPS.ME */,
849CF5E21DE842290024A8A5 /* cmMAPS.ME */,
);
};
@@ -5069,6 +5102,7 @@
F6E2FEAE1E097BA00083EBEC /* _MWMPPPExternalTitle.xib in Resources */,
F6E2FEB11E097BA00083EBEC /* _MWMPPPSchedule.xib in Resources */,
3495433E1EB22DAC00F08F73 /* MPAdBrowserController.xib in Resources */,
+ F69080BE1F98DB2A0017C00C /* AuthorizationViewController.xib in Resources */,
F6E2FEB41E097BA00083EBEC /* _MWMPPPSpace.xib in Resources */,
F6E2FEB71E097BA00083EBEC /* _MWMPPPSubtitle.xib in Resources */,
F6E2FEBA1E097BA00083EBEC /* _MWMPPPTitle.xib in Resources */,
@@ -5110,6 +5144,7 @@
349D1AD41E2E325B004A2006 /* MWMBottomMenuCollectionViewPortraitCell.xib in Resources */,
349D1AE01E2E325C004A2006 /* MWMBottomMenuViewController.xib in Resources */,
34D3B01D1E389D05004100F9 /* MWMButtonCell.xib in Resources */,
+ F6C16A651F9626B1000FE296 /* ReviewsViewController.xib in Resources */,
349A357B1B53D4C9009677EE /* MWMCircularProgress.xib in Resources */,
F64F199E1AB81A00006EAF7E /* MWMDefaultAlert.xib in Resources */,
F6E2FE451E097BA00083EBEC /* MWMDirectionView.xib in Resources */,
@@ -5344,6 +5379,7 @@
F6E2FE0D1E097BA00083EBEC /* MWMOpeningHoursDeleteScheduleTableViewCell.xib in Resources */,
F6E2FE161E097BA00083EBEC /* MWMOpeningHoursTimeSelectorTableViewCell.xib in Resources */,
F6E2FE1C1E097BA00083EBEC /* MWMOpeningHoursTimeSpanTableViewCell.xib in Resources */,
+ F6C16A671F9626B2000FE296 /* ReviewsViewController.xib in Resources */,
F6BD1D241CA412E40047B8E8 /* MWMOsmAuthAlert.xib in Resources */,
F6FE3C3C1CC5106500A73196 /* MWMPlaceDoesntExistAlert.xib in Resources */,
F6E2FE581E097BA00083EBEC /* MWMPlacePageActionBar.xib in Resources */,
@@ -5532,6 +5568,7 @@
F6E2FE0E1E097BA00083EBEC /* MWMOpeningHoursDeleteScheduleTableViewCell.xib in Resources */,
F6E2FE171E097BA00083EBEC /* MWMOpeningHoursTimeSelectorTableViewCell.xib in Resources */,
F6E2FE1D1E097BA00083EBEC /* MWMOpeningHoursTimeSpanTableViewCell.xib in Resources */,
+ F6C16A661F9626B2000FE296 /* ReviewsViewController.xib in Resources */,
849CF65A1DE842290024A8A5 /* MWMOsmAuthAlert.xib in Resources */,
849CF5E81DE842290024A8A5 /* MWMPlaceDoesntExistAlert.xib in Resources */,
F6E2FE591E097BA00083EBEC /* MWMPlacePageActionBar.xib in Resources */,
@@ -5633,6 +5670,14 @@
"$(SRCROOT)/3party/Carthage/Build/iOS/Alamofire.framework",
"$(SRCROOT)/3party/Carthage/Build/iOS/AlamofireImage.framework",
"$(SRCROOT)/3party/Carthage/Build/iOS/Pushwoosh.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/FacebookCore.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/FBSDKCoreKit.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/Bolts.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/FacebookLogin.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/FacebookShare.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/FBSDKLoginKit.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/FBSDKShareKit.framework",
+ "$(SRCROOT)/3party/Carthage/Build/iOS/AppsFlyerTracker.framework",
);
outputPaths = (
);
@@ -6024,6 +6069,7 @@
34926BE61EA4C2A700DCF14C /* SearchBanners.swift in Sources */,
34D4FA621E26572D003F53EF /* FirstLaunchController.swift in Sources */,
34C9BD041C6DB693000DC38D /* MWMViewController.mm in Sources */,
+ 347E03991FAC5F1D00426032 /* UIWindow+InputLanguage.swift in Sources */,
3404165B1E7C29AE00E2B6D6 /* PhotosInteractionAnimator.swift in Sources */,
340475701E081A4600C92850 /* MWMSettings.mm in Sources */,
34E50DDF1F6FCBA1008EED49 /* UGCAddReviewCell.swift in Sources */,
@@ -6385,6 +6431,7 @@
34E776271F14FE77003040B3 /* NavigationStreetNameView.swift in Sources */,
34926BE71EA4C2A700DCF14C /* SearchBanners.swift in Sources */,
34D3B02A1E389D05004100F9 /* MWMEditorAdditionalNameTableViewCell.mm in Sources */,
+ 347E039A1FAC5F1D00426032 /* UIWindow+InputLanguage.swift in Sources */,
340475711E081A4600C92850 /* MWMSettings.mm in Sources */,
3404165C1E7C29AE00E2B6D6 /* PhotosInteractionAnimator.swift in Sources */,
34E50DE01F6FCBA1008EED49 /* UGCAddReviewCell.swift in Sources */,
@@ -6746,6 +6793,7 @@
34D3B02B1E389D05004100F9 /* MWMEditorAdditionalNameTableViewCell.mm in Sources */,
34E776281F14FE77003040B3 /* NavigationStreetNameView.swift in Sources */,
34926BE81EA4C2A700DCF14C /* SearchBanners.swift in Sources */,
+ 347E039B1FAC5F1D00426032 /* UIWindow+InputLanguage.swift in Sources */,
3454D7C61E07F045004AF2AD /* UIButton+Orientation.mm in Sources */,
3404165D1E7C29AE00E2B6D6 /* PhotosInteractionAnimator.swift in Sources */,
34E50DE11F6FCBA1008EED49 /* UGCAddReviewCell.swift in Sources */,
@@ -6918,7 +6966,6 @@
"$(PROJECT_DIR)/3party/GoogleSignIn",
);
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "xc dbg";
};
name = Simulator;
};
@@ -6932,7 +6979,6 @@
"$(PROJECT_DIR)/3party/GoogleSignIn",
);
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "xc rel";
};
name = "Simulator Release";
};
@@ -6946,7 +6992,6 @@
"$(PROJECT_DIR)/3party/GoogleSignIn",
);
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "xc dbg";
};
name = Debug;
};
@@ -6960,7 +7005,6 @@
"$(PROJECT_DIR)/3party/GoogleSignIn",
);
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "xc beta";
};
name = AdHoc;
};
@@ -6974,7 +7018,6 @@
"$(PROJECT_DIR)/3party/GoogleSignIn",
);
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "xc rel";
};
name = Release;
};
@@ -6988,7 +7031,6 @@
"$(PROJECT_DIR)/3party/GoogleSignIn",
);
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "xc pf";
};
name = "Production Full";
};
@@ -7364,11 +7406,12 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_IDENTIFIER}";
PRODUCT_NAME = "maps.me dbg";
SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_OBJC_BRIDGING_HEADER = "Bridging-Header.h";
SWIFT_OBJC_INTERFACE_HEADER_NAME = SwiftBridge.h;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
@@ -7426,6 +7469,7 @@
"-lbsdiff",
"-lmwm_diff",
);
+ PRODUCT_NAME = "qt dbg";
};
name = Simulator;
};
@@ -7468,11 +7512,12 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_IDENTIFIER}";
PRODUCT_NAME = "maps.me dbg";
SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_OBJC_BRIDGING_HEADER = "Bridging-Header.h";
SWIFT_OBJC_INTERFACE_HEADER_NAME = SwiftBridge.h;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
@@ -7530,6 +7575,7 @@
"-lbsdiff",
"-lmwm_diff",
);
+ PRODUCT_NAME = "qt dbg";
};
name = Debug;
};
@@ -7573,11 +7619,12 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_IDENTIFIER}";
PRODUCT_NAME = "maps.me beta";
SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_OBJC_BRIDGING_HEADER = "Bridging-Header.h";
SWIFT_OBJC_INTERFACE_HEADER_NAME = SwiftBridge.h;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_SWIFT3_OBJC_INFERENCE = Off;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
@@ -7636,6 +7683,7 @@
"-lbsdiff",
"-lmwm_diff",
);
+ PRODUCT_NAME = "qt beta";
};
name = AdHoc;
};
@@ -7680,11 +7728,12 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_IDENTIFIER}";
PRODUCT_NAME = maps.me;
SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_OBJC_BRIDGING_HEADER = "Bridging-Header.h";
SWIFT_OBJC_INTERFACE_HEADER_NAME = SwiftBridge.h;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_SWIFT3_OBJC_INFERENCE = Off;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
@@ -7743,6 +7792,7 @@
"-lbsdiff",
"-lmwm_diff",
);
+ PRODUCT_NAME = "qt pf";
};
name = "Production Full";
};
@@ -7788,11 +7838,12 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_IDENTIFIER}";
PRODUCT_NAME = "maps.me rel";
SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_OBJC_BRIDGING_HEADER = "Bridging-Header.h";
SWIFT_OBJC_INTERFACE_HEADER_NAME = SwiftBridge.h;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
@@ -7850,6 +7901,7 @@
"-lbsdiff",
"-lmwm_diff",
);
+ PRODUCT_NAME = "qt rel";
};
name = Release;
};
@@ -7896,11 +7948,12 @@
PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_IDENTIFIER}";
PRODUCT_NAME = "maps.me rel";
SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_OBJC_BRIDGING_HEADER = "Bridging-Header.h";
SWIFT_OBJC_INTERFACE_HEADER_NAME = SwiftBridge.h;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_SWIFT3_OBJC_INFERENCE = On;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
@@ -7958,13 +8011,14 @@
"-lbsdiff",
"-lmwm_diff",
);
+ PRODUCT_NAME = "qt rel";
};
name = "Simulator Release";
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "MAPS.ME" */ = {
+ 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "qtMAPS.ME" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FAAB411A149BA83500C245B1 /* Simulator */,
@@ -7977,7 +8031,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = AdHoc;
};
- 6741AA541BF340DE002C974C /* Build configuration list for PBXNativeTarget "xcMAPS.ME" */ = {
+ 6741AA541BF340DE002C974C /* Build configuration list for PBXNativeTarget "MAPS.ME" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6741AA551BF340DE002C974C /* Simulator */,
diff --git a/iphone/Maps/Maps.xcodeproj/xcshareddata/xcschemes/ci.MAPS.ME.xcscheme b/iphone/Maps/Maps.xcodeproj/xcshareddata/xcschemes/ci.MAPS.ME.xcscheme
index 09b1d6f820..edb2633d37 100644
--- a/iphone/Maps/Maps.xcodeproj/xcshareddata/xcschemes/ci.MAPS.ME.xcscheme
+++ b/iphone/Maps/Maps.xcodeproj/xcshareddata/xcschemes/ci.MAPS.ME.xcscheme
@@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
- BuildableName = "maps.me beta.app"
- BlueprintName = "MAPS.ME"
+ BuildableName = "qt beta.app"
+ BlueprintName = "qtMAPS.ME"
ReferencedContainer = "container:Maps.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@@ -34,8 +34,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
- BuildableName = "maps.me beta.app"
- BlueprintName = "MAPS.ME"
+ BuildableName = "qt beta.app"
+ BlueprintName = "qtMAPS.ME"
ReferencedContainer = "container:Maps.xcodeproj">
</BuildableReference>
</MacroExpansion>
@@ -58,8 +58,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
- BuildableName = "maps.me beta.app"
- BlueprintName = "MAPS.ME"
+ BuildableName = "qt beta.app"
+ BlueprintName = "qtMAPS.ME"
ReferencedContainer = "container:Maps.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@@ -77,8 +77,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
- BuildableName = "maps.me beta.app"
- BlueprintName = "MAPS.ME"
+ BuildableName = "qt beta.app"
+ BlueprintName = "qtMAPS.ME"
ReferencedContainer = "container:Maps.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
diff --git a/iphone/Maps/UI/Authorization/AuthorizationViewController.swift b/iphone/Maps/UI/Authorization/AuthorizationViewController.swift
index 32dac19556..cde3f693f5 100644
--- a/iphone/Maps/UI/Authorization/AuthorizationViewController.swift
+++ b/iphone/Maps/UI/Authorization/AuthorizationViewController.swift
@@ -20,6 +20,16 @@ final class AuthorizationViewController: MWMViewController {
}
}
+ @IBOutlet private weak var tapView: UIView! {
+ didSet {
+ iPadSpecific {
+ tapView?.removeFromSuperview()
+ }
+ }
+ }
+
+ @IBOutlet private weak var contentView: UIView!
+
@IBOutlet private weak var titleLabel: UILabel! {
didSet {
titleLabel.font = UIFont.bold22()
@@ -117,16 +127,30 @@ final class AuthorizationViewController: MWMViewController {
fbImage?.frame = CGRect(x: 16, y: 8, width: 24, height: 24)
}
- @IBAction func onCancel() {
- dismiss(animated: true, completion: nil)
+ override func viewDidLayoutSubviews() {
+ super.viewDidLayoutSubviews()
+ preferredContentSize = contentView.size
}
- private func process(error: Error) {
+ @IBAction func onCancel() {
+ Statistics.logEvent(kStatUGCReviewAuthDeclined)
+ dismiss(animated: true, completion: {
+ (UIApplication.shared.keyWindow?.rootViewController as?
+ UINavigationController)?.popToRootViewController(animated: true)
+ })
+ }
+
+ private func process(error: Error, type: MWMSocialTokenType) {
+ Statistics.logEvent(kStatUGCReviewAuthError, withParameters: [
+ kStatProvider: type == .facebook ? kStatFacebook : kStatGoogle,
+ kStatError: error.localizedDescription,
+ ])
textLabel.text = L("profile_authorization_error")
Crashlytics.sharedInstance().recordError(error)
}
private func process(token: String, type: MWMSocialTokenType) {
+ Statistics.logEvent(kStatUGCReviewAuthExternalRequestSuccess, withParameters: [kStatProvider: type == .facebook ? kStatFacebook : kStatGoogle])
ViewModel.authenticate(withToken: token, type: type)
dismiss(animated: true, completion: completion)
}
@@ -135,9 +159,9 @@ final class AuthorizationViewController: MWMViewController {
extension AuthorizationViewController: FBSDKLoginButtonDelegate {
func loginButton(_: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
if let error = error {
- process(error: error)
- } else if let result = result {
- process(token: result.token.tokenString, type: .facebook)
+ process(error: error, type: .facebook)
+ } else if let token = result?.token {
+ process(token: token.tokenString, type: .facebook)
}
}
@@ -150,7 +174,7 @@ extension AuthorizationViewController: GIDSignInUIDelegate {
extension AuthorizationViewController: GIDSignInDelegate {
func sign(_: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
if let error = error {
- process(error: error)
+ process(error: error, type: .google)
} else {
process(token: user.authentication.idToken, type: .google)
}
diff --git a/iphone/Maps/UI/Authorization/AuthorizationViewController.xib b/iphone/Maps/UI/Authorization/AuthorizationViewController.xib
index ad31ea8e41..bb2bbaa0da 100644
--- a/iphone/Maps/UI/Authorization/AuthorizationViewController.xib
+++ b/iphone/Maps/UI/Authorization/AuthorizationViewController.xib
@@ -5,15 +5,17 @@
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13174"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MWMAuthorizationViewController">
<connections>
+ <outlet property="contentView" destination="mb9-vK-FLE" id="NNo-Na-BYT"/>
<outlet property="facebookButtonHolder" destination="iK0-TH-4mm" id="FRM-L8-FLN"/>
<outlet property="googleButton" destination="8iU-Se-s8N" id="rSq-jz-U5t"/>
<outlet property="separator" destination="hWD-aE-jYh" id="myS-1z-Saw"/>
+ <outlet property="tapView" destination="5kf-Pd-KAZ" id="QD3-Pa-zgR"/>
<outlet property="textLabel" destination="0EA-1u-hvB" id="oDy-2V-Lrx"/>
<outlet property="titleLabel" destination="LFT-Lb-6jj" id="uQG-BI-EAe"/>
<outlet property="view" destination="iN0-l3-epB" id="6le-MR-NDK"/>
@@ -108,6 +110,7 @@
<constraint firstAttribute="trailing" secondItem="5kf-Pd-KAZ" secondAttribute="trailing" id="MP9-cM-ON8"/>
<constraint firstItem="mb9-vK-FLE" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="S7z-xe-BcP"/>
<constraint firstItem="5kf-Pd-KAZ" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="V7Y-js-5JA"/>
+ <constraint firstItem="mb9-vK-FLE" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" priority="250" id="VDg-qx-Y61"/>
<constraint firstAttribute="trailing" secondItem="mb9-vK-FLE" secondAttribute="trailing" id="cjh-uT-fAL"/>
<constraint firstItem="5kf-Pd-KAZ" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="mhC-Cp-zLW"/>
<constraint firstItem="mb9-vK-FLE" firstAttribute="top" secondItem="5kf-Pd-KAZ" secondAttribute="bottom" id="pkl-0y-Ozq"/>
diff --git a/iphone/Maps/UI/EditBookmark/MWMEditBookmarkController.mm b/iphone/Maps/UI/EditBookmark/MWMEditBookmarkController.mm
index 64e363cc0a..c91e856de6 100644
--- a/iphone/Maps/UI/EditBookmark/MWMEditBookmarkController.mm
+++ b/iphone/Maps/UI/EditBookmark/MWMEditBookmarkController.mm
@@ -29,6 +29,7 @@ enum RowInMetaInfo
RowsInMetaInfoCount
};
+static int const kInvalidCategoryIndex = -1;
} // namespace
@interface MWMEditBookmarkController () <MWMButtonCellDelegate, MWMNoteCelLDelegate, MWMBookmarkColorDelegate,
@@ -42,6 +43,7 @@ enum RowInMetaInfo
@property (copy, nonatomic) NSString * cachedTitle;
@property (copy, nonatomic) NSString * cachedColor;
@property (copy, nonatomic) NSString * cachedCategory;
+@property(nonatomic) int64_t cachedCategoryIndex;
@end
@@ -50,10 +52,11 @@ enum RowInMetaInfo
- (void)viewDidLoad
{
[super viewDidLoad];
+ self.cachedCategoryIndex = kInvalidCategoryIndex;
auto data = self.data;
NSAssert(data, @"Data can't be nil!");
self.cachedDescription = data.bookmarkDescription;
- self.cachedTitle = data.externalTitle ?: data.title;
+ self.cachedTitle = data.title;
self.cachedCategory = data.bookmarkCategory;
self.cachedColor = data.bookmarkColor;
m_cachedBookmarkAndCategory = data.bookmarkAndCategory;
@@ -89,12 +92,22 @@ enum RowInMetaInfo
{
[self.view endEditing:YES];
auto & f = GetFramework();
+ if (self.cachedCategoryIndex != kInvalidCategoryIndex)
+ {
+ auto const index = static_cast<size_t>(
+ f.MoveBookmark(m_cachedBookmarkAndCategory.m_bookmarkIndex,
+ m_cachedBookmarkAndCategory.m_categoryIndex,
+ self.cachedCategoryIndex));
+ m_cachedBookmarkAndCategory.m_bookmarkIndex = index;
+ m_cachedBookmarkAndCategory.m_categoryIndex = self.cachedCategoryIndex;
+ }
+
BookmarkCategory * category = f.GetBmCategory(m_cachedBookmarkAndCategory.m_categoryIndex);
if (!category)
return;
auto bookmark = static_cast<Bookmark *>(
- category->GetUserMarkForEdit(m_cachedBookmarkAndCategory.m_bookmarkIndex));
+ category->GetUserMarkForEdit(m_cachedBookmarkAndCategory.m_bookmarkIndex));
if (!bookmark)
return;
@@ -227,7 +240,7 @@ enum RowInMetaInfo
case Category:
{
SelectSetVC * svc = [[SelectSetVC alloc] initWithCategory:self.cachedCategory
- bac:m_cachedBookmarkAndCategory
+ categoryIndex:m_cachedBookmarkAndCategory.m_categoryIndex
delegate:self];
[self.navigationController pushViewController:svc animated:YES];
break;
@@ -273,10 +286,10 @@ enum RowInMetaInfo
#pragma mark - MWMSelectSetDelegate
-- (void)didSelectCategory:(NSString *)category withBac:(BookmarkAndCategory const &)bac
+- (void)didSelectCategory:(NSString *)category withCategoryIndex:(size_t)categoryIndex
{
self.cachedCategory = category;
- m_cachedBookmarkAndCategory = bac;
+ self.cachedCategoryIndex = categoryIndex;
[self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:Category inSection:MetaInfo]] withRowAnimation:UITableViewRowAnimationAutomatic];
}
diff --git a/iphone/Maps/UI/Editor/MWMObjectsCategorySelectorController.mm b/iphone/Maps/UI/Editor/MWMObjectsCategorySelectorController.mm
index e8f6c47a64..ba42021fcf 100644
--- a/iphone/Maps/UI/Editor/MWMObjectsCategorySelectorController.mm
+++ b/iphone/Maps/UI/Editor/MWMObjectsCategorySelectorController.mm
@@ -136,10 +136,10 @@ string locale()
auto const & featureID = object.GetID();
[Statistics logEvent:kStatEditorAddStart
withParameters:@{
- kStatEditorIsAuthenticated : @(AuthorizationHaveCredentials()),
- kStatIsOnline : Platform::IsConnected() ? kStatYes : kStatNo,
- kStatEditorMWMName : @(featureID.GetMwmName().c_str()),
- kStatEditorMWMVersion : @(featureID.GetMwmVersion())
+ kStatIsAuthenticated: @(AuthorizationHaveCredentials()),
+ kStatIsOnline: Platform::IsConnected() ? kStatYes : kStatNo,
+ kStatEditorMWMName: @(featureID.GetMwmName().c_str()),
+ kStatEditorMWMVersion: @(featureID.GetMwmVersion())
}];
}
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageButtonsProtocol.h b/iphone/Maps/UI/PlacePage/MWMPlacePageButtonsProtocol.h
index 8e92fc547d..cf20ae1efa 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageButtonsProtocol.h
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageButtonsProtocol.h
@@ -20,7 +20,7 @@ typedef UIView * _Nullable (^MWMPlacePageButtonsDismissBlock)(NSInteger);
referenceViewWhenDismissingHandler:
(nonnull MWMPlacePageButtonsDismissBlock)referenceViewWhenDismissingHandler;
- (void)showGallery;
-- (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value;
+- (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value fromPreview:(BOOL)fromPreview;
- (void)openLocalAdsURL;
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm
index e9a6bb6516..38b3ea9f81 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm
@@ -1,4 +1,5 @@
#import "MWMPlacePageData.h"
+#import "AppInfo.h"
#import "LocaleTranslator.h"
#import "MWMBannerHelpers.h"
#import "MWMNetworkPolicy.h"
@@ -701,10 +702,15 @@ NSString * const kUserDefaultsLatLonAsDMSKey = @"UserDefaultsLatLonAsDMS";
- (void)setUGCUpdateFrom:(MWMUGCReviewModel *)reviewModel
{
using namespace ugc;
-
+ auto appInfo = AppInfo.sharedInfo;
auto const locale =
- static_cast<uint8_t>(StringUtf8Multilang::GetLangIndex(languages::GetCurrentNorm()));
- Text t{reviewModel.text.UTF8String, locale};
+ static_cast<uint8_t>(StringUtf8Multilang::GetLangIndex(appInfo.twoLetterLanguageId.UTF8String));
+ std::vector<uint8_t> keyboardLanguages;
+ // TODO: Set the list of used keyboard languages (not only the recent one).
+ auto lastInputLanguage = appInfo.twoLetterInputLanguage;
+ keyboardLanguages.emplace_back(StringUtf8Multilang::GetLangIndex(lastInputLanguage.UTF8String));
+
+ KeyboardText t{reviewModel.text.UTF8String, locale, keyboardLanguages};
Ratings r;
for (MWMUGCRatingStars * star in reviewModel.ratings)
r.emplace_back(star.title.UTF8String, star.value);
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
index 78f8cf0f44..e011e5a5db 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm
@@ -584,7 +584,7 @@ void logSponsoredEvent(MWMPlacePageData * data, NSString * eventName)
[[MapViewController controller].navigationController pushViewController:galleryVc animated:YES];
}
-- (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value
+- (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value fromPreview:(BOOL)fromPreview
{
auto data = self.data;
if (!data)
@@ -596,6 +596,15 @@ void logSponsoredEvent(MWMPlacePageData * data, NSString * eventName)
value:value
maxValue:5.0f]];
auto title = data.title;
+
+ [Statistics logEvent:kStatUGCReviewStart
+ withParameters:@{
+ kStatIsAuthenticated: @([MWMAuthorizationViewModel isAuthenticated]),
+ kStatIsOnline:
+ @(GetPlatform().ConnectionStatus() != Platform::EConnectionType::CONNECTION_NONE),
+ kStatMode: kStatAdd,
+ kStatFrom: fromPreview ? kStatPlacePagePreview : kStatPlacePage
+ }];
auto ugcReviewModel =
[[MWMUGCReviewModel alloc] initWithReviewValue:value ratings:ratings title:title text:@""];
auto ugcVC = [MWMUGCAddReviewController instanceWithModel:ugcReviewModel
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.h b/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.h
index d928286655..6aff84cd8c 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.h
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.h
@@ -3,6 +3,6 @@
@interface MWMPlacePageManagerHelper : NSObject
+ (void)updateAvailableArea:(CGRect)frame;
-+ (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value;
++ (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value fromPreview:(BOOL)fromPreview;
@end
diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.mm
index 2afd9295c9..53e3d7e5d1 100644
--- a/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.mm
+++ b/iphone/Maps/UI/PlacePage/MWMPlacePageManagerHelper.mm
@@ -11,7 +11,7 @@
@interface MWMPlacePageManager ()
- (void)updateAvailableArea:(CGRect)frame;
-- (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value;
+- (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value fromPreview:(BOOL)fromPreview;
@end
@@ -22,9 +22,10 @@
[[MWMMapViewControlsManager manager].placePageManager updateAvailableArea:frame];
}
-+ (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value
++ (void)showUGCAddReview:(MWMRatingSummaryViewValueType)value fromPreview:(BOOL)fromPreview
{
- [[MWMMapViewControlsManager manager].placePageManager showUGCAddReview:value];
+ [[MWMMapViewControlsManager manager].placePageManager showUGCAddReview:value
+ fromPreview:fromPreview];
}
@end
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewController.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewController.swift
index efbb78d5b7..7106c07160 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewController.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewController.swift
@@ -34,6 +34,12 @@ final class UGCAddReviewController: MWMTableViewController {
configTableView()
}
+ override func backTap() {
+ guard let nc = navigationController else { return }
+ Statistics.logEvent(kStatUGCReviewCancel);
+ nc.popToRootViewController(animated: true)
+ }
+
private func configNavBar() {
title = model.title
navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(onDone))
@@ -52,15 +58,17 @@ final class UGCAddReviewController: MWMTableViewController {
assert(false);
return
}
+ Statistics.logEvent(kStatUGCReviewSuccess)
model.text = text
onSave(model)
guard let nc = navigationController else { return }
if MWMAuthorizationViewModel.isAuthenticated() {
nc.popViewController(animated: true)
} else {
+ Statistics.logEvent(kStatUGCReviewAuthShown, withParameters: [kStatFrom : kStatAfterSave])
let authVC = AuthorizationViewController(barButtonItem: navigationItem.rightBarButtonItem!,
- completion: { nc.popViewController(animated: true) })
- nc.show(authVC, sender: self)
+ completion: { nc.popToRootViewController(animated: true) })
+ present(authVC, animated: true, completion: nil);
}
}
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.swift
index 4b07eca444..934281d937 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.swift
@@ -17,7 +17,7 @@ final class UGCAddReviewRatingCell: MWMTableViewCell {
var model: UGCRatingStars! {
didSet {
- titleLabel.text = model.title
+ titleLabel.text = L(model.title)
ratingView.value = model.value
ratingView.starsCount = 5
}
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.xib b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.xib
index 941c206d15..6e447516ac 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.xib
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewRatingCell.xib
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -19,7 +19,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZYO-sw-mr0">
- <rect key="frame" x="8" y="14" width="42" height="15.5"/>
+ <rect key="frame" x="16" y="14" width="42" height="15.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
@@ -41,7 +41,7 @@
<constraints>
<constraint firstAttribute="bottom" secondItem="ZYO-sw-mr0" secondAttribute="bottom" constant="14" id="JGH-iW-T5A"/>
<constraint firstAttribute="trailing" secondItem="FRG-q1-pKr" secondAttribute="trailing" constant="16" id="RsB-As-Tpo"/>
- <constraint firstItem="ZYO-sw-mr0" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="8" id="UzX-2P-uVU"/>
+ <constraint firstItem="ZYO-sw-mr0" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="UzX-2P-uVU"/>
<constraint firstItem="FRG-q1-pKr" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="Yo0-tP-fqk"/>
<constraint firstItem="ZYO-sw-mr0" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="14" id="mps-PB-xMQ"/>
</constraints>
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewTextCell.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewTextCell.swift
index 49994841e0..3853bf251e 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewTextCell.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReview/UGCAddReviewTextCell.swift
@@ -1,7 +1,11 @@
final class UGCAddReviewTextCell: MWMTableViewCell {
+ private enum Const {
+ static let maxCharactersCount = 600
+ }
+
@IBOutlet private weak var textView: MWMTextView! {
didSet {
- textView.placeholder = L("review_placeholder")
+ textView.placeholder = L("placepage_reviews_hint")
textView.font = UIFont.regular16()
textView.textColor = UIColor.blackPrimaryText()
textView.placeholderView.textColor = UIColor.blackSecondaryText()
@@ -15,4 +19,8 @@ final class UGCAddReviewTextCell: MWMTableViewCell {
}
extension UGCAddReviewTextCell: UITextViewDelegate {
+ func textView(_: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
+ let isNewLengthValid = reviewText.count + text.count - range.length <= Const.maxCharactersCount
+ return isNewLengthValid
+ }
}
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReviewCell.xib b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReviewCell.xib
index 308997bf35..708263dbe5 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReviewCell.xib
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCAddReviewCell.xib
@@ -5,7 +5,7 @@
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13174"/>
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -19,7 +19,7 @@
<rect key="frame" x="0.0" y="0.0" width="320" height="127.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
- <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O6m-tq-AL7">
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O6m-tq-AL7">
<rect key="frame" x="16" y="16" width="288" height="20"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
@@ -38,7 +38,7 @@
<constraint firstAttribute="width" secondItem="D4Q-0A-Efb" secondAttribute="height" multiplier="1:1" id="bUS-re-59E"/>
</constraints>
<userDefinedRuntimeAttributes>
- <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackDividers"/>
+ <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackOpaque"/>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
@@ -90,7 +90,7 @@
<constraint firstAttribute="width" secondItem="ZfD-kJ-Q3m" secondAttribute="height" multiplier="1:1" id="z0R-9P-1b6"/>
</constraints>
<userDefinedRuntimeAttributes>
- <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackDividers"/>
+ <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackOpaque"/>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
@@ -143,7 +143,7 @@
<constraint firstAttribute="width" secondItem="3W8-Mg-bTw" secondAttribute="height" multiplier="1:1" id="qaN-7W-Yvj"/>
</constraints>
<userDefinedRuntimeAttributes>
- <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackDividers"/>
+ <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackOpaque"/>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
@@ -191,7 +191,7 @@
<constraint firstAttribute="width" secondItem="lPm-nd-4qs" secondAttribute="height" multiplier="1:1" id="ROk-bX-OdS"/>
</constraints>
<userDefinedRuntimeAttributes>
- <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackDividers"/>
+ <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackOpaque"/>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
@@ -244,7 +244,7 @@
<constraint firstAttribute="width" secondItem="U5X-iD-KyI" secondAttribute="height" multiplier="1:1" id="XZ1-91-XOt"/>
</constraints>
<userDefinedRuntimeAttributes>
- <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackDividers"/>
+ <userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="blackOpaque"/>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReview.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReview.swift
index bb11c9e958..f0bf756d2e 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReview.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReview.swift
@@ -1,11 +1,11 @@
@objc(MWMUGCReview)
final class UGCReview: NSObject, MWMReviewProtocol {
let title: String
- let date: Date
+ let date: String
let text: String
let rating: UGCRatingValueType
- @objc init(title: String, date: Date, text: String, rating: UGCRatingValueType) {
+ @objc init(title: String, date: String, text: String, rating: UGCRatingValueType) {
self.title = title
self.date = date
self.text = text
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReviewCell.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReviewCell.swift
index cc95f4cddb..5209343f81 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReviewCell.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCReviewCell.swift
@@ -37,10 +37,7 @@ final class UGCReviewCell: MWMTableViewCell {
@objc func config(review: UGCReview, onUpdate: @escaping () -> Void) {
titleLabel.text = review.title
- let dateFormatter = DateFormatter()
- dateFormatter.dateStyle = .medium
- dateFormatter.timeStyle = .none
- dateLabel.text = dateFormatter.string(from: review.date)
+ dateLabel.text = review.date
reviewLabel.text = review.text
reviewLabel.onUpdate = onUpdate
ratingView.value = review.rating.value
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingCell.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingCell.swift
index 0b6e3bb9e7..e55ecd9ab4 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingCell.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingCell.swift
@@ -53,7 +53,7 @@ final class UGCSummaryRatingCell: MWMTableViewCell {
}
@objc func config(reviewsCount: UInt, summaryRating: UGCRatingValueType, ratings: [UGCRatingStars]) {
- countLabel.text = String(coreFormat: L("place_page_summary_rating_description"), arguments: [reviewsCount])
+ countLabel.text = String(coreFormat: L("placepage_summary_rating_description"), arguments: [reviewsCount])
ratingSummaryView.value = summaryRating.value
ratingSummaryView.type = summaryRating.type
self.ratings = ratings
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingStarsCell.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingStarsCell.swift
index 722ecad58a..d840532253 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingStarsCell.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSummaryRatingStarsCell.swift
@@ -12,7 +12,7 @@ final class UGCSummaryRatingStarsCell: UICollectionViewCell {
}
func config(rating: UGCRatingStars) {
- ratingView.topText = rating.title
+ ratingView.topText = L(rating.title)
ratingView.value = rating.value
ratingView.starsCount = Int(rating.maxValue)
}
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReview.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReview.swift
index 9391193ae0..3c3b2f5ec4 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReview.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReview.swift
@@ -1,10 +1,10 @@
@objc(MWMUGCYourReview)
final class UGCYourReview: NSObject, MWMReviewProtocol {
- let date: Date
+ let date: String
let text: String
let ratings: [UGCRatingStars]
- @objc init(date: Date, text: String, ratings: [UGCRatingStars]) {
+ @objc init(date: String, text: String, ratings: [UGCRatingStars]) {
self.date = date
self.text = text
self.ratings = ratings
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.swift
index fe7583950a..c373df5700 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.swift
@@ -1,9 +1,7 @@
@objc(MWMUGCYourReviewCell)
final class UGCYourReviewCell: MWMTableViewCell {
private enum Config {
- static let minimumInteritemSpacing: CGFloat = 16
- static let minItemsPerRow: CGFloat = 3
- static let estimatedItemSize = CGSize(width: 96, height: 32)
+ static let defaultReviewBottomOffset: CGFloat = 16
}
@IBOutlet private weak var titleLabel: UILabel! {
@@ -30,12 +28,10 @@ final class UGCYourReviewCell: MWMTableViewCell {
}
}
- @IBOutlet private weak var ratingCollectionViewHeight: NSLayoutConstraint!
+ @IBOutlet private weak var reviewBottomOffset: NSLayoutConstraint!
@IBOutlet private weak var ratingCollectionView: UICollectionView! {
didSet {
ratingCollectionView.register(cellClass: UGCSummaryRatingStarsCell.self)
- let layout = ratingCollectionView.collectionViewLayout as! UICollectionViewFlowLayout
- layout.estimatedItemSize = Config.estimatedItemSize
}
}
@@ -44,49 +40,29 @@ final class UGCYourReviewCell: MWMTableViewCell {
override var frame: CGRect {
didSet {
if frame.size != oldValue.size {
- updateCollectionView(nil)
+ updateCollectionView()
}
}
}
@objc func config(yourReview: UGCYourReview, onUpdate: @escaping () -> Void) {
- let dateFormatter = DateFormatter()
- dateFormatter.dateStyle = .medium
- dateFormatter.timeStyle = .none
- dateLabel.text = dateFormatter.string(from: yourReview.date)
+ dateLabel.text = yourReview.date
self.yourReview = yourReview
reviewLabel.text = yourReview.text
+ reviewBottomOffset.constant = yourReview.text.isEmpty ? 0 : Config.defaultReviewBottomOffset
reviewLabel.onUpdate = onUpdate
- updateCollectionView { [weak self] in
- self?.ratingCollectionView.reloadSections(IndexSet(integer: 0))
- }
+ updateCollectionView()
isSeparatorHidden = true
}
override func didMoveToSuperview() {
super.didMoveToSuperview()
- updateCollectionView(nil)
+ updateCollectionView()
}
- private func updateCollectionView(_ updates: (() -> Void)?) {
- guard let sv = superview else { return }
+ private func updateCollectionView() {
DispatchQueue.main.async {
- let layout = self.ratingCollectionView.collectionViewLayout as! UICollectionViewFlowLayout
- let inset = layout.sectionInset
- let viewWidth = sv.size.width - inset.left - inset.right
- let maxItemWidth = layout.estimatedItemSize.width
-
- let ratingsCount = CGFloat(self.yourReview?.ratings.count ?? 0)
- let itemsPerRow = floor(min(max(viewWidth / maxItemWidth, Config.minItemsPerRow), ratingsCount))
- let itemWidth = floor(min((viewWidth - (itemsPerRow - 1) * Config.minimumInteritemSpacing) / itemsPerRow, maxItemWidth))
- let interitemSpacing = floor((viewWidth - itemWidth * itemsPerRow) / (itemsPerRow - 1))
- layout.minimumInteritemSpacing = interitemSpacing
- layout.itemSize = CGSize(width: itemWidth, height: Config.estimatedItemSize.height)
-
- assert(itemsPerRow > 0);
- let rowsCount = ceil(ratingsCount / itemsPerRow)
- self.ratingCollectionViewHeight.constant = rowsCount * Config.estimatedItemSize.height + (rowsCount - 1) * layout.minimumLineSpacing + inset.top + inset.bottom
- self.ratingCollectionView.performBatchUpdates(updates, completion: nil)
+ self.ratingCollectionView.reloadData()
}
}
}
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.xib b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.xib
index 5ea2a7cb5b..513045e878 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.xib
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCYourReviewCell.xib
@@ -5,7 +5,7 @@
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13174"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -63,13 +63,13 @@
<constraint firstItem="nht-6C-S3i" firstAttribute="top" secondItem="M3q-L0-4Y7" secondAttribute="top" constant="16" id="v5J-lZ-cdA"/>
</constraints>
</view>
- <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="none" prefetchingEnabled="NO" translatesAutoresizingMaskIntoConstraints="NO" id="w6j-GC-6Bv">
+ <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" bounces="NO" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="none" prefetchingEnabled="NO" translatesAutoresizingMaskIntoConstraints="NO" id="w6j-GC-6Bv">
<rect key="frame" x="0.0" y="135" width="320" height="55.5"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" priority="999" constant="56" id="2hn-mr-UAw"/>
</constraints>
- <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="12" minimumInteritemSpacing="16" id="MWR-PM-MMO">
+ <collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="12" minimumInteritemSpacing="16" id="MWR-PM-MMO">
<size key="itemSize" width="120" height="32"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
@@ -110,7 +110,7 @@
<connections>
<outlet property="dateLabel" destination="qZ5-I9-7dJ" id="Hkf-h6-ybf"/>
<outlet property="ratingCollectionView" destination="w6j-GC-6Bv" id="SbY-HY-zXO"/>
- <outlet property="ratingCollectionViewHeight" destination="2hn-mr-UAw" id="xbR-Dl-OR3"/>
+ <outlet property="reviewBottomOffset" destination="NW0-Eu-IsI" id="emL-VB-8lD"/>
<outlet property="reviewLabel" destination="G4x-pj-fmv" id="pWq-RG-xv0"/>
<outlet property="titleLabel" destination="nht-6C-S3i" id="1lQ-nA-n7z"/>
</connections>
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm
index f08e20d133..1049634f6e 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm
@@ -294,9 +294,9 @@ map<MetainfoRows, Class> const kMetaInfoCells = {
case Sections::HotelDescription: return data.descriptionRows.size();
case Sections::HotelFacilities: return data.hotelFacilitiesRows.size();
case Sections::HotelReviews: return data.hotelReviewsRows.size();
- case Sections::UGCRating: return [data.ugc ratingCellsCount];
- case Sections::UGCAddReview: return [data.ugc addReviewCellsCount];
- case Sections::UGCReviews: return MIN([data.ugc numberOfReviews], 3) + 1 /* More button */;
+ case Sections::UGCRating: return data.ugc.ratingCellsCount;
+ case Sections::UGCAddReview: return data.ugc.addReviewCellsCount;
+ case Sections::UGCReviews: return data.ugc.reviewRows.size();
}
}
@@ -523,14 +523,40 @@ map<MetainfoRows, Class> const kMetaInfoCells = {
auto c = static_cast<MWMUGCAddReviewCell *>(
[tableView dequeueReusableCellWithCellClass:cls indexPath:indexPath]);
c.onRateTap = ^(MWMRatingSummaryViewValueType value) {
- [delegate showUGCAddReview:value];
+ [delegate showUGCAddReview:value fromPreview:NO];
};
return c;
}
case Sections::UGCReviews:
{
auto ugc = data.ugc;
- if ([tableView numberOfRowsInSection:indexPath.section] - 1 == indexPath.row)
+ auto const & reviewRows = ugc.reviewRows;
+ using namespace ugc::view_model;
+ auto onUpdate = ^{
+ [tableView refresh];
+ };
+
+ switch (reviewRows[indexPath.row])
+ {
+ case ReviewRow::YourReview:
+ {
+ Class cls = [MWMUGCYourReviewCell class];
+ auto c = static_cast<MWMUGCYourReviewCell *>(
+ [tableView dequeueReusableCellWithCellClass:cls indexPath:indexPath]);
+ [c configWithYourReview:static_cast<MWMUGCYourReview *>([ugc reviewWithIndex:indexPath.row])
+ onUpdate:onUpdate];
+ return c;
+ }
+ case ReviewRow::Review:
+ {
+ Class cls = [MWMUGCReviewCell class];
+ auto c = static_cast<MWMUGCReviewCell *>(
+ [tableView dequeueReusableCellWithCellClass:cls indexPath:indexPath]);
+ [c configWithReview:static_cast<MWMUGCReview *>([ugc reviewWithIndex:indexPath.row])
+ onUpdate:onUpdate];
+ return c;
+ }
+ case ReviewRow::MoreReviews:
{
Class cls = [MWMPlacePageButtonCell class];
auto c = static_cast<MWMPlacePageButtonCell *>(
@@ -542,23 +568,7 @@ map<MetainfoRows, Class> const kMetaInfoCells = {
isInsetButton:NO];
return c;
}
- auto onUpdate = ^{
- [tableView refresh];
- };
- id review = [ugc reviewWithIndex:indexPath.row];
- if ([review isKindOfClass:[MWMUGCYourReview class]])
- {
- Class cls = [MWMUGCYourReviewCell class];
- auto c = static_cast<MWMUGCYourReviewCell *>(
- [tableView dequeueReusableCellWithCellClass:cls indexPath:indexPath]);
- [c configWithYourReview:static_cast<MWMUGCYourReview *>(review) onUpdate:onUpdate];
- return c;
}
- Class cls = [MWMUGCReviewCell class];
- auto c = static_cast<MWMUGCReviewCell *>(
- [tableView dequeueReusableCellWithCellClass:cls indexPath:indexPath]);
- [c configWithReview:static_cast<MWMUGCReview *>(review) onUpdate:onUpdate];
- return c;
}
}
}
@@ -689,7 +699,9 @@ map<MetainfoRows, Class> const kMetaInfoCells = {
auto tv = self.placePageView.tableView;
[tv reloadSections:[NSIndexSet indexSetWithIndex:0]
withRowAnimation:UITableViewRowAnimationFade];
- [self.previewLayoutHelper notifyHeightWashChanded];
+ dispatch_async(dispatch_get_main_queue(), ^{
+ [self.previewLayoutHelper notifyHeightWashChanded];
+ });
};
data.sectionsAreReadyCallback = ^(NSRange const & range, MWMPlacePageData * d, BOOL isSection) {
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/MWMPPPreviewLayoutHelper.mm b/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/MWMPPPreviewLayoutHelper.mm
index 1bc28d29cf..08ed5b49bd 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/MWMPPPreviewLayoutHelper.mm
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/MWMPPPreviewLayoutHelper.mm
@@ -248,10 +248,12 @@ array<Class, 8> const kPreviewCells = {{[_MWMPPPTitle class],
[reviewCell configWithRating:data.ugc.summaryRating
canAddReview:data.ugc.isUGCUpdateEmpty
reviewsCount:data.ugc.totalReviewsCount
- priceSetter:^(UILabel * _Nonnull) {
+ priceSetter:^(UILabel * _Nonnull pricingLabel) {
+ pricingLabel.text = @"";
}
onAddReview:^{
- [MWMPlacePageManagerHelper showUGCAddReview:MWMRatingSummaryViewValueTypeGood];
+ [MWMPlacePageManagerHelper showUGCAddReview:MWMRatingSummaryViewValueTypeNoValue
+ fromPreview:YES];
}];
}
return reviewCell;
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.swift
index 57e76e113d..43beee1a6e 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.swift
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.swift
@@ -20,7 +20,6 @@ final class PPPReview: MWMTableViewCell {
addReviewButton.setTitle("+ \(L("leave_a_review"))", for: .normal)
addReviewButton.setTitleColor(UIColor.white, for: .normal)
addReviewButton.titleLabel?.font = UIFont.bold12()
- addReviewButton.layer.cornerRadius = addReviewButton.height / 2
}
}
@@ -29,16 +28,19 @@ final class PPPReview: MWMTableViewCell {
@objc func config(rating: UGCRatingValueType, canAddReview: Bool, reviewsCount: UInt, priceSetter: (UILabel) -> Void, onAddReview: @escaping () -> Void) {
self.onAddReview = onAddReview
ratingSummaryView.textFont = UIFont.bold12()
- addReviewButton.isHidden = true
- pricingLabel.isHidden = true
ratingSummaryView.value = rating.value
ratingSummaryView.type = rating.type
+ ratingSummaryView.backgroundOpacity = 0.05
+ addReviewButton.isHidden = true
+ pricingLabel.isHidden = true
+ reviewsLabel.isHidden = false
if rating.type == .noValue {
if canAddReview {
ratingSummaryView.noValueImage = #imageLiteral(resourceName: "ic_12px_rating_normal")
ratingSummaryView.noValueColor = UIColor.blackSecondaryText()
reviewsLabel.text = L("placepage_no_reviews")
addReviewButton.isHidden = false
+ addReviewButton.layer.cornerRadius = addReviewButton.height / 2
} else {
ratingSummaryView.noValueImage = #imageLiteral(resourceName: "ic_12px_radio_on")
ratingSummaryView.noValueColor = UIColor.linkBlue()
@@ -54,7 +56,7 @@ final class PPPReview: MWMTableViewCell {
ratingSummaryView.excellentColor = UIColor.ratingGreen()
if reviewsCount > 0 {
- reviewsLabel.text = String(coreFormat: L("place_page_summary_rating_description"), arguments: [reviewsCount])
+ reviewsLabel.text = String(coreFormat: L("placepage_summary_rating_description"), arguments: [reviewsCount])
reviewsLabel.isHidden = false
} else {
reviewsLabel.text = ""
diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.xib b/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.xib
index ce8229438d..060306470c 100644
--- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.xib
+++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Preview/PPPReview.xib
@@ -5,7 +5,7 @@
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13174"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@@ -19,7 +19,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="67u-jC-41D" customClass="RatingSummaryView" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="12" y="8" width="48" height="21.5"/>
+ <rect key="frame" x="12" y="8" width="48" height="17.5"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="width" constant="48" placeholder="YES" id="Ebr-Th-1jm"/>
@@ -76,7 +76,7 @@
</userDefinedRuntimeAttributes>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ga0-6D-Ttl">
- <rect key="frame" x="190" y="8" width="118" height="21"/>
+ <rect key="frame" x="190" y="8" width="118" height="17"/>
<inset key="contentEdgeInsets" minX="8" minY="2" maxX="8" maxY="2"/>
<state key="normal" title="+ Leave review"/>
<connections>
@@ -93,7 +93,7 @@
<constraint firstAttribute="bottom" secondItem="t1Z-Sp-Xi5" secondAttribute="bottom" id="MXa-Ha-DVe"/>
<constraint firstItem="Thk-j3-Or0" firstAttribute="centerY" secondItem="Zth-C7-aXm" secondAttribute="centerY" id="NbS-0e-2Dh"/>
<constraint firstAttribute="trailing" secondItem="t1Z-Sp-Xi5" secondAttribute="trailing" id="Ygd-7d-cGu"/>
- <constraint firstAttribute="bottom" secondItem="67u-jC-41D" secondAttribute="bottom" constant="8" id="dOX-Tv-3un"/>
+ <constraint firstAttribute="bottom" secondItem="67u-jC-41D" secondAttribute="bottom" constant="12" id="dOX-Tv-3un"/>
<constraint firstAttribute="trailing" secondItem="Thk-j3-Or0" secondAttribute="trailing" constant="16" id="dgG-Cd-fzs"/>
<constraint firstItem="Ga0-6D-Ttl" firstAttribute="top" secondItem="67u-jC-41D" secondAttribute="top" id="hGC-mM-qmJ"/>
<constraint firstItem="Ga0-6D-Ttl" firstAttribute="bottom" secondItem="67u-jC-41D" secondAttribute="bottom" id="j4s-Yj-bcx"/>
diff --git a/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.h b/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.h
index 6e0aa2d906..e5ed1c4d95 100644
--- a/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.h
+++ b/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.h
@@ -1,5 +1,7 @@
#import "MWMReviewsViewModelProtocol.h"
+#include <vector>
+
typedef NS_ENUM(NSUInteger, MWMUGCViewModelPrice) {
MWMUGCViewModelPriceLow,
MWMUGCViewModelPriceMedium,
@@ -10,7 +12,17 @@ namespace ugc
{
struct UGC;
struct UGCUpdate;
-}
+
+namespace view_model
+{
+enum class ReviewRow
+{
+ YourReview,
+ Review,
+ MoreReviews
+};
+} // namespace view_model
+} // namespace ugc
@class MWMUGCRatingValueType;
@class MWMUGCRatingStars;
@@ -27,6 +39,7 @@ struct UGCUpdate;
- (NSUInteger)ratingCellsCount;
- (NSUInteger)addReviewCellsCount;
+- (std::vector<ugc::view_model::ReviewRow> const &)reviewRows;
- (NSUInteger)totalReviewsCount;
- (MWMUGCRatingValueType *)summaryRating;
diff --git a/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.mm b/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.mm
index 2fd27301af..82ea328d9d 100644
--- a/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.mm
+++ b/iphone/Maps/UI/PlacePage/UGCViewModel/MWMUGCViewModel.mm
@@ -4,6 +4,8 @@
#include "ugc/types.hpp"
+#include <chrono>
+
using namespace place_page;
namespace
@@ -35,6 +37,7 @@ MWMUGCRatingValueType * ratingValueType(float rating)
place_page::Info m_info;
ugc::UGC m_ugc;
ugc::UGCUpdate m_ugcUpdate;
+ std::vector<ugc::view_model::ReviewRow> m_reviewRows;
}
- (instancetype)initWithUGC:(ugc::UGC const &)ugc update:(ugc::UGCUpdate const &)update
@@ -44,10 +47,34 @@ MWMUGCRatingValueType * ratingValueType(float rating)
{
m_ugc = ugc;
m_ugcUpdate = update;
+ [self fillReviewRows];
}
return self;
}
+- (void)fillReviewRows
+{
+ using namespace ugc::view_model;
+ m_reviewRows.clear();
+ if (!m_ugcUpdate.IsEmpty())
+ m_reviewRows.push_back(ReviewRow::YourReview);
+
+ if (m_ugc.IsEmpty())
+ return;
+
+ auto const reviewsSize = m_ugc.m_reviews.size();
+ auto constexpr kMaxSize = 3;
+ if (reviewsSize > kMaxSize)
+ {
+ m_reviewRows.insert(m_reviewRows.end(), kMaxSize, ReviewRow::Review);
+ m_reviewRows.push_back(ReviewRow::MoreReviews);
+ }
+ else
+ {
+ m_reviewRows.insert(m_reviewRows.end(), reviewsSize, ReviewRow::Review);
+ }
+}
+
- (BOOL)isUGCEmpty { return static_cast<BOOL>(m_ugc.IsEmpty()); }
- (BOOL)isUGCUpdateEmpty { return static_cast<BOOL>(m_ugcUpdate.IsEmpty()); }
- (NSUInteger)ratingCellsCount { return 1; }
@@ -55,12 +82,13 @@ MWMUGCRatingValueType * ratingValueType(float rating)
- (NSUInteger)totalReviewsCount { return static_cast<NSUInteger>(m_ugc.m_basedOn); }
- (MWMUGCRatingValueType *)summaryRating { return ratingValueType(m_ugc.m_totalRating); }
- (NSArray<MWMUGCRatingStars *> *)ratings { return starsRatings(m_ugc.m_ratings); }
+- (std::vector<ugc::view_model::ReviewRow> const &)reviewRows { return m_reviewRows; }
#pragma mark - MWMReviewsViewModelProtocol
-- (NSUInteger)numberOfReviews { return m_ugc.m_reviews.size() + !self.isUGCUpdateEmpty; }
+- (NSInteger)numberOfReviews { return m_ugc.m_reviews.size() + !self.isUGCUpdateEmpty; }
-- (id<MWMReviewProtocol> _Nonnull)reviewWithIndex:(NSUInteger)index
+- (id<MWMReviewProtocol> _Nonnull)reviewWithIndex:(NSInteger)index
{
auto idx = index;
NSAssert(idx >= 0, @"Invalid index");
@@ -70,8 +98,7 @@ MWMUGCRatingValueType * ratingValueType(float rating)
{
auto const & review = m_ugcUpdate;
return [[MWMUGCYourReview alloc]
- initWithDate:[NSDate
- dateWithTimeIntervalSince1970:review.m_time.time_since_epoch().count()]
+ initWithDate:[self reviewDate:review.m_time]
text:@(review.m_text.m_text.c_str())
ratings:starsRatings(review.m_ratings)];
}
@@ -81,9 +108,21 @@ MWMUGCRatingValueType * ratingValueType(float rating)
auto const & review = m_ugc.m_reviews[idx];
return [[MWMUGCReview alloc]
initWithTitle:@(review.m_author.c_str())
- date:[NSDate dateWithTimeIntervalSince1970:review.m_time.time_since_epoch().count()]
+ date:[self reviewDate:review.m_time]
text:@(review.m_text.m_text.c_str())
rating:ratingValueType(review.m_rating)];
}
+#pragma mark - Propertis
+
+- (NSString *)reviewDate:(ugc::Time const &) time
+{
+ using namespace std::chrono;
+ auto reviewDate = [NSDate dateWithTimeIntervalSince1970:duration_cast<seconds>(time.time_since_epoch()).count()];
+ auto formatter = [[NSDateFormatter alloc] init];
+ formatter.dateStyle = NSDateFormatterLongStyle;
+ formatter.timeStyle = NSDateFormatterNoStyle;
+ return [formatter stringFromDate:reviewDate];
+}
+
@end
diff --git a/iphone/Maps/UI/Reviews/MWMReviewProtocol.h b/iphone/Maps/UI/Reviews/MWMReviewProtocol.h
index 9189030b9d..11303b5e22 100644
--- a/iphone/Maps/UI/Reviews/MWMReviewProtocol.h
+++ b/iphone/Maps/UI/Reviews/MWMReviewProtocol.h
@@ -1,4 +1,4 @@
@protocol MWMReviewProtocol
-@property(nonatomic, readonly, copy) NSDate * _Nonnull date;
+@property(nonatomic, readonly, copy) NSString * _Nonnull date;
@property(nonatomic, readonly, copy) NSString * _Nonnull text;
@end
diff --git a/iphone/Maps/UI/Storyboard/Settings.storyboard b/iphone/Maps/UI/Storyboard/Settings.storyboard
index 0950516824..31b0a34d2c 100644
--- a/iphone/Maps/UI/Storyboard/Settings.storyboard
+++ b/iphone/Maps/UI/Storyboard/Settings.storyboard
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12120" systemVersion="16F73" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12088"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13174"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -25,7 +25,7 @@
<rect key="frame" x="0.0" y="35" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="yh8-cr-14c" id="MYm-HI-oOR">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Профиль" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8jb-wX-P4h">
@@ -61,10 +61,10 @@
<tableViewSection headerTitle="ОБЩИЕ НАСТРОЙКИ" footerTitle="Сбор статистики помогает нам совершенствовать приложение." id="Swo-3Q-lWx">
<cells>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="Igk-BI-aHN" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="135" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="134.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Igk-BI-aHN" id="Qae-gb-v0B">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Единицы измерения" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RB1-Nr-K3T">
@@ -96,10 +96,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="LYi-oF-eGj" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="179" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="178.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="LYi-oF-eGj" id="6SA-kx-JeG">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Кнопки масштаба" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="OM9-RZ-sca">
@@ -121,7 +121,7 @@
<constraint firstAttribute="trailingMargin" secondItem="taQ-3Z-nh3" secondAttribute="trailing" constant="8" id="ZPS-qE-MFM"/>
<constraint firstItem="taQ-3Z-nh3" firstAttribute="centerY" secondItem="6SA-kx-JeG" secondAttribute="centerY" id="apr-Cu-p8b"/>
<constraint firstItem="OM9-RZ-sca" firstAttribute="top" secondItem="6SA-kx-JeG" secondAttribute="topMargin" constant="3" id="sbR-YS-hYt"/>
- <constraint firstItem="OM9-RZ-sca" firstAttribute="leading" secondItem="6SA-kx-JeG" secondAttribute="leadingMargin" constant="8" id="zFD-3E-gZ3"/>
+ <constraint firstItem="OM9-RZ-sca" firstAttribute="leading" secondItem="6SA-kx-JeG" secondAttribute="leading" constant="16" id="zFD-3E-gZ3"/>
</constraints>
</tableViewCellContentView>
<connections>
@@ -130,10 +130,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="0Lf-xU-P2U" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="223" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="222.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="0Lf-xU-P2U" id="3Q1-iE-5pP">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3D здания" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="tU0-tQ-usy">
@@ -154,7 +154,7 @@
<constraint firstAttribute="bottomMargin" secondItem="tU0-tQ-usy" secondAttribute="bottom" constant="3.5" id="AdG-Q3-p1f"/>
<constraint firstAttribute="trailingMargin" secondItem="aMo-Df-9LS" secondAttribute="trailing" constant="8" id="cZ5-JM-phl"/>
<constraint firstItem="aMo-Df-9LS" firstAttribute="leading" secondItem="tU0-tQ-usy" secondAttribute="trailing" constant="8" id="tiP-YH-qIb"/>
- <constraint firstItem="tU0-tQ-usy" firstAttribute="leading" secondItem="3Q1-iE-5pP" secondAttribute="leadingMargin" constant="8" id="y3S-3C-WMZ"/>
+ <constraint firstItem="tU0-tQ-usy" firstAttribute="leading" secondItem="3Q1-iE-5pP" secondAttribute="leading" constant="16" id="y3S-3C-WMZ"/>
<constraint firstItem="aMo-Df-9LS" firstAttribute="centerY" secondItem="3Q1-iE-5pP" secondAttribute="centerY" id="yzl-H4-Wgy"/>
</constraints>
</tableViewCellContentView>
@@ -164,10 +164,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="eE4-OC-9uX" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="267" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="266.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="eE4-OC-9uX" id="xJx-2K-AIP">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Автозагрузка" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="6ZU-5V-v0J">
@@ -188,7 +188,7 @@
<constraint firstAttribute="trailingMargin" secondItem="f8R-Di-osU" secondAttribute="trailing" constant="8" id="5qT-Sx-hDe"/>
<constraint firstItem="f8R-Di-osU" firstAttribute="leading" secondItem="6ZU-5V-v0J" secondAttribute="trailing" constant="8" id="96R-v5-1OV"/>
<constraint firstAttribute="bottomMargin" secondItem="6ZU-5V-v0J" secondAttribute="bottom" constant="3.5" id="9hg-zy-Srg"/>
- <constraint firstItem="6ZU-5V-v0J" firstAttribute="leading" secondItem="xJx-2K-AIP" secondAttribute="leadingMargin" constant="8" id="hnF-na-1MH"/>
+ <constraint firstItem="6ZU-5V-v0J" firstAttribute="leading" secondItem="xJx-2K-AIP" secondAttribute="leading" constant="16" id="hnF-na-1MH"/>
<constraint firstItem="f8R-Di-osU" firstAttribute="centerY" secondItem="xJx-2K-AIP" secondAttribute="centerY" id="nux-0a-Yed"/>
</constraints>
</tableViewCellContentView>
@@ -198,10 +198,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="6NC-QX-WiF" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="311" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="310.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="6NC-QX-WiF" id="gGY-3t-Lik">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Мобильный интернет" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wjW-GA-wVI">
@@ -233,10 +233,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="VyW-Wh-2QX" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="355" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="354.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="VyW-Wh-2QX" id="ihq-PO-ic8">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Недавно пройденый путь" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3ew-eh-kVT">
@@ -268,10 +268,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="pri-6G-9Zb" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="399" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="398.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="pri-6G-9Zb" id="Zp6-d6-V6o">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Увеличенные подписи" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="uNY-c3-bGX">
@@ -288,7 +288,7 @@
</switch>
</subviews>
<constraints>
- <constraint firstItem="uNY-c3-bGX" firstAttribute="leading" secondItem="Zp6-d6-V6o" secondAttribute="leadingMargin" constant="8" id="5JH-xh-fGi"/>
+ <constraint firstItem="uNY-c3-bGX" firstAttribute="leading" secondItem="Zp6-d6-V6o" secondAttribute="leading" constant="16" id="5JH-xh-fGi"/>
<constraint firstItem="uNY-c3-bGX" firstAttribute="top" secondItem="Zp6-d6-V6o" secondAttribute="topMargin" constant="3" id="RSb-1a-odZ"/>
<constraint firstAttribute="trailingMargin" secondItem="bAw-rB-tR1" secondAttribute="trailing" constant="8" id="ZEX-SS-Uyy"/>
<constraint firstItem="bAw-rB-tR1" firstAttribute="leading" secondItem="uNY-c3-bGX" secondAttribute="trailing" constant="8" id="iZ5-e0-RS9"/>
@@ -305,7 +305,7 @@
<rect key="frame" x="0.0" y="442.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="f8Z-Jk-JIR" id="1QF-6L-hJp">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Увеличенные подписи" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="NQ0-0Q-Y8K">
@@ -326,7 +326,7 @@
<constraint firstItem="tuY-xc-X6P" firstAttribute="leading" secondItem="NQ0-0Q-Y8K" secondAttribute="trailing" constant="8" id="kZB-B3-pzz"/>
<constraint firstItem="tuY-xc-X6P" firstAttribute="centerY" secondItem="1QF-6L-hJp" secondAttribute="centerY" id="sSK-jJ-0CC"/>
<constraint firstAttribute="bottomMargin" secondItem="NQ0-0Q-Y8K" secondAttribute="bottom" constant="3.5" id="sge-ih-TLc"/>
- <constraint firstItem="NQ0-0Q-Y8K" firstAttribute="leading" secondItem="1QF-6L-hJp" secondAttribute="leadingMargin" constant="8" id="ssf-uE-aDZ"/>
+ <constraint firstItem="NQ0-0Q-Y8K" firstAttribute="leading" secondItem="1QF-6L-hJp" secondAttribute="leading" constant="16" id="ssf-uE-aDZ"/>
<constraint firstItem="NQ0-0Q-Y8K" firstAttribute="top" secondItem="1QF-6L-hJp" secondAttribute="topMargin" constant="3" id="zfH-b3-h9L"/>
</constraints>
</tableViewCellContentView>
@@ -336,10 +336,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="P5e-67-f4k" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="443" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="486.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="P5e-67-f4k" id="RlB-hW-A2l">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Калибровка компаса" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="Xqo-QZ-3fd">
@@ -356,7 +356,7 @@
</switch>
</subviews>
<constraints>
- <constraint firstItem="Xqo-QZ-3fd" firstAttribute="leading" secondItem="RlB-hW-A2l" secondAttribute="leadingMargin" constant="8" id="HMj-8E-9dM"/>
+ <constraint firstItem="Xqo-QZ-3fd" firstAttribute="leading" secondItem="RlB-hW-A2l" secondAttribute="leading" constant="16" id="HMj-8E-9dM"/>
<constraint firstItem="hRC-jd-ViV" firstAttribute="centerY" secondItem="RlB-hW-A2l" secondAttribute="centerY" id="IrI-X9-cDr"/>
<constraint firstAttribute="trailingMargin" secondItem="hRC-jd-ViV" secondAttribute="trailing" constant="8" id="N8S-0s-WMG"/>
<constraint firstItem="Xqo-QZ-3fd" firstAttribute="top" secondItem="RlB-hW-A2l" secondAttribute="topMargin" constant="3" id="OXk-9l-5PP"/>
@@ -370,10 +370,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="F1Y-qu-HAo" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="487" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="530.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="F1Y-qu-HAo" id="59j-Py-CGY">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Показывать предложения" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="g5e-wH-Cqs">
@@ -391,7 +391,7 @@
</subviews>
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="fDF-O1-urS" secondAttribute="trailing" constant="8" id="2Dc-iL-dEP"/>
- <constraint firstItem="g5e-wH-Cqs" firstAttribute="leading" secondItem="59j-Py-CGY" secondAttribute="leadingMargin" constant="8" id="3vv-zc-VzA"/>
+ <constraint firstItem="g5e-wH-Cqs" firstAttribute="leading" secondItem="59j-Py-CGY" secondAttribute="leading" constant="16" id="3vv-zc-VzA"/>
<constraint firstAttribute="bottomMargin" secondItem="g5e-wH-Cqs" secondAttribute="bottom" constant="3.5" id="ByH-QR-Xvz"/>
<constraint firstItem="g5e-wH-Cqs" firstAttribute="top" secondItem="59j-Py-CGY" secondAttribute="topMargin" constant="3" id="GPk-Kh-Nkn"/>
<constraint firstItem="fDF-O1-urS" firstAttribute="leading" secondItem="g5e-wH-Cqs" secondAttribute="trailing" constant="8" id="azD-PN-ple"/>
@@ -404,10 +404,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="NOt-bc-7ls" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="531" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="574.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="NOt-bc-7ls" id="xdj-y5-zpk">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Сбор статистики" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="K9e-I1-pZu">
@@ -426,7 +426,7 @@
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="Y8g-7o-Lbp" secondAttribute="trailing" constant="8" id="0ea-lb-yKQ"/>
<constraint firstItem="Y8g-7o-Lbp" firstAttribute="leading" secondItem="K9e-I1-pZu" secondAttribute="trailing" constant="8" id="4kv-L1-0PW"/>
- <constraint firstItem="K9e-I1-pZu" firstAttribute="leading" secondItem="xdj-y5-zpk" secondAttribute="leadingMargin" constant="8" id="CKf-VS-yE9"/>
+ <constraint firstItem="K9e-I1-pZu" firstAttribute="leading" secondItem="xdj-y5-zpk" secondAttribute="leading" constant="16" id="CKf-VS-yE9"/>
<constraint firstItem="K9e-I1-pZu" firstAttribute="top" secondItem="xdj-y5-zpk" secondAttribute="topMargin" constant="3" id="c8E-CL-9S8"/>
<constraint firstItem="Y8g-7o-Lbp" firstAttribute="centerY" secondItem="xdj-y5-zpk" secondAttribute="centerY" id="pAd-3H-9vd"/>
<constraint firstAttribute="bottomMargin" secondItem="K9e-I1-pZu" secondAttribute="bottom" constant="3.5" id="zwv-h0-yDO"/>
@@ -442,10 +442,10 @@
<tableViewSection headerTitle="НАВИГАЦИЯ" id="E4E-hs-9xW">
<cells>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="QNt-XC-xma" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="660" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="702.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="QNt-XC-xma" id="fBV-aJ-Mo8">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ночной режим" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="q7P-cj-3tZ">
@@ -477,10 +477,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="X5R-fv-yd7" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="704" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="746.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="X5R-fv-yd7" id="s7y-Nu-Y01">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Перспективный вид" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="tmn-CU-6EB">
@@ -500,7 +500,7 @@
<constraint firstAttribute="trailingMargin" secondItem="m0S-BP-FrU" secondAttribute="trailing" constant="8" id="D1q-Sn-zA8"/>
<constraint firstItem="tmn-CU-6EB" firstAttribute="top" secondItem="s7y-Nu-Y01" secondAttribute="topMargin" constant="3" id="DHg-8Z-KCj"/>
<constraint firstItem="m0S-BP-FrU" firstAttribute="centerY" secondItem="s7y-Nu-Y01" secondAttribute="centerY" id="dzs-dj-pS0"/>
- <constraint firstItem="tmn-CU-6EB" firstAttribute="leading" secondItem="s7y-Nu-Y01" secondAttribute="leadingMargin" constant="8" id="f1M-IZ-UIr"/>
+ <constraint firstItem="tmn-CU-6EB" firstAttribute="leading" secondItem="s7y-Nu-Y01" secondAttribute="leading" constant="16" id="f1M-IZ-UIr"/>
<constraint firstItem="m0S-BP-FrU" firstAttribute="leading" secondItem="tmn-CU-6EB" secondAttribute="trailing" constant="8" id="qVe-Y0-ne8"/>
<constraint firstAttribute="bottomMargin" secondItem="tmn-CU-6EB" secondAttribute="bottom" constant="3.5" id="rka-6b-tiF"/>
</constraints>
@@ -511,10 +511,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="veW-Fm-2Hl" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="748" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="790.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="veW-Fm-2Hl" id="AP7-jd-F4b">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Автозум" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="qL3-bA-5tn">
@@ -535,7 +535,7 @@
<constraint firstItem="ipg-f4-K5Q" firstAttribute="centerY" secondItem="AP7-jd-F4b" secondAttribute="centerY" id="C2m-kC-3it"/>
<constraint firstAttribute="bottomMargin" secondItem="qL3-bA-5tn" secondAttribute="bottom" constant="3.5" id="DEv-us-RQ9"/>
<constraint firstItem="qL3-bA-5tn" firstAttribute="top" secondItem="AP7-jd-F4b" secondAttribute="topMargin" constant="3" id="mvl-5S-pDv"/>
- <constraint firstItem="qL3-bA-5tn" firstAttribute="leading" secondItem="AP7-jd-F4b" secondAttribute="leadingMargin" constant="8" id="rPq-mi-VBA"/>
+ <constraint firstItem="qL3-bA-5tn" firstAttribute="leading" secondItem="AP7-jd-F4b" secondAttribute="leading" constant="16" id="rPq-mi-VBA"/>
<constraint firstItem="ipg-f4-K5Q" firstAttribute="leading" secondItem="qL3-bA-5tn" secondAttribute="trailing" constant="8" id="shR-d1-nGm"/>
</constraints>
</tableViewCellContentView>
@@ -545,10 +545,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="nED-2n-gN6" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="792" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="834.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="nED-2n-gN6" id="2oQ-0g-poj">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Голосовые инструкции" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2v2-mU-aWi">
@@ -580,10 +580,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSwitchCell" id="QMS-lo-BP8" customClass="SettingsTableViewSwitchCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="836" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="878.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="QMS-lo-BP8" id="ah4-Pf-B9S">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Автозум" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="13" translatesAutoresizingMaskIntoConstraints="NO" id="LBZ-UI-Qsf">
@@ -605,7 +605,7 @@
<constraint firstItem="LBZ-UI-Qsf" firstAttribute="top" secondItem="ah4-Pf-B9S" secondAttribute="topMargin" constant="3" id="h6E-SK-dnH"/>
<constraint firstItem="cRT-IM-STn" firstAttribute="leading" secondItem="LBZ-UI-Qsf" secondAttribute="trailing" constant="8" id="pyU-hI-4kC"/>
<constraint firstAttribute="trailingMargin" secondItem="cRT-IM-STn" secondAttribute="trailing" constant="8" id="qSp-oE-kXH"/>
- <constraint firstItem="LBZ-UI-Qsf" firstAttribute="leading" secondItem="ah4-Pf-B9S" secondAttribute="leadingMargin" constant="8" id="shq-YL-Wwe"/>
+ <constraint firstItem="LBZ-UI-Qsf" firstAttribute="leading" secondItem="ah4-Pf-B9S" secondAttribute="leading" constant="16" id="shq-YL-Wwe"/>
</constraints>
</tableViewCellContentView>
<connections>
@@ -618,10 +618,10 @@
<tableViewSection headerTitle="ИНФОРМАЦИЯ" id="i4H-WV-BaS">
<cells>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="JTZ-K9-RVv" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="929" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="970.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="JTZ-K9-RVv" id="mHA-wn-hse">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Справочный центр" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7ty-Jh-0Rp">
@@ -653,10 +653,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="Kv3-pO-jV5" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="973" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="1014.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Kv3-pO-jV5" id="8mJ-wm-9uJ">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="О приложении" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cS1-Lw-pFx">
@@ -751,7 +751,7 @@
<rect key="frame" x="0.0" y="35" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Hgm-jL-Gnn" id="LeE-yP-Eoi">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Auto" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sHx-XL-o9h">
@@ -767,7 +767,7 @@
</label>
</subviews>
<constraints>
- <constraint firstItem="sHx-XL-o9h" firstAttribute="leading" secondItem="LeE-yP-Eoi" secondAttribute="leadingMargin" constant="8" id="NIa-G2-3TK"/>
+ <constraint firstItem="sHx-XL-o9h" firstAttribute="leading" secondItem="LeE-yP-Eoi" secondAttribute="leading" constant="16" id="NIa-G2-3TK"/>
<constraint firstAttribute="trailingMargin" secondItem="sHx-XL-o9h" secondAttribute="trailing" constant="10" id="O0j-lU-dvy"/>
<constraint firstAttribute="bottomMargin" secondItem="sHx-XL-o9h" secondAttribute="bottom" constant="3.5" id="pZw-ZI-MFG"/>
<constraint firstItem="sHx-XL-o9h" firstAttribute="top" secondItem="LeE-yP-Eoi" secondAttribute="topMargin" constant="3" id="yw2-AG-4Y6"/>
@@ -781,7 +781,7 @@
<rect key="frame" x="0.0" y="79" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="WyO-qs-a7i" id="q2k-AU-VdG">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="On" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="um4-D2-sR5">
@@ -797,7 +797,7 @@
</label>
</subviews>
<constraints>
- <constraint firstItem="um4-D2-sR5" firstAttribute="leading" secondItem="q2k-AU-VdG" secondAttribute="leadingMargin" constant="8" id="APc-gM-wmS"/>
+ <constraint firstItem="um4-D2-sR5" firstAttribute="leading" secondItem="q2k-AU-VdG" secondAttribute="leading" constant="16" id="APc-gM-wmS"/>
<constraint firstAttribute="trailingMargin" secondItem="um4-D2-sR5" secondAttribute="trailing" constant="10" id="Huc-DK-OVi"/>
<constraint firstAttribute="bottomMargin" secondItem="um4-D2-sR5" secondAttribute="bottom" constant="3.5" id="RoM-U8-Vo7"/>
<constraint firstItem="um4-D2-sR5" firstAttribute="top" secondItem="q2k-AU-VdG" secondAttribute="topMargin" constant="3" id="zoa-XR-3HA"/>
@@ -811,7 +811,7 @@
<rect key="frame" x="0.0" y="123" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="HHw-BT-UeJ" id="WD5-kW-BlC">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Off" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="abU-K0-dr3">
@@ -830,7 +830,7 @@
<constraint firstAttribute="trailingMargin" secondItem="abU-K0-dr3" secondAttribute="trailing" constant="10" id="AFk-lK-YpH"/>
<constraint firstAttribute="bottomMargin" secondItem="abU-K0-dr3" secondAttribute="bottom" constant="3.5" id="bU5-gP-5eU"/>
<constraint firstItem="abU-K0-dr3" firstAttribute="top" secondItem="WD5-kW-BlC" secondAttribute="topMargin" constant="3" id="m2g-e7-Xq6"/>
- <constraint firstItem="abU-K0-dr3" firstAttribute="leading" secondItem="WD5-kW-BlC" secondAttribute="leadingMargin" constant="8" id="s24-rN-zC6"/>
+ <constraint firstItem="abU-K0-dr3" firstAttribute="leading" secondItem="WD5-kW-BlC" secondAttribute="leading" constant="16" id="s24-rN-zC6"/>
</constraints>
</tableViewCellContentView>
<connections>
@@ -870,7 +870,7 @@
<rect key="frame" x="0.0" y="35" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="HL5-jQ-yNK" id="DYw-KH-oDU">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="None" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2i3-c9-tdU">
@@ -887,7 +887,7 @@
</subviews>
<constraints>
<constraint firstAttribute="bottomMargin" secondItem="2i3-c9-tdU" secondAttribute="bottom" constant="3.5" id="15b-Ci-PLU"/>
- <constraint firstItem="2i3-c9-tdU" firstAttribute="leading" secondItem="DYw-KH-oDU" secondAttribute="leadingMargin" constant="8" id="ACL-4X-KDJ"/>
+ <constraint firstItem="2i3-c9-tdU" firstAttribute="leading" secondItem="DYw-KH-oDU" secondAttribute="leading" constant="16" id="ACL-4X-KDJ"/>
<constraint firstAttribute="trailingMargin" secondItem="2i3-c9-tdU" secondAttribute="trailing" constant="10" id="MeP-W4-fXQ"/>
<constraint firstItem="2i3-c9-tdU" firstAttribute="top" secondItem="DYw-KH-oDU" secondAttribute="topMargin" constant="3" id="NN8-hB-oG8"/>
</constraints>
@@ -900,7 +900,7 @@
<rect key="frame" x="0.0" y="79" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="8Cq-dm-roX" id="62b-vT-xng">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1 hour" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="J1O-iW-GF3">
@@ -918,7 +918,7 @@
<constraints>
<constraint firstAttribute="bottomMargin" secondItem="J1O-iW-GF3" secondAttribute="bottom" constant="3.5" id="O3s-Ln-bmV"/>
<constraint firstAttribute="trailingMargin" secondItem="J1O-iW-GF3" secondAttribute="trailing" constant="10" id="c3w-aI-7Se"/>
- <constraint firstItem="J1O-iW-GF3" firstAttribute="leading" secondItem="62b-vT-xng" secondAttribute="leadingMargin" constant="8" id="cDB-yp-TEw"/>
+ <constraint firstItem="J1O-iW-GF3" firstAttribute="leading" secondItem="62b-vT-xng" secondAttribute="leading" constant="16" id="cDB-yp-TEw"/>
<constraint firstItem="J1O-iW-GF3" firstAttribute="top" secondItem="62b-vT-xng" secondAttribute="topMargin" constant="3" id="l65-YD-2Ix"/>
</constraints>
</tableViewCellContentView>
@@ -930,7 +930,7 @@
<rect key="frame" x="0.0" y="123" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="DIL-q2-mUp" id="IqW-Xu-xVP">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2 hours" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="55i-C3-b9S">
@@ -947,7 +947,7 @@
</subviews>
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="55i-C3-b9S" secondAttribute="trailing" constant="10" id="a80-KJ-Rds"/>
- <constraint firstItem="55i-C3-b9S" firstAttribute="leading" secondItem="IqW-Xu-xVP" secondAttribute="leadingMargin" constant="8" id="aqW-v2-APZ"/>
+ <constraint firstItem="55i-C3-b9S" firstAttribute="leading" secondItem="IqW-Xu-xVP" secondAttribute="leading" constant="16" id="aqW-v2-APZ"/>
<constraint firstItem="55i-C3-b9S" firstAttribute="top" secondItem="IqW-Xu-xVP" secondAttribute="topMargin" constant="3" id="kQk-6L-0ta"/>
<constraint firstAttribute="bottomMargin" secondItem="55i-C3-b9S" secondAttribute="bottom" constant="3.5" id="qwE-hz-7Kj"/>
</constraints>
@@ -960,7 +960,7 @@
<rect key="frame" x="0.0" y="167" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="1Mm-WA-eyt" id="lNb-wL-PFo">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="6 hours" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QrP-xT-fcM">
@@ -978,7 +978,7 @@
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="QrP-xT-fcM" secondAttribute="trailing" constant="10" id="LGl-zl-LbM"/>
<constraint firstItem="QrP-xT-fcM" firstAttribute="top" secondItem="lNb-wL-PFo" secondAttribute="topMargin" constant="3" id="i7j-o0-evj"/>
- <constraint firstItem="QrP-xT-fcM" firstAttribute="leading" secondItem="lNb-wL-PFo" secondAttribute="leadingMargin" constant="8" id="izB-1C-ti2"/>
+ <constraint firstItem="QrP-xT-fcM" firstAttribute="leading" secondItem="lNb-wL-PFo" secondAttribute="leading" constant="16" id="izB-1C-ti2"/>
<constraint firstAttribute="bottomMargin" secondItem="QrP-xT-fcM" secondAttribute="bottom" constant="3.5" id="rFT-cJ-n4M"/>
</constraints>
</tableViewCellContentView>
@@ -990,7 +990,7 @@
<rect key="frame" x="0.0" y="211" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="JLY-Qt-y88" id="jPr-Kt-mLi">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="12 hours" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HyC-if-zpD">
@@ -1008,7 +1008,7 @@
<constraints>
<constraint firstItem="HyC-if-zpD" firstAttribute="top" secondItem="jPr-Kt-mLi" secondAttribute="topMargin" constant="3" id="8Ew-4b-PdU"/>
<constraint firstAttribute="bottomMargin" secondItem="HyC-if-zpD" secondAttribute="bottom" constant="3.5" id="ICD-kw-Pge"/>
- <constraint firstItem="HyC-if-zpD" firstAttribute="leading" secondItem="jPr-Kt-mLi" secondAttribute="leadingMargin" constant="8" id="Y2y-Fz-Msv"/>
+ <constraint firstItem="HyC-if-zpD" firstAttribute="leading" secondItem="jPr-Kt-mLi" secondAttribute="leading" constant="16" id="Y2y-Fz-Msv"/>
<constraint firstAttribute="trailingMargin" secondItem="HyC-if-zpD" secondAttribute="trailing" constant="10" id="mah-ig-QAM"/>
</constraints>
</tableViewCellContentView>
@@ -1020,7 +1020,7 @@
<rect key="frame" x="0.0" y="255" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="mbv-1J-wSI" id="oPS-HW-hfW">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1 day" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uhN-0k-BL7">
@@ -1036,7 +1036,7 @@
</label>
</subviews>
<constraints>
- <constraint firstItem="uhN-0k-BL7" firstAttribute="leading" secondItem="oPS-HW-hfW" secondAttribute="leadingMargin" constant="8" id="6nm-GE-v4t"/>
+ <constraint firstItem="uhN-0k-BL7" firstAttribute="leading" secondItem="oPS-HW-hfW" secondAttribute="leading" constant="16" id="6nm-GE-v4t"/>
<constraint firstAttribute="trailingMargin" secondItem="uhN-0k-BL7" secondAttribute="trailing" constant="10" id="ALP-yD-Gwx"/>
<constraint firstItem="uhN-0k-BL7" firstAttribute="top" secondItem="oPS-HW-hfW" secondAttribute="topMargin" constant="3" id="UE6-bN-KTl"/>
<constraint firstAttribute="bottomMargin" secondItem="uhN-0k-BL7" secondAttribute="bottom" constant="3.5" id="nz1-ZZ-q4U"/>
@@ -1077,10 +1077,10 @@
<color key="backgroundColor" red="0.96078431372549022" green="0.96078431372549022" blue="0.96078431372549022" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="checkmark" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSelectableCell" id="79I-kz-hl4" customClass="SettingsTableViewSelectableCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="56" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="55.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="79I-kz-hl4" id="gBB-ji-big">
- <rect key="frame" x="0.0" y="0.0" width="336" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="336" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Русский" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FSn-fP-n3e">
@@ -1098,7 +1098,7 @@
<constraint firstAttribute="bottomMargin" secondItem="FSn-fP-n3e" secondAttribute="bottom" constant="3.5" id="0gT-qS-OJP"/>
<constraint firstAttribute="trailingMargin" secondItem="FSn-fP-n3e" secondAttribute="trailing" constant="10" id="9tn-Wo-rsJ"/>
<constraint firstItem="FSn-fP-n3e" firstAttribute="top" secondItem="gBB-ji-big" secondAttribute="topMargin" constant="3" id="DiX-RQ-foa"/>
- <constraint firstItem="FSn-fP-n3e" firstAttribute="leading" secondItem="gBB-ji-big" secondAttribute="leadingMargin" constant="8" id="KXd-hd-5in"/>
+ <constraint firstItem="FSn-fP-n3e" firstAttribute="leading" secondItem="gBB-ji-big" secondAttribute="leading" constant="16" id="KXd-hd-5in"/>
</constraints>
</tableViewCellContentView>
<connections>
@@ -1106,10 +1106,10 @@
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewLinkCell" id="lO6-zb-qb8" customClass="SettingsTableViewLinkCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="100" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="99.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="lO6-zb-qb8" id="35k-Nb-XSD">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Other" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="arm-Sx-diY">
@@ -1126,7 +1126,7 @@
</label>
</subviews>
<constraints>
- <constraint firstItem="arm-Sx-diY" firstAttribute="leading" secondItem="35k-Nb-XSD" secondAttribute="leadingMargin" constant="8" id="8xX-eo-OZI"/>
+ <constraint firstItem="arm-Sx-diY" firstAttribute="leading" secondItem="35k-Nb-XSD" secondAttribute="leading" constant="16" id="8xX-eo-OZI"/>
<constraint firstItem="arm-Sx-diY" firstAttribute="top" secondItem="35k-Nb-XSD" secondAttribute="top" constant="12" id="9Jx-Qg-8qw"/>
<constraint firstItem="8HI-p3-Ef4" firstAttribute="top" secondItem="35k-Nb-XSD" secondAttribute="top" constant="12" id="DZU-S7-U8b"/>
<constraint firstItem="8HI-p3-Ef4" firstAttribute="leading" secondItem="arm-Sx-diY" secondAttribute="trailing" constant="4" id="Mlw-aC-ISe"/>
@@ -1166,10 +1166,10 @@
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SettingsTableViewSelectableCell" id="6Px-TO-sMc" customClass="SettingsTableViewSelectableCell" customModule="cm_beta" customModuleProvider="target">
- <rect key="frame" x="0.0" y="56" width="375" height="44"/>
+ <rect key="frame" x="0.0" y="55.5" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="6Px-TO-sMc" id="aqp-aV-B3y">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Русский" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wBg-nH-SXL">
@@ -1185,7 +1185,7 @@
</subviews>
<constraints>
<constraint firstItem="wBg-nH-SXL" firstAttribute="top" secondItem="aqp-aV-B3y" secondAttribute="topMargin" constant="3" id="2dD-fi-Iy3"/>
- <constraint firstItem="wBg-nH-SXL" firstAttribute="leading" secondItem="aqp-aV-B3y" secondAttribute="leadingMargin" constant="8" id="C97-Rv-8b2"/>
+ <constraint firstItem="wBg-nH-SXL" firstAttribute="leading" secondItem="aqp-aV-B3y" secondAttribute="leading" constant="16" id="C97-Rv-8b2"/>
<constraint firstAttribute="trailingMargin" secondItem="wBg-nH-SXL" secondAttribute="trailing" constant="10" id="jJO-v9-RNP"/>
<constraint firstAttribute="bottomMargin" secondItem="wBg-nH-SXL" secondAttribute="bottom" constant="3.5" id="yh9-ce-ftK"/>
</constraints>
@@ -1223,7 +1223,7 @@
<rect key="frame" x="0.0" y="35" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="233-Ku-OFh" id="Tig-SC-0oN">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Километры" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m0T-TK-aex">
@@ -1241,7 +1241,7 @@
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="m0T-TK-aex" secondAttribute="trailing" constant="10" id="9wR-Ct-2hu"/>
<constraint firstAttribute="bottomMargin" secondItem="m0T-TK-aex" secondAttribute="bottom" constant="3.5" id="NhH-GK-tRA"/>
- <constraint firstItem="m0T-TK-aex" firstAttribute="leading" secondItem="Tig-SC-0oN" secondAttribute="leadingMargin" constant="8" id="YvM-aS-cwf"/>
+ <constraint firstItem="m0T-TK-aex" firstAttribute="leading" secondItem="Tig-SC-0oN" secondAttribute="leading" constant="16" id="YvM-aS-cwf"/>
<constraint firstItem="m0T-TK-aex" firstAttribute="top" secondItem="Tig-SC-0oN" secondAttribute="topMargin" constant="3" id="zvL-DV-q7h"/>
</constraints>
</tableViewCellContentView>
@@ -1250,7 +1250,7 @@
<rect key="frame" x="0.0" y="79" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="XGu-p4-IVy" id="c5A-yh-Pec">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Мили" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xrt-1n-szu">
@@ -1267,7 +1267,7 @@
</subviews>
<constraints>
<constraint firstItem="xrt-1n-szu" firstAttribute="top" secondItem="c5A-yh-Pec" secondAttribute="topMargin" constant="3" id="FsB-AC-Vwh"/>
- <constraint firstItem="xrt-1n-szu" firstAttribute="leading" secondItem="c5A-yh-Pec" secondAttribute="leadingMargin" constant="8" id="G3U-mE-Dvf"/>
+ <constraint firstItem="xrt-1n-szu" firstAttribute="leading" secondItem="c5A-yh-Pec" secondAttribute="leading" constant="16" id="G3U-mE-Dvf"/>
<constraint firstAttribute="trailingMargin" secondItem="xrt-1n-szu" secondAttribute="trailing" constant="10" id="bjP-An-0Ez"/>
<constraint firstAttribute="bottomMargin" secondItem="xrt-1n-szu" secondAttribute="bottom" constant="3.5" id="raH-6r-jMt"/>
</constraints>
@@ -1360,7 +1360,7 @@
<rect key="frame" x="0.0" y="35" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="WfS-iR-EYh" id="pud-iP-cPv">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Веб-сайт" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dRQ-jj-BMn">
@@ -1377,7 +1377,7 @@
</subviews>
<constraints>
<constraint firstItem="dRQ-jj-BMn" firstAttribute="top" secondItem="pud-iP-cPv" secondAttribute="topMargin" constant="3" id="Fk3-wD-JCy"/>
- <constraint firstItem="dRQ-jj-BMn" firstAttribute="leading" secondItem="pud-iP-cPv" secondAttribute="leadingMargin" constant="8" id="Fli-vC-k8V"/>
+ <constraint firstItem="dRQ-jj-BMn" firstAttribute="leading" secondItem="pud-iP-cPv" secondAttribute="leading" constant="16" id="Fli-vC-k8V"/>
<constraint firstAttribute="bottomMargin" secondItem="dRQ-jj-BMn" secondAttribute="bottom" constant="3.5" id="Hfp-Xd-BTY"/>
<constraint firstAttribute="trailingMargin" secondItem="dRQ-jj-BMn" secondAttribute="trailing" constant="10" id="g79-4i-uXm"/>
</constraints>
@@ -1387,7 +1387,7 @@
<rect key="frame" x="0.0" y="79" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="AwY-rw-AMm" id="AUp-Ql-usV">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Facebook" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VRr-XH-vvX">
@@ -1404,7 +1404,7 @@
</subviews>
<constraints>
<constraint firstItem="VRr-XH-vvX" firstAttribute="top" secondItem="AUp-Ql-usV" secondAttribute="topMargin" constant="3" id="1y8-NO-R0a"/>
- <constraint firstItem="VRr-XH-vvX" firstAttribute="leading" secondItem="AUp-Ql-usV" secondAttribute="leadingMargin" constant="8" id="Ita-uo-kMI"/>
+ <constraint firstItem="VRr-XH-vvX" firstAttribute="leading" secondItem="AUp-Ql-usV" secondAttribute="leading" constant="16" id="Ita-uo-kMI"/>
<constraint firstAttribute="trailingMargin" secondItem="VRr-XH-vvX" secondAttribute="trailing" constant="10" id="dVQ-G8-RjX"/>
<constraint firstAttribute="bottomMargin" secondItem="VRr-XH-vvX" secondAttribute="bottom" constant="3.5" id="w53-vF-beO"/>
</constraints>
@@ -1414,7 +1414,7 @@
<rect key="frame" x="0.0" y="123" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="PYl-5B-hBB" id="99g-g6-dgY">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Twitter" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="snB-CD-ffn">
@@ -1430,7 +1430,7 @@
</label>
</subviews>
<constraints>
- <constraint firstItem="snB-CD-ffn" firstAttribute="leading" secondItem="99g-g6-dgY" secondAttribute="leadingMargin" constant="8" id="241-uI-JrM"/>
+ <constraint firstItem="snB-CD-ffn" firstAttribute="leading" secondItem="99g-g6-dgY" secondAttribute="leading" constant="16" id="241-uI-JrM"/>
<constraint firstItem="snB-CD-ffn" firstAttribute="top" secondItem="99g-g6-dgY" secondAttribute="topMargin" constant="3" id="5ap-ya-Htu"/>
<constraint firstAttribute="bottomMargin" secondItem="snB-CD-ffn" secondAttribute="bottom" constant="3.5" id="Mc1-yC-9iQ"/>
<constraint firstAttribute="trailingMargin" secondItem="snB-CD-ffn" secondAttribute="trailing" constant="10" id="TRb-qk-L6W"/>
@@ -1441,7 +1441,7 @@
<rect key="frame" x="0.0" y="167" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="q9S-xP-Mmy" id="itl-Sl-h7g">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Подписаться на новости" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1mC-fY-VIc">
@@ -1458,7 +1458,7 @@
</subviews>
<constraints>
<constraint firstAttribute="bottomMargin" secondItem="1mC-fY-VIc" secondAttribute="bottom" constant="3.5" id="IY4-NF-yP0"/>
- <constraint firstItem="1mC-fY-VIc" firstAttribute="leading" secondItem="itl-Sl-h7g" secondAttribute="leadingMargin" constant="8" id="VpV-WG-5A5"/>
+ <constraint firstItem="1mC-fY-VIc" firstAttribute="leading" secondItem="itl-Sl-h7g" secondAttribute="leading" constant="16" id="VpV-WG-5A5"/>
<constraint firstItem="1mC-fY-VIc" firstAttribute="top" secondItem="itl-Sl-h7g" secondAttribute="topMargin" constant="3" id="YDK-2l-Mry"/>
<constraint firstAttribute="trailingMargin" secondItem="1mC-fY-VIc" secondAttribute="trailing" constant="10" id="ajf-9s-47Q"/>
</constraints>
@@ -1473,7 +1473,7 @@
<rect key="frame" x="0.0" y="247" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="jhU-Ha-kE2" id="BJb-8F-OEp">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Оценить приложение" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Spi-mD-g8U">
@@ -1492,7 +1492,7 @@
<constraint firstAttribute="bottomMargin" secondItem="Spi-mD-g8U" secondAttribute="bottom" constant="3.5" id="55K-r6-47M"/>
<constraint firstAttribute="trailingMargin" secondItem="Spi-mD-g8U" secondAttribute="trailing" constant="10" id="Ah4-nc-ger"/>
<constraint firstItem="Spi-mD-g8U" firstAttribute="top" secondItem="BJb-8F-OEp" secondAttribute="topMargin" constant="3" id="S4f-EX-qeH"/>
- <constraint firstItem="Spi-mD-g8U" firstAttribute="leading" secondItem="BJb-8F-OEp" secondAttribute="leadingMargin" constant="8" id="rYe-4r-bep"/>
+ <constraint firstItem="Spi-mD-g8U" firstAttribute="leading" secondItem="BJb-8F-OEp" secondAttribute="leading" constant="16" id="rYe-4r-bep"/>
</constraints>
</tableViewCellContentView>
<inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -1505,7 +1505,7 @@
<rect key="frame" x="0.0" y="327" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="VXa-CM-OXP" id="Vot-vJ-3MU">
- <rect key="frame" x="0.0" y="0.0" width="342" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Copyright" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uhV-at-6HM">
@@ -1521,7 +1521,7 @@
</label>
</subviews>
<constraints>
- <constraint firstItem="uhV-at-6HM" firstAttribute="leading" secondItem="Vot-vJ-3MU" secondAttribute="leadingMargin" constant="8" id="5L0-oD-BQh"/>
+ <constraint firstItem="uhV-at-6HM" firstAttribute="leading" secondItem="Vot-vJ-3MU" secondAttribute="leading" constant="16" id="5L0-oD-BQh"/>
<constraint firstAttribute="trailingMargin" secondItem="uhV-at-6HM" secondAttribute="trailing" constant="10" id="5W9-Uh-Rec"/>
<constraint firstAttribute="bottomMargin" secondItem="uhV-at-6HM" secondAttribute="bottom" constant="3.5" id="aWP-8h-LAv"/>
<constraint firstItem="uhV-at-6HM" firstAttribute="top" secondItem="Vot-vJ-3MU" secondAttribute="topMargin" constant="3" id="kKH-Dt-29u"/>
@@ -1576,7 +1576,7 @@
<rect key="frame" x="0.0" y="35" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gS7-2k-8yw" id="1pg-RV-MG8">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Использовать всегда" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vX5-wa-tBM">
@@ -1592,7 +1592,7 @@
</label>
</subviews>
<constraints>
- <constraint firstItem="vX5-wa-tBM" firstAttribute="leading" secondItem="1pg-RV-MG8" secondAttribute="leadingMargin" constant="8" id="EgF-Mr-xzv"/>
+ <constraint firstItem="vX5-wa-tBM" firstAttribute="leading" secondItem="1pg-RV-MG8" secondAttribute="leading" constant="16" id="EgF-Mr-xzv"/>
<constraint firstItem="vX5-wa-tBM" firstAttribute="top" secondItem="1pg-RV-MG8" secondAttribute="topMargin" constant="3" id="JXx-Ko-AQy"/>
<constraint firstAttribute="bottomMargin" secondItem="vX5-wa-tBM" secondAttribute="bottom" constant="3.5" id="kw5-2Z-LaZ"/>
<constraint firstAttribute="trailingMargin" secondItem="vX5-wa-tBM" secondAttribute="trailing" constant="10" id="zBx-Iu-XhP"/>
@@ -1606,7 +1606,7 @@
<rect key="frame" x="0.0" y="79" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="lTE-DT-aCE" id="N6p-8U-90b">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Спрашивать" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cOW-yT-WYH">
@@ -1624,7 +1624,7 @@
<constraints>
<constraint firstItem="cOW-yT-WYH" firstAttribute="top" secondItem="N6p-8U-90b" secondAttribute="topMargin" constant="3" id="0c2-dz-ncc"/>
<constraint firstAttribute="bottomMargin" secondItem="cOW-yT-WYH" secondAttribute="bottom" constant="3.5" id="9Pg-5u-hvE"/>
- <constraint firstItem="cOW-yT-WYH" firstAttribute="leading" secondItem="N6p-8U-90b" secondAttribute="leadingMargin" constant="8" id="Q26-fV-B6q"/>
+ <constraint firstItem="cOW-yT-WYH" firstAttribute="leading" secondItem="N6p-8U-90b" secondAttribute="leading" constant="16" id="Q26-fV-B6q"/>
<constraint firstAttribute="trailingMargin" secondItem="cOW-yT-WYH" secondAttribute="trailing" constant="10" id="syt-Dy-KI6"/>
</constraints>
</tableViewCellContentView>
@@ -1636,7 +1636,7 @@
<rect key="frame" x="0.0" y="123" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="9uV-jg-h2A" id="z0N-m2-ums">
- <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
+ <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Никогда не использовать" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gum-Lg-Uby">
@@ -1655,7 +1655,7 @@
<constraint firstItem="gum-Lg-Uby" firstAttribute="top" secondItem="z0N-m2-ums" secondAttribute="topMargin" constant="3" id="Wm9-kM-rpg"/>
<constraint firstAttribute="bottomMargin" secondItem="gum-Lg-Uby" secondAttribute="bottom" constant="3.5" id="hV5-wU-dp2"/>
<constraint firstAttribute="trailingMargin" secondItem="gum-Lg-Uby" secondAttribute="trailing" constant="10" id="hgH-2O-coY"/>
- <constraint firstItem="gum-Lg-Uby" firstAttribute="leading" secondItem="z0N-m2-ums" secondAttribute="leadingMargin" constant="8" id="nYN-fb-U26"/>
+ <constraint firstItem="gum-Lg-Uby" firstAttribute="leading" secondItem="z0N-m2-ums" secondAttribute="leading" constant="16" id="nYN-fb-U26"/>
</constraints>
</tableViewCellContentView>
<connections>
diff --git a/iphone/Maps/UI/Welcome/WhatsNewController.swift b/iphone/Maps/UI/Welcome/WhatsNewController.swift
index 1575f9b458..dbc03f8ca4 100644
--- a/iphone/Maps/UI/Welcome/WhatsNewController.swift
+++ b/iphone/Maps/UI/Welcome/WhatsNewController.swift
@@ -3,14 +3,14 @@ import UIKit
final class WhatsNewController: MWMViewController, WelcomeProtocol {
static var welcomeConfigs: [WelcomeConfig] = [
- WelcomeConfig(image: #imageLiteral(resourceName: "img_whats_new_route"),
- title: "whats_new_title_route",
- text: "whats_new_message_route",
- buttonTitle: "whats_new_next_button",
- buttonAction: #selector(nextPage)),
- WelcomeConfig(image: #imageLiteral(resourceName: "img_whats_new_update"),
- title: "whats_new_message_title_update",
- text: "whats_new_message_maps_update",
+// WelcomeConfig(image: #imageLiteral(resourceName: "img_whats_new_route"),
+// title: "whats_new_title_route",
+// text: "whats_new_message_route",
+// buttonTitle: "whats_new_next_button",
+// buttonAction: #selector(nextPage)),
+ WelcomeConfig(image: #imageLiteral(resourceName: "img_whats_new_ugc"),
+ title: "whats_new_ugc_title",
+ text: "whats_new_ugc_message",
buttonTitle: "done",
buttonAction: #selector(close)),
]
diff --git a/map/framework.cpp b/map/framework.cpp
index 541da556cf..5223d64195 100644
--- a/map/framework.cpp
+++ b/map/framework.cpp
@@ -360,6 +360,7 @@ void Framework::Migrate(bool keepDownloaded)
Framework::Framework(FrameworkParams const & params)
: m_startForegroundTime(0.0)
, m_storage(platform::migrate::NeedMigrate() ? COUNTRIES_OBSOLETE_FILE : COUNTRIES_FILE)
+ , m_enabledDiffs(params.m_enableDiffs)
, m_bmManager([this]() -> StringsBundle const & { return m_stringsBundle; })
, m_isRenderingEnabled(true)
, m_routingManager(RoutingManager::Callbacks([this]() -> Index & { return m_model.GetIndex(); },
@@ -379,7 +380,6 @@ Framework::Framework(FrameworkParams const & params)
m_drapeEngine->SetDisplacementMode(mode);
})
, m_lastReportedCountry(kInvalidCountryId)
- , m_enabledDiffs(params.m_enableDiffs)
{
m_startBackgroundTime = my::Timer::LocalTime();
@@ -831,6 +831,7 @@ void Framework::FillInfoFromFeatureType(FeatureType const & ft, place_page::Info
auto const featureStatus = osm::Editor::Instance().GetFeatureStatus(ft.GetID());
ASSERT_NOT_EQUAL(featureStatus, osm::Editor::FeatureStatus::Deleted,
("Deleted features cannot be selected from UI."));
+ info.SetFeatureStatus(featureStatus);
ASSERT(m_cityFinder, ());
auto const city =
diff --git a/map/local_ads_manager.cpp b/map/local_ads_manager.cpp
index cb9fb31689..f16fa133ee 100644
--- a/map/local_ads_manager.cpp
+++ b/map/local_ads_manager.cpp
@@ -43,8 +43,8 @@ using namespace base;
namespace
{
-std::array<char const * const, 5> const kMarketingParameters = {marketing::kFrom, marketing::kType, marketing::kName,
- marketing::kContent, marketing::kKeyword};
+std::array<char const * const, 5> const kMarketingParameters = {{marketing::kFrom, marketing::kType, marketing::kName,
+ marketing::kContent, marketing::kKeyword}};
std::string const kServerUrl = LOCAL_ADS_SERVER_URL;
std::string const kCampaignPageUrl = LOCAL_ADS_COMPANY_PAGE_URL;
diff --git a/map/place_page_info.cpp b/map/place_page_info.cpp
index de356c35a2..03db3bcc7e 100644
--- a/map/place_page_info.cpp
+++ b/map/place_page_info.cpp
@@ -32,12 +32,21 @@ bool Info::ShouldShowAddPlace() const
return m_canEditOrAdd && !(IsFeature() && isPointOrBuilding);
}
+bool Info::ShouldShowUGC() const
+{
+ return ftraits::UGC::IsUGCAvailable(m_sortedTypes) &&
+ (m_featureStatus == osm::Editor::FeatureStatus::Untouched ||
+ m_featureStatus == osm::Editor::FeatureStatus::Modified);
+}
+
void Info::SetFromFeatureType(FeatureType const & ft)
{
MapObject::SetFromFeatureType(ft);
std::string primaryName;
std::string secondaryName;
GetPrefferedNames(primaryName, secondaryName);
+ m_sortedTypes = m_types;
+ m_sortedTypes.SortBySpec();
if (IsBookmark())
{
m_uiTitle = m_bookmarkData.GetName();
@@ -181,7 +190,7 @@ bool Info::ShouldShowEditPlace() const
ftraits::UGCRatingCategories Info::GetRatingCategories() const
{
- return ftraits::UGC::GetCategories(m_types);
+ return ftraits::UGC::GetCategories(m_sortedTypes);
}
string Info::FormatNewBookmarkName() const
diff --git a/map/place_page_info.hpp b/map/place_page_info.hpp
index 9e2f87fe1b..97360a2984 100644
--- a/map/place_page_info.hpp
+++ b/map/place_page_info.hpp
@@ -13,6 +13,7 @@
#include "indexer/feature_data.hpp"
#include "indexer/feature_meta.hpp"
#include "indexer/map_object.hpp"
+#include "indexer/osm_editor.hpp"
#include "geometry/latlon.hpp"
#include "geometry/mercator.hpp"
@@ -78,10 +79,10 @@ public:
bool ShouldShowEditPlace() const;
/// UGC
- bool ShouldShowUGC() const { return ftraits::UGC::IsUGCAvailable(m_types); }
- bool CanBeRated() const { return ftraits::UGC::IsRatingAvailable(m_types); }
- bool CanBeReviewed() const { return ftraits::UGC::IsReviewsAvailable(m_types); }
- bool CanHaveExtendedReview() const { return ftraits::UGC::IsDetailsAvailable(m_types); }
+ bool ShouldShowUGC() const;
+ bool CanBeRated() const { return ftraits::UGC::IsRatingAvailable(m_sortedTypes); }
+ bool CanBeReviewed() const { return ftraits::UGC::IsReviewsAvailable(m_sortedTypes); }
+ bool CanHaveExtendedReview() const { return ftraits::UGC::IsDetailsAvailable(m_sortedTypes); }
ftraits::UGCRatingCategories GetRatingCategories() const;
/// @returns true if Back API button should be displayed.
@@ -143,6 +144,9 @@ public:
void SetPreviewIsExtended() { m_isPreviewExtended = true; }
bool IsPreviewExtended() const { return m_isPreviewExtended; }
+ /// Feature status
+ void SetFeatureStatus(osm::Editor::FeatureStatus const status) { m_featureStatus = status; }
+
/// Banner
bool HasBanner() const;
std::vector<ads::Banner> GetBanners() const;
@@ -259,6 +263,9 @@ private:
/// Sponsored type or None.
SponsoredType m_sponsoredType = SponsoredType::None;
+ /// Feature status
+ osm::Editor::FeatureStatus m_featureStatus = osm::Editor::FeatureStatus::Untouched;
+
/// Sponsored feature urls.
std::string m_sponsoredUrl;
std::string m_sponsoredDescriptionUrl;
@@ -270,6 +277,8 @@ private:
/// Local experts
std::string m_localsUrl;
LocalsStatus m_localsStatus = LocalsStatus::NotAvailable;
+
+ feature::TypesHolder m_sortedTypes;
};
namespace rating
diff --git a/map/user.cpp b/map/user.cpp
index 61baa57f00..5a695565f0 100644
--- a/map/user.cpp
+++ b/map/user.cpp
@@ -91,6 +91,11 @@ std::string ParseAccessToken(std::string const & src)
return tokenStr;
}
+std::string BuildAuthorizationToken(std::string const & accessToken)
+{
+ return "Bearer " + accessToken;
+}
+
std::vector<uint64_t> DeserializeReviewIds(std::string const & reviewIdsSrc)
{
my::Json root(reviewIdsSrc.c_str());
@@ -234,7 +239,7 @@ void User::RequestUserDetails()
{
Request(url, [this](platform::HttpClient & request)
{
- request.SetRawHeader("Authorization", m_accessToken);
+ request.SetRawHeader("Authorization", BuildAuthorizationToken(m_accessToken));
},
[this](std::string const & response)
{
@@ -267,14 +272,14 @@ void User::UploadUserReviews(std::string && dataStr,
size_t const bytesCount = dataStr.size();
Request(url, [this, dataStr](platform::HttpClient & request)
{
- request.SetRawHeader("Authorization", m_accessToken);
+ request.SetRawHeader("Authorization", BuildAuthorizationToken(m_accessToken));
request.SetBodyData(dataStr, "application/json");
},
[this, bytesCount, onCompleteUploading](std::string const &)
{
alohalytics::Stats::Instance().LogEvent("UGC_DataUpload_finished",
strings::to_string(bytesCount));
- LOG(LWARNING, ("Reviews have been uploaded."));
+ LOG(LINFO, ("Reviews have been uploaded."));
if (onCompleteUploading != nullptr)
onCompleteUploading(true /* isSuccessful */);
@@ -283,7 +288,7 @@ void User::UploadUserReviews(std::string && dataStr,
{
alohalytics::Stats::Instance().LogEvent("UGC_DataUpload_error",
strings::to_string(errorCode));
- LOG(LWARNING, ("Reviews have not been uploaded."));
+ LOG(LWARNING, ("Reviews have not been uploaded. Code =", errorCode));
if (onCompleteUploading != nullptr)
onCompleteUploading(false /* isSuccessful */);
diff --git a/partners_api/taxi_places.hpp b/partners_api/taxi_places.hpp
index d77fc0222e..c3fd8e630b 100644
--- a/partners_api/taxi_places.hpp
+++ b/partners_api/taxi_places.hpp
@@ -26,8 +26,7 @@ Countries const kYandexEnabledPlaces = {
{"Ukraine", {"Dnipro", "Kyiv", "Lviv", "Odessa", "Kharkiv"}},
{"Moldova", {"Kishinev"}},
{"Russian Federation",
- {"Almetyevsk",
- "Anapa",
+ {"Anapa",
"Aprelevka",
"Arzamas",
"Arkhangelsk",
@@ -146,7 +145,6 @@ Countries const kYandexEnabledPlaces = {
"Troitsk",
"Tula",
"Tyumen",
- "Ulan-Ude",
"Ulyanovsk",
"Ufa",
"Fryazino",
@@ -160,7 +158,6 @@ Countries const kYandexEnabledPlaces = {
"Shchyolkovo",
"Elektrostal",
"Elektrougli",
- "Yakutsk",
"Yaroslavl"}}}};
} // namespace places
} // namespace taxi
diff --git a/platform/http_request.cpp b/platform/http_request.cpp
index a8f49ff7c9..20f6d7037d 100644
--- a/platform/http_request.cpp
+++ b/platform/http_request.cpp
@@ -20,53 +20,6 @@
#include "3party/Alohalytics/src/alohalytics.h"
-#ifdef OMIM_OS_IPHONE
-
-#include <sys/xattr.h>
-#include <CoreFoundation/CoreFoundation.h>
-#include <CoreFoundation/CFURL.h>
-// declaration is taken from NSObjCRuntime.h to avoid including of ObjC code
-extern "C" double NSFoundationVersionNumber;
-
-#endif
-
-void DisableBackupForFile(string const & filePath)
-{
-#ifdef OMIM_OS_IPHONE
- // We need to disable iCloud backup for downloaded files.
- // This is the reason for rejecting from the AppStore
- // https://developer.apple.com/library/iOS/qa/qa1719/_index.html
-
- // value is taken from NSObjCRuntime.h to avoid including of ObjC code
- #define NSFoundationVersionNumber_iOS_5_1 890.10
- if (NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_5_1)
- {
- CFURLRef url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault,
- reinterpret_cast<unsigned char const *>(filePath.c_str()),
- filePath.size(),
- 0);
- CFErrorRef err;
- signed char valueRaw = 1; // BOOL YES
- CFNumberRef value = CFNumberCreate(kCFAllocatorDefault, kCFNumberCharType, &valueRaw);
- if (!CFURLSetResourcePropertyForKey(url, kCFURLIsExcludedFromBackupKey, value, &err))
- {
- LOG(LWARNING, ("Error while disabling iCloud backup for file", filePath));
- }
- CFRelease(value);
- CFRelease(url);
- }
- else
- {
- static char const * attrName = "com.apple.MobileBackup";
- u_int8_t attrValue = 1;
- const int result = setxattr(filePath.c_str(), attrName, &attrValue, sizeof(attrValue), 0, 0);
- if (result != 0)
- LOG(LWARNING, ("Error while disabling iCloud backup for file", filePath));
- }
-#endif
-}
-
-
class HttpThread;
namespace downloader
@@ -296,7 +249,7 @@ class FileHttpRequest : public HttpRequest, public IHttpThreadCallback
CHECK(my::RenameFileX(m_filePath + DOWNLOADING_FILE_EXTENSION, m_filePath),
(m_filePath, strerror(errno)));
- DisableBackupForFile(m_filePath);
+ Platform::DisableBackupForFile(m_filePath);
}
// 4. Finish downloading.
@@ -350,11 +303,7 @@ public:
// Assign here, because previous functions can throw an exception.
m_writer.swap(writer);
-
-#ifdef OMIM_OS_IPHONE
- DisableBackupForFile(filePath + DOWNLOADING_FILE_EXTENSION);
-#endif
-
+ Platform::DisableBackupForFile(filePath + DOWNLOADING_FILE_EXTENSION);
(void)StartThreads();
}
diff --git a/platform/local_country_file_utils.cpp b/platform/local_country_file_utils.cpp
index 72d718230f..c71990b408 100644
--- a/platform/local_country_file_utils.cpp
+++ b/platform/local_country_file_utils.cpp
@@ -74,6 +74,12 @@ bool IsDownloaderFile(string const & name)
return regex_match(name.begin(), name.end(), filter);
}
+bool IsDiffFile(string const & name)
+{
+ return strings::EndsWith(name, DIFF_FILE_EXTENSION) ||
+ strings::EndsWith(name, DIFF_APPLYING_FILE_EXTENSION);
+}
+
bool DirectoryHasIndexesOnly(string const & directory)
{
Platform::TFilesWithType fwts;
@@ -168,8 +174,8 @@ void FindAllLocalMapsInDirectoryAndCleanup(string const & directory, int64_t ver
string name = fwt.first;
- // Remove downloader files for old version directories.
- if (IsDownloaderFile(name) && version < latestVersion)
+ // Remove downloader and diff files for old version directories.
+ if (version < latestVersion && (IsDownloaderFile(name) || IsDiffFile(name)))
{
my::DeleteFileX(my::JoinFoldersToPath(directory, name));
continue;
diff --git a/platform/platform.hpp b/platform/platform.hpp
index a0b58bb86f..efdc6f8e31 100644
--- a/platform/platform.hpp
+++ b/platform/platform.hpp
@@ -109,6 +109,7 @@ public:
virtual ~Platform() = default;
static bool IsFileExistsByFullPath(string const & filePath);
+ static void DisableBackupForFile(string const & filePath);
/// @return true if we can create custom texture allocator in drape
static bool IsCustomTextureAllocatorSupported();
diff --git a/platform/platform_ios.mm b/platform/platform_ios.mm
index 4654fc3a39..1ce7f8764d 100644
--- a/platform/platform_ios.mm
+++ b/platform/platform_ios.mm
@@ -19,11 +19,14 @@
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/xattr.h>
#import "iphone/Maps/Common/MWMCommon.h"
#import "3party/Alohalytics/src/alohalytics_objc.h"
+#import <CoreFoundation/CFURL.h>
+#import <CoreFoundation/CoreFoundation.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <netinet/in.h>
@@ -62,6 +65,26 @@ Platform::Platform()
// static
bool Platform::IsCustomTextureAllocatorSupported() { return !isIOS8; }
+//static
+void Platform::DisableBackupForFile(string const & filePath)
+{
+ // We need to disable iCloud backup for downloaded files.
+ // This is the reason for rejecting from the AppStore
+ // https://developer.apple.com/library/iOS/qa/qa1719/_index.html
+ CFURLRef url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault,
+ reinterpret_cast<unsigned char const *>(filePath.c_str()),
+ filePath.size(),
+ 0);
+ CFErrorRef err;
+ BOOL valueRaw = YES;
+ CFNumberRef value = CFNumberCreate(kCFAllocatorDefault, kCFNumberCharType, &valueRaw);
+ if (!CFURLSetResourcePropertyForKey(url, kCFURLIsExcludedFromBackupKey, value, &err))
+ NSLog(@"Error while disabling iCloud backup for file: %s", filePath.c_str());
+
+ CFRelease(value);
+ CFRelease(url);
+}
+
// static
Platform::EError Platform::MkDir(string const & dirName)
{
diff --git a/platform/platform_unix_impl.cpp b/platform/platform_unix_impl.cpp
index 34b91fb71a..5e3042d41c 100644
--- a/platform/platform_unix_impl.cpp
+++ b/platform/platform_unix_impl.cpp
@@ -152,6 +152,9 @@ bool Platform::IsFileExistsByFullPath(string const & filePath)
return stat(filePath.c_str(), &s) == 0;
}
+//static
+void Platform::DisableBackupForFile(string const & filePath) {}
+
// static
bool Platform::IsCustomTextureAllocatorSupported() { return true; }
diff --git a/platform/platform_win.cpp b/platform/platform_win.cpp
index 8152d5b7fc..03eae8d4e2 100644
--- a/platform/platform_win.cpp
+++ b/platform/platform_win.cpp
@@ -95,6 +95,9 @@ bool Platform::IsFileExistsByFullPath(string const & filePath)
return ::GetFileAttributesA(filePath.c_str()) != INVALID_FILE_ATTRIBUTES;
}
+//static
+void Platform::DisableBackupForFile(string const & filePath) {}
+
// static
Platform::EError Platform::RmDir(string const & dirName)
{
diff --git a/qt/editor_dialog.cpp b/qt/editor_dialog.cpp
index 6f46261add..7545f8bbf1 100644
--- a/qt/editor_dialog.cpp
+++ b/qt/editor_dialog.cpp
@@ -98,7 +98,7 @@ EditorDialog::EditorDialog(QWidget * parent, osm::EditableMapObject & emo)
street += " / " + nearbyStreets[i].m_localizedName;
cmb->addItem(street.c_str());
if (emo.GetStreet() == nearbyStreets[i])
- cmb->setCurrentIndex(i);
+ cmb->setCurrentIndex(static_cast<int>(i));
}
cmb->setObjectName(kStreetObjectName);
grid->addWidget(cmb, row++, 1);
diff --git a/storage/downloading_policy.hpp b/storage/downloading_policy.hpp
index 78fd6119fa..e7e12f6a8b 100644
--- a/storage/downloading_policy.hpp
+++ b/storage/downloading_policy.hpp
@@ -11,6 +11,7 @@ class DownloadingPolicy
{
public:
using TProcessFunc = function<void(storage::TCountriesSet const &)>;
+ virtual ~DownloadingPolicy() = default;
virtual bool IsDownloadingAllowed() { return true; }
virtual void ScheduleRetry(storage::TCountriesSet const &, TProcessFunc const &) {}
};
diff --git a/storage/storage.cpp b/storage/storage.cpp
index 2b85888e42..585812a74b 100644
--- a/storage/storage.cpp
+++ b/storage/storage.cpp
@@ -594,8 +594,6 @@ void Storage::DownloadNextCountryFromQueue()
!PreparePlaceForCountryFiles(GetCurrentDataVersion(), m_dataDir, GetCountryFile(countryId)))
{
OnMapDownloadFinished(countryId, false /* success */, queuedCountry.GetInitOptions());
- NotifyStatusChangedForHierarchy(countryId);
- CorrectJustDownloadedAndQueue(m_queue.begin());
DownloadNextCountryFromQueue();
return;
}
@@ -838,7 +836,8 @@ void Storage::RegisterDownloadedFiles(TCountryId const & countryId, MapOptions o
m_didDownload(countryId, localFile);
CHECK(!m_queue.empty(), ());
- CorrectJustDownloadedAndQueue(m_queue.begin());
+ PushToJustDownloaded(m_queue.begin());
+ PopFromQueue(m_queue.begin());
SaveDownloadQueue();
m_downloader->Reset();
@@ -1169,17 +1168,9 @@ bool Storage::DeleteCountryFilesFromDownloader(TCountryId const & countryId)
// Remove country from the queue if there's nothing to download.
if (queuedCountry->GetInitOptions() == MapOptions::Nothing)
{
- auto it = find(m_queue.cbegin(), m_queue.cend(), countryId);
- ASSERT(it != m_queue.cend(), ());
- if (m_queue.size() == 1)
- { // If m_queue is about to be empty.
- m_justDownloaded.clear();
- m_queue.clear();
- }
- else
- { // A deleted map should not be moved to m_justDownloaded.
- m_queue.erase(it);
- }
+ auto it = find(m_queue.begin(), m_queue.end(), countryId);
+ ASSERT(it != m_queue.end(), ());
+ PopFromQueue(it);
SaveDownloadQueue();
}
@@ -1434,8 +1425,10 @@ void Storage::ApplyDiff(TCountryId const & countryId, function<void(bool isSucce
GetPlatform().RunOnGuiThread([this, fn, diffFile, result]
{
if (result)
+ {
RegisterCountryFiles(diffFile);
-
+ Platform::DisableBackupForFile(diffFile->GetPath(MapOptions::Map));
+ }
fn(result);
});
});
@@ -1460,7 +1453,8 @@ void Storage::OnDiffStatusReceived(diffs::Status const status)
ASSERT_THREAD_CHECKER(m_threadChecker, ());
if (!isSuccess)
{
- OnDownloadFailed(countryId);
+ m_failedCountries.insert(countryId);
+ NotifyStatusChangedForHierarchy(countryId);
return;
}
@@ -1772,11 +1766,15 @@ bool Storage::GetUpdateInfo(TCountryId const & countryId, UpdateInfo & updateInf
return true;
}
-void Storage::CorrectJustDownloadedAndQueue(TQueue::iterator justDownloadedItem)
+void Storage::PushToJustDownloaded(TQueue::iterator justDownloadedItem)
{
m_justDownloaded.insert(justDownloadedItem->GetCountryId());
+}
+
+void Storage::PopFromQueue(TQueue::iterator it)
+{
CHECK(!m_queue.empty(), ());
- m_queue.erase(justDownloadedItem);
+ m_queue.erase(it);
if (m_queue.empty())
m_justDownloaded.clear();
}
@@ -1896,9 +1894,9 @@ TMwmSize Storage::GetRemoteSize(CountryFile const & file, MapOptions opt, int64_
void Storage::OnDownloadFailed(TCountryId const & countryId)
{
m_failedCountries.insert(countryId);
- auto it = find(m_queue.cbegin(), m_queue.cend(), countryId);
- if (it != m_queue.cend())
- m_queue.erase(it);
+ auto it = find(m_queue.begin(), m_queue.end(), countryId);
+ if (it != m_queue.end())
+ PopFromQueue(it);
NotifyStatusChangedForHierarchy(countryId);
}
} // namespace storage
diff --git a/storage/storage.hpp b/storage/storage.hpp
index 527e083fb0..f63056aed4 100644
--- a/storage/storage.hpp
+++ b/storage/storage.hpp
@@ -648,7 +648,8 @@ private:
MapFilesDownloader::TProgress const & downloadingMwmProgress,
TCountriesSet const & mwmsInQueue) const;
- void CorrectJustDownloadedAndQueue(TQueue::iterator justDownloadedItem);
+ void PushToJustDownloaded(TQueue::iterator justDownloadedItem);
+ void PopFromQueue(TQueue::iterator it);
template <class ToDo>
void ForEachAncestorExceptForTheRoot(vector<TCountryTreeNode const *> const & nodes, ToDo && toDo) const;
/// Returns true if |node.Value().Name()| is a disputed territory and false otherwise.
@@ -661,6 +662,8 @@ private:
void LoadDiffScheme();
void ApplyDiff(TCountryId const & countryId, function<void(bool isSuccess)> const & fn);
+ // Should be called once on startup, downloading process should be suspended until this method
+ // was not called. Do not call this method manually.
void OnDiffStatusReceived(diffs::Status const status) override;
};
diff --git a/storage/storage_tests/storage_tests.cpp b/storage/storage_tests/storage_tests.cpp
index 8e24bc17f6..a04994f98c 100644
--- a/storage/storage_tests/storage_tests.cpp
+++ b/storage/storage_tests/storage_tests.cpp
@@ -42,9 +42,11 @@
#include "base/scope_guard.hpp"
#include "base/string_utils.hpp"
+#include "std/algorithm.hpp"
#include "std/bind.hpp"
#include "std/condition_variable.hpp"
#include "std/exception.hpp"
+#include "std/iterator.hpp"
#include "std/map.hpp"
#include "std/mutex.hpp"
#include "std/shared_ptr.hpp"
@@ -62,6 +64,34 @@ namespace
{
using TLocalFilePtr = shared_ptr<LocalCountryFile>;
+class DummyDownloadingPolicy : public DownloadingPolicy
+{
+public:
+ bool IsDownloadingAllowed() override { return false; }
+};
+
+class SometimesFailingDownloadingPolicy : public DownloadingPolicy
+{
+public:
+ explicit SometimesFailingDownloadingPolicy(vector<uint64_t> const & failedRequests)
+ : m_failedRequests(failedRequests)
+ {
+ sort(m_failedRequests.begin(), m_failedRequests.end());
+ }
+
+ bool IsDownloadingAllowed() override
+ {
+ auto const allowed =
+ !binary_search(m_failedRequests.begin(), m_failedRequests.end(), m_request);
+ ++m_request;
+ return allowed;
+ }
+
+private:
+ vector<uint64_t> m_failedRequests;
+ uint64_t m_request = 0;
+};
+
string const kSingleMwmCountriesTxt = string(R"({
"id": "Countries",
"v": )" + strings::to_string(version::FOR_TESTING_SINGLE_MWM1) + R"(,
@@ -1789,5 +1819,83 @@ UNIT_TEST(StorageTest_GetTopmostNodesForWithLevel)
TEST_EQUAL(path[0], "France_Burgundy_Saone-et-Loire", ());
}
+UNIT_TEST(StorageTest_FalsePolicy)
+{
+ DummyDownloadingPolicy policy;
+ Storage storage;
+ storage.SetDownloadingPolicy(&policy);
+
+ storage.Init(&OnCountryDownloaded /* didDownload */,
+ [](TCountryId const &, TLocalFilePtr const) { return false; } /* willDelete */);
+ storage.SetDownloaderForTesting(make_unique<TestMapFilesDownloader>());
+ storage.SetCurrentDataVersionForTesting(1234);
+ auto const countryId = storage.FindCountryIdByFile("Uruguay");
+ auto const countryFile = storage.GetCountryFile(countryId);
+
+ // To prevent interference with other tests and on other tests it's
+ // better to remove temporary downloader files.
+ DeleteDownloaderFilesForCountry(storage.GetCurrentDataVersion(), countryFile);
+ MY_SCOPE_GUARD(cleanup, [&]() {
+ DeleteDownloaderFilesForCountry(storage.GetCurrentDataVersion(),
+ countryFile);
+ });
+
+ {
+ FailedDownloadingWaiter waiter(storage, countryId);
+ storage.DownloadCountry(countryId, MapOptions::Map);
+ }
+}
+
+UNIT_CLASS_TEST(StorageTest, MultipleMaps)
+{
+ // This test tries do download all maps from Russian Federation, but
+ // network policy sometimes changes, therefore some countries won't
+ // be downloaded.
+
+ vector<uint64_t> const failedRequests {{5, 10, 21}};
+ TEST(is_sorted(failedRequests.begin(), failedRequests.end()), ());
+
+ SometimesFailingDownloadingPolicy policy(failedRequests);
+ Storage storage;
+ storage.SetDownloadingPolicy(&policy);
+
+ auto const nodeId = storage.FindCountryIdByFile("Russian Federation");
+ TCountriesVec children;
+ storage.GetChildren(nodeId, children);
+ vector<bool> downloaded(children.size());
+
+ auto const onStatusChange = [&](TCountryId const &id) {
+ auto const status = storage.CountryStatusEx(id);
+ if (status != Status::EOnDisk)
+ return;
+
+ auto const it = find(children.cbegin(), children.cend(), id);
+ if (it == children.end())
+ return;
+
+ downloaded[distance(children.cbegin(), it)] = true;
+ };
+
+ auto const onProgress = [&](TCountryId const & /* countryId */,
+ TLocalAndRemoteSize const & /* progress */) {};
+
+ auto const slot = storage.Subscribe(onStatusChange, onProgress);
+ MY_SCOPE_GUARD(cleanup, [&]() { storage.Unsubscribe(slot); });
+
+ storage.Init(&OnCountryDownloaded /* didDownload */,
+ [](TCountryId const &, TLocalFilePtr const) { return false; } /* willDelete */);
+ storage.SetDownloaderForTesting(make_unique<FakeMapFilesDownloader>(runner));
+ storage.DownloadNode(nodeId);
+ runner.Run();
+
+ for (size_t i = 0; i < downloaded.size(); ++i)
+ {
+ auto const expected = !binary_search(failedRequests.begin(), failedRequests.end(), i);
+ TEST_EQUAL(downloaded[i], expected, ("Unexpected status for country:", children[i]));
+ }
+
+ // Unfortunately, whole country was not downloaded.
+ TEST_EQUAL(storage.CountryStatusEx(nodeId), Status::ENotDownloaded, ());
+}
} // namespace storage
diff --git a/strings.txt b/strings.txt
index a17e361b5d..c2233f4dc6 100644
--- a/strings.txt
+++ b/strings.txt
@@ -26372,3 +26372,15 @@
[whats_new_ugc_message]
en = You can now leave ratings and reviews even offline! Don't forget to update your maps so you can see the changes.
ru = Теперь вы можете оставлять оценки и отзывы даже офлайн! Не забудьте обновить карты, чтобы увидеть изменения.
+
+ [dialog_error_storage_title]
+ en = Storage access problem
+ ru = Проблема с доступом к хранилищу
+
+ [dialog_error_storage_message]
+ en = External storage is not available, probably SD Card is removed, damaged or file system is read-only. Check it please and contact us at support@maps.me
+ ru = Внешняя память устройства недоступна, возможно SD карта была удалена, повреждена или файловая система доступна только для чтения. Проверьте это и свяжитесь, пожалуйста, с нами support@maps.me
+
+ [setting_emulate_bad_storage]
+ en = Emulate bad storage
+ ru = Эмуляция ошибки с внешней памятью
diff --git a/tools/unix/generate_planet.sh b/tools/unix/generate_planet.sh
index 848e64671e..6de79d69b5 100755
--- a/tools/unix/generate_planet.sh
+++ b/tools/unix/generate_planet.sh
@@ -359,11 +359,15 @@ if [ "$MODE" == "coast" ]; then
if [ -n "$OPT_UPDATE" ]; then
log "STATUS" "Step 1: Updating the planet file $PLANET"
PLANET_ABS="$(cd "$(dirname "$PLANET")"; pwd)/$(basename "$PLANET")"
+ OSC_ABS="$(cd "$(dirname "$OSC")"; pwd)/$(basename "$OSC")"
(
cd "$OSMCTOOLS" # osmupdate requires osmconvert in a current directory
./osmupdate --drop-author --drop-version --out-o5m -v "$PLANET_ABS" "$PLANET_ABS.new.o5m"
- if [ -f "${OSC-}" ]; then
- ./osmconvert "$PLANET_ABS.new.o5m" "$OSC" -o="$PLANET_ABS.merged.o5m"
+ if [ -f "${OSC_ABS-}" ]; then
+ # Backup the planet first
+ mv "$PLANET_ABS" "$PLANET_ABS.backup"
+ log "WARNING" "Altering the planet file with $OSC, restore it from $PLANET_ABS.backup"
+ ./osmconvert "$PLANET_ABS.new.o5m" "$OSC_ABS" -o="$PLANET_ABS.merged.o5m"
mv -f "$PLANET_ABS.merged.o5m" "$PLANET_ABS.new.o5m"
fi
) >> "$PLANET_LOG" 2>&1
diff --git a/ugc/api.cpp b/ugc/api.cpp
index 7ea6954324..d6b42c4071 100644
--- a/ugc/api.cpp
+++ b/ugc/api.cpp
@@ -1,6 +1,6 @@
#include "ugc/api.hpp"
-#include "platform/platform.hpp"
+#include "base/assert.hpp"
#include <utility>
@@ -14,19 +14,24 @@ Api::Api(Index const & index) : m_storage(index), m_loader(index)
m_thread.Push([this] { m_storage.Load(); });
}
-void Api::GetUGC(FeatureID const & id, UGCCallback callback)
+void Api::GetUGC(FeatureID const & id, UGCCallback const & callback)
{
m_thread.Push([=] { GetUGCImpl(id, callback); });
}
-void Api::SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc)
+void Api::SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc,
+ OnResultCallback const & callback /* nullptr */)
{
- m_thread.Push([=] { SetUGCUpdateImpl(id, ugc); });
+ m_thread.Push([=] {
+ auto const res = SetUGCUpdateImpl(id, ugc);
+ if (callback)
+ callback(res);
+ });
}
-void Api::GetUGCToSend(UGCJsonToSendCallback const & fn)
+void Api::GetUGCToSend(UGCJsonToSendCallback const & callback)
{
- m_thread.Push([fn, this] { GetUGCToSendImpl(fn); });
+ m_thread.Push([callback, this] { GetUGCToSendImpl(callback); });
}
void Api::SendingCompleted()
@@ -39,29 +44,31 @@ void Api::SaveUGCOnDisk()
m_thread.Push([this] { SaveUGCOnDiskImpl(); });
}
-void Api::GetUGCImpl(FeatureID const & id, UGCCallback callback)
+void Api::GetUGCImpl(FeatureID const & id, UGCCallback const & callback)
{
+ CHECK(callback, ());
if (!id.IsValid())
{
- GetPlatform().RunOnGuiThread([callback] { callback({}, {}); });
+ callback({}, {});
return;
}
auto const update = m_storage.GetUGCUpdate(id);
auto const ugc = m_loader.GetUGC(id);
- GetPlatform().RunOnGuiThread([ugc, update, callback] { callback(ugc, update); });
+ callback(ugc, update);
}
-void Api::SetUGCUpdateImpl(FeatureID const & id, UGCUpdate const & ugc)
+Storage::SettingResult Api::SetUGCUpdateImpl(FeatureID const & id, UGCUpdate const & ugc)
{
- m_storage.SetUGCUpdate(id, ugc);
+ return m_storage.SetUGCUpdate(id, ugc);
}
-void Api::GetUGCToSendImpl(UGCJsonToSendCallback const & fn)
+void Api::GetUGCToSendImpl(UGCJsonToSendCallback const & callback)
{
+ CHECK(callback, ());
auto json = m_storage.GetUGCToSend();
- fn(move(json));
+ callback(move(json));
}
void Api::SendingCompletedImpl()
diff --git a/ugc/api.hpp b/ugc/api.hpp
index 8eec8c54c5..b507ac1f95 100644
--- a/ugc/api.hpp
+++ b/ugc/api.hpp
@@ -1,11 +1,13 @@
#pragma once
-#include "base/worker_thread.hpp"
-
#include "ugc/loader.hpp"
#include "ugc/storage.hpp"
#include "ugc/types.hpp"
+#include "platform/safe_callback.hpp"
+
+#include "base/worker_thread.hpp"
+
#include <functional>
class Index;
@@ -16,21 +18,23 @@ namespace ugc
class Api
{
public:
- using UGCCallback = std::function<void(UGC const & ugc, UGCUpdate const & update)>;
+ using UGCCallback = platform::SafeCallback<void(UGC const & ugc, UGCUpdate const & update)>;
using UGCJsonToSendCallback = std::function<void(std::string && jsonStr)>;
+ using OnResultCallback = platform::SafeCallback<void(Storage::SettingResult const result)>;
explicit Api(Index const & index);
- void GetUGC(FeatureID const & id, UGCCallback callback);
- void SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc);
- void GetUGCToSend(UGCJsonToSendCallback const & fn);
+ void GetUGC(FeatureID const & id, UGCCallback const & callback);
+ void SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc,
+ OnResultCallback const & callback = nullptr);
+ void GetUGCToSend(UGCJsonToSendCallback const & callback);
void SendingCompleted();
void SaveUGCOnDisk();
private:
- void GetUGCImpl(FeatureID const & id, UGCCallback callback);
- void SetUGCUpdateImpl(FeatureID const & id, UGCUpdate const & ugc);
- void GetUGCToSendImpl(UGCJsonToSendCallback const & fn);
+ void GetUGCImpl(FeatureID const & id, UGCCallback const & callback);
+ Storage::SettingResult SetUGCUpdateImpl(FeatureID const & id, UGCUpdate const & ugc);
+ void GetUGCToSendImpl(UGCJsonToSendCallback const & callback);
void SendingCompletedImpl();
void SaveUGCOnDiskImpl();
diff --git a/ugc/serdes.hpp b/ugc/serdes.hpp
index 51f36976d8..9d9c74f8a8 100644
--- a/ugc/serdes.hpp
+++ b/ugc/serdes.hpp
@@ -12,6 +12,7 @@
#include <cmath>
#include <cstdint>
+#include <vector>
namespace ugc
{
@@ -21,7 +22,8 @@ DECLARE_EXCEPTION(BadBlob, SerDesException);
enum class Version : uint8_t
{
V0,
- Latest = V0
+ V1,
+ Latest = V1
};
template <typename Sink>
@@ -50,6 +52,11 @@ public:
WriteToSink(m_sink, index);
}
+ void VisitLangs(std::vector<uint8_t> const & indexes, char const * /* name */ = nullptr)
+ {
+ (*this)(indexes);
+ }
+
template <typename T>
void VisitVarUint(T const & t, char const * /* name */ = nullptr)
{
@@ -127,6 +134,11 @@ public:
ReadPrimitiveFromSource<uint8_t>(m_source, index);
}
+ void VisitLangs(std::vector<uint8_t> & indexes, char const * /* name */ = nullptr)
+ {
+ (*this)(indexes);
+ }
+
template <typename T>
void VisitVarUint(T & t, char const * /* name */ = nullptr)
{
@@ -177,22 +189,48 @@ private:
Source & m_source;
};
+// Version must be used only for testing.
+// We should use only the latest version in production.
template <typename Sink, typename UGC>
-void Serialize(Sink & sink, UGC const & ugc)
+void Serialize(Sink & sink, UGC const & ugc, Version const version = Version::Latest)
{
- WriteToSink(sink, static_cast<uint8_t>(Version::Latest));
+ WriteToSink(sink, static_cast<uint8_t>(version));
Serializer<Sink> ser(sink);
ser(ugc);
}
-template <typename Source, typename UGC>
+template <typename Source>
void Deserialize(Source & source, UGC & ugc)
{
uint8_t version = 0;
ReadPrimitiveFromSource(source, version);
+ if (version == static_cast<uint8_t>(Version::V0) || version == static_cast<uint8_t>(Version::V1))
+ {
+ DeserializerV0<Source> des(source);
+ des(ugc);
+ return;
+ }
+
+ MYTHROW(BadBlob, ("Unknown data version:", static_cast<int>(version)));
+}
+
+template <typename Source>
+void Deserialize(Source & source, UGCUpdate & ugc)
+{
+ uint8_t version = 0;
+ ReadPrimitiveFromSource(source, version);
if (version == static_cast<uint8_t>(Version::V0))
{
DeserializerV0<Source> des(source);
+ v0::UGCUpdate old;
+ des(old);
+ ugc.BuildFrom(old);
+ return;
+ }
+
+ if (version == static_cast<uint8_t>(Version::V1))
+ {
+ DeserializerV0<Source> des(source);
des(ugc);
return;
}
diff --git a/ugc/serdes_json.hpp b/ugc/serdes_json.hpp
index 613e1dd1b1..306557a1c1 100644
--- a/ugc/serdes_json.hpp
+++ b/ugc/serdes_json.hpp
@@ -8,6 +8,7 @@
#include <cstdint>
#include <cstdlib>
+#include <vector>
namespace ugc
{
@@ -85,6 +86,15 @@ public:
ToJSONObject(*m_json, name, StringUtf8Multilang::GetLangByCode(index));
}
+ void VisitLangs(std::vector<uint8_t> const & indexes, char const * name = nullptr)
+ {
+ std::vector<std::string> langs;
+ for (auto const index : indexes)
+ langs.emplace_back(StringUtf8Multilang::GetLangByCode(index));
+
+ ToJSONObject(*m_json, name, langs);
+ }
+
void VisitPoint(m2::PointD const & pt, char const * x = nullptr, char const * y = nullptr)
{
(*this)(pt.x, x);
@@ -214,6 +224,14 @@ public:
index = StringUtf8Multilang::GetLangIndex(lang);
}
+ void VisitLangs(std::vector<uint8_t> & indexes, char const * name = nullptr)
+ {
+ std::vector<std::string> langs;
+ FromJSONObject(m_json, name, langs);
+ for (auto const & lang : langs)
+ indexes.emplace_back(StringUtf8Multilang::GetLangIndex(lang));
+ }
+
void VisitPoint(m2::PointD & pt, char const * x = nullptr, char const * y = nullptr)
{
FromJSONObject(m_json, x, pt.x);
diff --git a/ugc/storage.cpp b/ugc/storage.cpp
index d8d596063c..756678be54 100644
--- a/ugc/storage.cpp
+++ b/ugc/storage.cpp
@@ -2,8 +2,10 @@
#include "ugc/serdes.hpp"
#include "ugc/serdes_json.hpp"
+#include "indexer/classificator.hpp"
#include "indexer/feature_algo.hpp"
#include "indexer/feature_decl.hpp"
+#include "indexer/ftraits.hpp"
#include "indexer/index.hpp"
#include "platform/platform.hpp"
@@ -28,7 +30,7 @@ string const kIndexFileName = "index.json";
string const kUGCUpdateFileName = "ugc.update.bin";
string const kTmpFileExtension = ".tmp";
-using Sink = MemWriter<vector<char>>;
+using Sink = MemWriter<string>;
string GetUGCFilePath() { return my::JoinPath(GetPlatform().WritableDir(), kUGCUpdateFileName); }
@@ -56,21 +58,75 @@ string SerializeUGCIndex(vector<Storage::UGCIndex> const & indexes)
auto array = my::NewJSONArray();
for (auto const & index : indexes)
{
- vector<char> data;
+ string data;
{
Sink sink(data);
SerializerJson<Sink> ser(sink);
ser(index);
}
- data.push_back('\0');
- my::Json node(data.data());
+ my::Json node(data);
json_array_append_new(array.get(), node.get_deep_copy());
}
unique_ptr<char, JSONFreeDeleter> buffer(json_dumps(array.get(), JSON_COMPACT | JSON_ENSURE_ASCII));
return string(buffer.get());
}
+
+template <typename UGCUpdate>
+Storage::SettingResult SetGenericUGCUpdate(
+ vector<Storage::UGCIndex> & indexes, size_t & numberOfDeleted, FeatureID const & id,
+ UGCUpdate const & ugc,
+ FeatureType const & featureType,
+ Version const version = Version::Latest)
+{
+ if (!ugc.IsValid())
+ return Storage::SettingResult::InvalidUGC;
+
+ auto const mercator = feature::GetCenter(featureType);
+ feature::TypesHolder th(featureType);
+ th.SortBySpec();
+ auto const optMatchingType = ftraits::UGC::GetType(th);
+ CHECK(optMatchingType, ());
+ auto const type = th.GetBestType();
+ for (auto & index : indexes)
+ {
+ if (type == index.m_type && mercator == index.m_mercator && !index.m_deleted)
+ {
+ index.m_deleted = true;
+ ++numberOfDeleted;
+ break;
+ }
+ }
+
+ Storage::UGCIndex index;
+ uint64_t offset;
+ if (!GetUGCFileSize(offset))
+ offset = 0;
+
+ index.m_mercator = mercator;
+ index.m_type = type;
+ index.m_matchingType = *optMatchingType;
+ index.m_mwmName = id.GetMwmName();
+ index.m_dataVersion = id.GetMwmVersion();
+ index.m_featureId = id.m_index;
+ index.m_offset = offset;
+
+ auto const ugcFilePath = GetUGCFilePath();
+ try
+ {
+ FileWriter w(ugcFilePath, FileWriter::Op::OP_APPEND);
+ Serialize(w, ugc, version);
+ indexes.emplace_back(move(index));
+ }
+ catch (FileWriter::Exception const & exception)
+ {
+ LOG(LERROR, ("Exception while writing file:", ugcFilePath, "reason:", exception.what()));
+ return Storage::SettingResult::WritingError;
+ }
+
+ return Storage::SettingResult::Success;
+}
} // namespace
UGCUpdate Storage::GetUGCUpdate(FeatureID const & id) const
@@ -104,7 +160,7 @@ UGCUpdate Storage::GetUGCUpdate(FeatureID const & id) const
}
catch (FileReader::Exception const & exception)
{
- LOG(LERROR, ("Exception while reading file:", ugcFilePath, "reason:", exception.Msg()));
+ LOG(LERROR, ("Exception while reading file:", ugcFilePath, "reason:", exception.what()));
return {};
}
@@ -115,48 +171,11 @@ UGCUpdate Storage::GetUGCUpdate(FeatureID const & id) const
return update;
}
-void Storage::SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc)
+Storage::SettingResult Storage::SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc)
{
auto const feature = GetFeature(id);
- auto const mercator = feature::GetCenter(*feature);
- feature::TypesHolder th(*feature);
- th.SortBySpec();
- auto const type = th.GetBestType();
- for (auto & index : m_UGCIndexes)
- {
- if (type == index.m_type && mercator == index.m_mercator && !index.m_deleted)
- {
- index.m_deleted = true;
- m_numberOfDeleted++;
- break;
- }
- }
- // TODO: Call Defragmentation().
-
- UGCIndex index;
- uint64_t offset;
- if (!GetUGCFileSize(offset))
- offset = 0;
-
- index.m_mercator = mercator;
- index.m_type = type;
- index.m_mwmName = id.GetMwmName();
- index.m_dataVersion = id.GetMwmVersion();
- index.m_featureId = id.m_index;
- index.m_offset = offset;
-
- auto const ugcFilePath = GetUGCFilePath();
- try
- {
- FileWriter w(ugcFilePath, FileWriter::Op::OP_APPEND);
- Serialize(w, ugc);
- m_UGCIndexes.emplace_back(move(index));
- }
- catch (FileWriter::Exception const & exception)
- {
- LOG(LERROR, ("Exception while writing file:", ugcFilePath, "reason:", exception.Msg()));
- return;
- }
+ return SetGenericUGCUpdate(m_UGCIndexes, m_numberOfDeleted, id, ugc,
+ *feature);
}
void Storage::Load()
@@ -170,7 +189,7 @@ void Storage::Load()
}
catch (FileReader::Exception const & exception)
{
- LOG(LWARNING, ("Exception while reading file:", indexFilePath, "reason:", exception.Msg()));
+ LOG(LWARNING, ("Exception while reading file:", indexFilePath, "reason:", exception.what()));
return;
}
@@ -196,7 +215,7 @@ void Storage::SaveIndex() const
}
catch (FileWriter::Exception const & exception)
{
- LOG(LERROR, ("Exception while writing file:", indexFilePath, "reason:", exception.Msg()));
+ LOG(LERROR, ("Exception while writing file:", indexFilePath, "reason:", exception.what()));
}
}
@@ -232,12 +251,12 @@ void Storage::Defragmentation()
}
catch (FileReader::Exception const & exception)
{
- LOG(LERROR, ("Exception while reading file:", ugcFilePath, "reason:", exception.Msg()));
+ LOG(LERROR, ("Exception while reading file:", ugcFilePath, "reason:", exception.what()));
return;
}
catch (FileWriter::Exception const & exception)
{
- LOG(LERROR, ("Exception while writing file:", tmpUGCFilePath, "reason:", exception.Msg()));
+ LOG(LERROR, ("Exception while writing file:", tmpUGCFilePath, "reason:", exception.what()));
return;
}
@@ -264,7 +283,7 @@ string Storage::GetUGCToSend() const
{
buf.clear();
auto const & index = m_UGCIndexes[i];
- if (index.m_synchronized)
+ if (index.m_synchronized || index.m_deleted)
continue;
auto const offset = index.m_offset;
@@ -276,7 +295,7 @@ string Storage::GetUGCToSend() const
}
catch (FileReader::Exception const & exception)
{
- LOG(LERROR, ("Exception while reading file:", ugcFilePath, "reason:", exception.Msg()));
+ LOG(LERROR, ("Exception while reading file:", ugcFilePath, "reason:", exception.what()));
return string();
}
@@ -285,19 +304,19 @@ string Storage::GetUGCToSend() const
UGCUpdate update;
Deserialize(source, update);
- vector<char> data;
+ string data;
{
Sink sink(data);
SerializerJson<Sink> ser(sink);
ser(update);
}
- data.push_back('\0');
- my::Json serializedUgc(data.data());
+ my::Json serializedUgc(data);
auto embeddedNode = my::NewJSONObject();
ToJSONObject(*embeddedNode.get(), "data_version", index.m_dataVersion);
ToJSONObject(*embeddedNode.get(), "mwm_name", index.m_mwmName);
ToJSONObject(*embeddedNode.get(), "feature_id", index.m_featureId);
+ ToJSONObject(*embeddedNode.get(), "feature_type", classif().GetReadableObjectName(index.m_matchingType));
ToJSONObject(*serializedUgc.get(), "feature", *embeddedNode.release());
json_array_append_new(array.get(), serializedUgc.get_deep_copy());
}
@@ -362,4 +381,14 @@ unique_ptr<FeatureType> Storage::GetFeature(FeatureID const & id) const
CHECK(feature, ());
return feature;
}
+
+// Testing
+Storage::SettingResult Storage::SetUGCUpdateForTesting(FeatureID const & id,
+ v0::UGCUpdate const & ugc)
+{
+ auto const feature = GetFeature(id);
+ return SetGenericUGCUpdate(m_UGCIndexes, m_numberOfDeleted, id, ugc,
+ *feature, Version::V0);
+}
+
} // namespace ugc
diff --git a/ugc/storage.hpp b/ugc/storage.hpp
index 355881ef4e..8eb4022fa6 100644
--- a/ugc/storage.hpp
+++ b/ugc/storage.hpp
@@ -23,12 +23,14 @@ public:
struct UGCIndex
{
DECLARE_VISITOR(visitor.VisitPoint(m_mercator, "x", "y"), visitor(m_type, "type"),
+ visitor(m_matchingType, "matching_type"),
visitor(m_offset, "offset"), visitor(m_deleted, "deleted"),
visitor(m_synchronized, "synchronized"), visitor(m_mwmName, "mwm_name"),
visitor(m_dataVersion, "data_version"), visitor(m_featureId, "feature_id"))
m2::PointD m_mercator{};
uint32_t m_type = 0;
+ uint32_t m_matchingType = 0;
uint64_t m_offset = 0;
bool m_deleted = false;
bool m_synchronized = false;
@@ -40,7 +42,15 @@ public:
explicit Storage(Index const & index) : m_index(index) {}
UGCUpdate GetUGCUpdate(FeatureID const & id) const;
- void SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc);
+
+ enum class SettingResult
+ {
+ Success,
+ InvalidUGC,
+ WritingError
+ };
+
+ SettingResult SetUGCUpdate(FeatureID const & id, UGCUpdate const & ugc);
void SaveIndex() const;
std::string GetUGCToSend() const;
void MarkAllAsSynchronized();
@@ -50,6 +60,7 @@ public:
/// Testing
std::vector<UGCIndex> const & GetIndexesForTesting() const { return m_UGCIndexes; }
size_t GetNumberOfDeletedForTesting() const { return m_numberOfDeleted; }
+ SettingResult SetUGCUpdateForTesting(FeatureID const & id, v0::UGCUpdate const & ugc);
private:
uint64_t UGCSizeAtIndex(size_t const indexPosition) const;
@@ -59,4 +70,14 @@ private:
std::vector<UGCIndex> m_UGCIndexes;
size_t m_numberOfDeleted = 0;
};
+
+inline std::string DebugPrint(Storage::SettingResult const & result)
+{
+ switch (result)
+ {
+ case Storage::SettingResult::Success: return "Success";
+ case Storage::SettingResult::InvalidUGC: return "Invalid UGC";
+ case Storage::SettingResult::WritingError: return "Writing Error";
+ }
+}
} // namespace ugc
diff --git a/ugc/types.hpp b/ugc/types.hpp
index e588ce7a2c..3817dc6b3f 100644
--- a/ugc/types.hpp
+++ b/ugc/types.hpp
@@ -140,6 +140,42 @@ inline std::string DebugPrint(Text const & text)
return os.str();
}
+struct KeyboardText
+{
+ KeyboardText() = default;
+ KeyboardText(std::string const & text, uint8_t const deviceLang,
+ std::vector<uint8_t> const & keyboardLangs)
+ : m_text(text), m_deviceLang(deviceLang), m_keyboardLangs(keyboardLangs)
+ {
+ }
+
+ DECLARE_VISITOR(visitor(m_text, "text"), visitor.VisitLang(m_deviceLang, "lang"),
+ visitor.VisitLangs(m_keyboardLangs, "kbd_langs"))
+
+ bool operator==(KeyboardText const & rhs) const
+ {
+ return m_text == rhs.m_text && m_deviceLang == rhs.m_deviceLang &&
+ m_keyboardLangs == rhs.m_keyboardLangs;
+ }
+
+ std::string m_text;
+ uint8_t m_deviceLang = StringUtf8Multilang::kDefaultCode;
+ std::vector<uint8_t> m_keyboardLangs;
+};
+
+inline std::string DebugPrint(KeyboardText const & text)
+{
+ std::ostringstream os;
+ os << "Keyboard text [ " << StringUtf8Multilang::GetLangByCode(text.m_deviceLang) << ": "
+ << text.m_text << " ]";
+ os << "Keyboard locales [ ";
+ for (auto const index : text.m_keyboardLangs)
+ os << StringUtf8Multilang::GetLangByCode(index) << " ";
+
+ os << " ]";
+ return os.str();
+}
+
struct Review
{
using ReviewId = uint64_t;
@@ -199,6 +235,84 @@ struct Attribute
TranslationKey m_value{};
};
+struct ReviewFeedback
+{
+ ReviewFeedback() = default;
+ ReviewFeedback(Sentiment const sentiment, Time const & time)
+ : m_sentiment(sentiment), m_time(time)
+ {
+ }
+
+ Sentiment m_sentiment{};
+ Time m_time{};
+};
+
+struct ReviewAbuse
+{
+ ReviewAbuse() = default;
+ ReviewAbuse(std::string const & reason, Time const & time) : m_reason(reason), m_time(time) {}
+
+ std::string m_reason{};
+ Time m_time{};
+};
+
+namespace v0
+{
+struct UGCUpdate
+{
+ UGCUpdate() = default;
+ UGCUpdate(Ratings const & records, Text const & text, Time const & time)
+ : m_ratings(records), m_text(text), m_time(time)
+ {
+ }
+
+ DECLARE_VISITOR(visitor(m_ratings, "ratings"), visitor(m_text, "text"), visitor(m_time, "date"))
+
+ bool operator==(UGCUpdate const & rhs) const
+ {
+ return m_ratings == rhs.m_ratings && m_text == rhs.m_text && m_time == rhs.m_time;
+ }
+
+ bool IsEmpty() const
+ {
+ return (m_ratings.empty() && m_text.m_text.empty()) || m_time == Time();
+ }
+
+ bool IsValid() const
+ {
+ bool const timeIsValid = m_time != Time();
+ if (!m_text.m_text.empty())
+ return timeIsValid;
+
+ bool ratingIsValid = false;
+ for (auto const & r : m_ratings)
+ {
+ if (static_cast<int>(r.m_value) > 0)
+ {
+ ratingIsValid = true;
+ break;
+ }
+ }
+
+ return ratingIsValid && timeIsValid;
+ }
+
+ Ratings m_ratings;
+ Text m_text;
+ Time m_time{};
+};
+
+inline std::string DebugPrint(UGCUpdate const & ugcUpdate)
+{
+ std::ostringstream os;
+ os << "UGCUpdate [ ";
+ os << "records:" << ::DebugPrint(ugcUpdate.m_ratings) << ", ";
+ os << "text:" << DebugPrint(ugcUpdate.m_text) << ", ";
+ os << "days since epoch:" << ToDaysSinceEpoch(ugcUpdate.m_time) << " ]";
+ return os.str();
+}
+} // namespace v0
+
struct UGC
{
UGC() = default;
@@ -242,7 +356,7 @@ inline std::string DebugPrint(UGC const & ugc)
struct UGCUpdate
{
UGCUpdate() = default;
- UGCUpdate(Ratings const & records, Text const & text, Time const & time)
+ UGCUpdate(Ratings const & records, KeyboardText const & text, Time const & time)
: m_ratings(records), m_text(text), m_time(time)
{
}
@@ -254,13 +368,40 @@ struct UGCUpdate
return m_ratings == rhs.m_ratings && m_text == rhs.m_text && m_time == rhs.m_time;
}
+ void BuildFrom(v0::UGCUpdate const & update)
+ {
+ m_ratings = update.m_ratings;
+ m_text.m_text = update.m_text.m_text;
+ m_text.m_deviceLang = update.m_text.m_lang;
+ m_time = update.m_time;
+ }
+
bool IsEmpty() const
{
- return !((!m_ratings.empty() || !m_text.m_text.empty()) && m_time != Time());
+ return (m_ratings.empty() && m_text.m_text.empty()) || m_time == Time();
+ }
+
+ bool IsValid() const
+ {
+ bool const timeIsValid = m_time != Time();
+ if (!m_text.m_text.empty())
+ return timeIsValid;
+
+ bool ratingIsValid = false;
+ for (auto const & r : m_ratings)
+ {
+ if (static_cast<int>(r.m_value) > 0)
+ {
+ ratingIsValid = true;
+ break;
+ }
+ }
+
+ return ratingIsValid && timeIsValid;
}
Ratings m_ratings;
- Text m_text;
+ KeyboardText m_text;
Time m_time{};
};
@@ -273,26 +414,5 @@ inline std::string DebugPrint(UGCUpdate const & ugcUpdate)
os << "days since epoch:" << ToDaysSinceEpoch(ugcUpdate.m_time) << " ]";
return os.str();
}
-
-struct ReviewFeedback
-{
- ReviewFeedback() = default;
- ReviewFeedback(Sentiment const sentiment, Time const & time)
- : m_sentiment(sentiment), m_time(time)
- {
- }
-
- Sentiment m_sentiment{};
- Time m_time{};
-};
-
-struct ReviewAbuse
-{
- ReviewAbuse() = default;
- ReviewAbuse(std::string const & reason, Time const & time) : m_reason(reason), m_time(time) {}
-
- std::string m_reason{};
- Time m_time{};
-};
} // namespace ugc
diff --git a/ugc/ugc_tests/serdes_tests.cpp b/ugc/ugc_tests/serdes_tests.cpp
index b3f5c0154f..a6e844533d 100644
--- a/ugc/ugc_tests/serdes_tests.cpp
+++ b/ugc/ugc_tests/serdes_tests.cpp
@@ -149,4 +149,26 @@ UNIT_TEST(SerDes_UGCUpdate)
TEST_EQUAL(expectedUGC, actualUGC, ());
}
+
+UNIT_TEST(SerDes_UGCUpdateDifferentVersions)
+{
+ auto const v0 = MakeTestUGCUpdateV0(Time(chrono::hours(24 * 10)));
+ TEST_EQUAL(v0, v0, ());
+
+ Buffer buffer;
+ {
+ auto sink = MakeSink(buffer);
+ Serialize(sink, v0, Version::V0);
+ }
+
+ UGCUpdate actualUGC{};
+ {
+ auto source = MakeSource(buffer);
+ Deserialize(source, actualUGC);
+ }
+
+ UGCUpdate expectedUgc;
+ expectedUgc.BuildFrom(v0);
+ TEST_EQUAL(expectedUgc, actualUGC, ());
+}
} // namespace
diff --git a/ugc/ugc_tests/storage_tests.cpp b/ugc/ugc_tests/storage_tests.cpp
index 84219e734f..9a1792c155 100644
--- a/ugc/ugc_tests/storage_tests.cpp
+++ b/ugc/ugc_tests/storage_tests.cpp
@@ -4,6 +4,7 @@
#include "generator/generator_tests_support/test_mwm_builder.hpp"
#include "ugc/api.hpp"
+#include "ugc/serdes_json.hpp"
#include "ugc/ugc_tests/utils.hpp"
#include "storage/country_info_getter.hpp"
@@ -17,15 +18,19 @@
#include "coding/file_name_utils.hpp"
#include "coding/internal/file_data.hpp"
+#include "coding/writer.hpp"
#include "platform/local_country_file_utils.hpp"
#include "platform/platform.hpp"
#include <chrono>
#include <functional>
+#include <memory>
#include <string>
#include <vector>
+#include "3party/jansson/myjansson.hpp"
+
using namespace std;
using namespace generator::tests_support;
using namespace ugc;
@@ -97,6 +102,12 @@ public:
Index & GetIndex() { return m_index; }
+ ~MwmBuilder()
+ {
+ platform::CountryIndexes::DeleteFromDisk(m_testMwm);
+ m_testMwm.DeleteFromDisk(MapOptions::Map);
+ }
+
private:
MwmBuilder()
{
@@ -155,11 +166,20 @@ private:
storage::CountryInfoGetterForTesting m_infoGetter;
platform::LocalCountryFile m_testMwm;
};
+
+class StorageTest
+{
+public:
+ ~StorageTest()
+ {
+ TEST(DeleteUGCFile(), ());
+ }
+};
} // namespace ugc_tests
using namespace ugc_tests;
-UNIT_TEST(StorageTests_Smoke)
+UNIT_CLASS_TEST(StorageTest, Smoke)
{
auto & builder = MwmBuilder::Builder();
m2::PointD const point(1.0, 1.0);
@@ -168,17 +188,16 @@ UNIT_TEST(StorageTests_Smoke)
auto const original = MakeTestUGCUpdate(Time(chrono::hours(24 * 300)));
Storage storage(builder.GetIndex());
storage.Load();
- storage.SetUGCUpdate(id, original);
+ TEST_EQUAL(storage.SetUGCUpdate(id, original), Storage::SettingResult::Success, ());
auto const actual = storage.GetUGCUpdate(id);
TEST_EQUAL(original, actual, ());
TEST(!storage.GetUGCToSend().empty(), ());
storage.MarkAllAsSynchronized();
TEST(storage.GetUGCToSend().empty(), ());
TEST(DeleteIndexFile(), ());
- TEST(DeleteUGCFile(), ());
}
-UNIT_TEST(StorageTests_DuplicatesAndDefragmentationSmoke)
+UNIT_CLASS_TEST(StorageTest, DuplicatesAndDefragmentationSmoke)
{
auto & builder = MwmBuilder::Builder();
m2::PointD const point(1.0, 1.0);
@@ -191,11 +210,11 @@ UNIT_TEST(StorageTests_DuplicatesAndDefragmentationSmoke)
auto const last = MakeTestUGCUpdate(Time(chrono::hours(24 * 100)));
Storage storage(builder.GetIndex());
storage.Load();
- storage.SetUGCUpdate(cafeId, first);
- storage.SetUGCUpdate(cafeId, second);
- storage.SetUGCUpdate(cafeId, third);
- storage.SetUGCUpdate(cafeId, last);
- storage.SetUGCUpdate(railwayId, first);
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, first), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, second), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, third), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, last), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.SetUGCUpdate(railwayId, first), Storage::SettingResult::Success, ());
TEST_EQUAL(last, storage.GetUGCUpdate(cafeId), ());
TEST_EQUAL(storage.GetIndexesForTesting().size(), 5, ());
TEST_EQUAL(storage.GetNumberOfDeletedForTesting(), 3, ());
@@ -204,10 +223,9 @@ UNIT_TEST(StorageTests_DuplicatesAndDefragmentationSmoke)
TEST_EQUAL(storage.GetNumberOfDeletedForTesting(), 0, ());
TEST_EQUAL(last, storage.GetUGCUpdate(cafeId), ());
TEST_EQUAL(first, storage.GetUGCUpdate(railwayId), ());
- TEST(DeleteUGCFile(), ());
}
-UNIT_TEST(StorageTests_DifferentTypes)
+UNIT_CLASS_TEST(StorageTest, DifferentTypes)
{
auto & builder = MwmBuilder::Builder();
m2::PointD const point(1.0, 1.0);
@@ -218,14 +236,13 @@ UNIT_TEST(StorageTests_DifferentTypes)
auto const railwayUGC = MakeTestUGCUpdate(Time(chrono::hours(24 * 300)));
Storage storage(builder.GetIndex());
storage.Load();
- storage.SetUGCUpdate(cafeId, cafeUGC);
- storage.SetUGCUpdate(railwayId, railwayUGC);
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, cafeUGC), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.SetUGCUpdate(railwayId, railwayUGC), Storage::SettingResult::Success, ());
TEST_EQUAL(railwayUGC, storage.GetUGCUpdate(railwayId), ());
TEST_EQUAL(cafeUGC, storage.GetUGCUpdate(cafeId), ());
- TEST(DeleteUGCFile(), ());
}
-UNIT_TEST(StorageTest_LoadIndex)
+UNIT_CLASS_TEST(StorageTest, LoadIndex)
{
auto & builder = MwmBuilder::Builder();
m2::PointD const cafePoint(1.0, 1.0);
@@ -239,8 +256,8 @@ UNIT_TEST(StorageTest_LoadIndex)
{
Storage storage(builder.GetIndex());
storage.Load();
- storage.SetUGCUpdate(cafeId, cafeUGC);
- storage.SetUGCUpdate(railwayId, railwayUGC);
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, cafeUGC), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.SetUGCUpdate(railwayId, railwayUGC), Storage::SettingResult::Success, ());
storage.SaveIndex();
}
@@ -254,8 +271,108 @@ UNIT_TEST(StorageTest_LoadIndex)
TEST(!i.m_deleted, ());
}
- storage.SetUGCUpdate(cafeId, cafeUGC);
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, cafeUGC), Storage::SettingResult::Success, ());
TEST_EQUAL(indexArray.size(), 3, ());
TEST(DeleteIndexFile(), ());
- TEST(DeleteUGCFile(), ());
+}
+
+UNIT_CLASS_TEST(StorageTest, ContentTest)
+{
+ auto & builder = MwmBuilder::Builder();
+ m2::PointD const cafePoint(1.0, 1.0);
+ builder.Build({TestCafe(cafePoint)});
+ auto const cafeId = builder.FeatureIdForCafeAtPoint(cafePoint);
+ auto const oldUGC = MakeTestUGCUpdate(Time(chrono::hours(24 * 10)));
+ auto const newUGC = MakeTestUGCUpdate(Time(chrono::hours(24 * 300)));
+ Storage storage(builder.GetIndex());
+ storage.Load();
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, oldUGC), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, newUGC), Storage::SettingResult::Success, ());
+ TEST_EQUAL(storage.GetIndexesForTesting().size(), 2, ());
+ auto const toSendActual = storage.GetUGCToSend();
+
+ string data;
+ {
+ using Sink = MemWriter<string>;
+ Sink sink(data);
+ SerializerJson<Sink> ser(sink);
+ ser(newUGC);
+ }
+
+ my::Json ugcNode(data);
+ auto const & indexes = storage.GetIndexesForTesting();
+ TEST_EQUAL(indexes.size(), 2, ());
+ auto const & firstIndex = indexes.front();
+ auto const & lastIndex = indexes.back();
+ TEST(firstIndex.m_deleted, ());
+ TEST(!lastIndex.m_deleted, ());
+ TEST(!firstIndex.m_synchronized, ());
+ TEST(!lastIndex.m_synchronized, ());
+
+ auto embeddedNode = my::NewJSONObject();
+ ToJSONObject(*embeddedNode.get(), "data_version", lastIndex.m_dataVersion);
+ ToJSONObject(*embeddedNode.get(), "mwm_name", lastIndex.m_mwmName);
+ ToJSONObject(*embeddedNode.get(), "feature_id", lastIndex.m_featureId);
+ ToJSONObject(*embeddedNode.get(), "feature_type", classif().GetReadableObjectName(lastIndex.m_matchingType));
+ ToJSONObject(*ugcNode.get(), "feature", *embeddedNode.release());
+
+ auto array = my::NewJSONArray();
+ json_array_append_new(array.get(), ugcNode.get_deep_copy());
+ auto reviewsNode = my::NewJSONObject();
+ ToJSONObject(*reviewsNode.get(), "reviews", *array.release());
+ unique_ptr<char, JSONFreeDeleter> buffer(json_dumps(reviewsNode.get(), JSON_COMPACT | JSON_ENSURE_ASCII));
+ string const toSendExpected(buffer.get());
+ TEST_EQUAL(toSendActual, toSendExpected, ());
+ storage.MarkAllAsSynchronized();
+ TEST(firstIndex.m_synchronized, ());
+ TEST(lastIndex.m_synchronized, ());
+ TEST(DeleteIndexFile(), ());
+}
+
+UNIT_CLASS_TEST(StorageTest, InvalidUGC)
+{
+ auto & builder = MwmBuilder::Builder();
+ m2::PointD const cafePoint(1.0, 1.0);
+ builder.Build({TestCafe(cafePoint)});
+ auto const cafeId = builder.FeatureIdForCafeAtPoint(cafePoint);
+ Storage storage(builder.GetIndex());
+ storage.Load();
+
+ UGCUpdate first;
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, first), Storage::SettingResult::InvalidUGC, ());
+ first.m_time = chrono::system_clock::now();
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, first), Storage::SettingResult::InvalidUGC, ());
+ TEST(storage.GetIndexesForTesting().empty(), ());
+ TEST(storage.GetUGCToSend().empty(), ());
+ first.m_text = KeyboardText("a", 1, {2});
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, first), Storage::SettingResult::Success, ());
+ UGCUpdate second;
+ second.m_time = chrono::system_clock::now();
+ second.m_ratings.emplace_back("a", 0);
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, second), Storage::SettingResult::InvalidUGC, ());
+ second.m_ratings.emplace_back("b", 1);
+ TEST_EQUAL(storage.SetUGCUpdate(cafeId, second), Storage::SettingResult::Success, ());
+}
+
+UNIT_CLASS_TEST(StorageTest, DifferentUGCVersions)
+{
+ auto & builder = MwmBuilder::Builder();
+ m2::PointD const firstPoint(1.0, 1.0);
+ m2::PointD const secondPoint(2.0, 2.0);
+ builder.Build({TestCafe(firstPoint), TestCafe(secondPoint)});
+
+ Storage storage(builder.GetIndex());
+ storage.Load();
+
+ auto const firstId = builder.FeatureIdForCafeAtPoint(firstPoint);
+ auto const oldUGC = MakeTestUGCUpdateV0(Time(chrono::hours(24 * 10)));
+ TEST_EQUAL(storage.SetUGCUpdateForTesting(firstId, oldUGC), Storage::SettingResult::Success, ());
+ auto const secondId = builder.FeatureIdForCafeAtPoint(secondPoint);
+ auto const newUGC = MakeTestUGCUpdate(Time(chrono::hours(24 * 5)));
+ TEST_EQUAL(storage.SetUGCUpdate(secondId, newUGC), Storage::SettingResult::Success, ());
+
+ TEST_EQUAL(newUGC, storage.GetUGCUpdate(secondId), ());
+ UGCUpdate fromOld;
+ fromOld.BuildFrom(oldUGC);
+ TEST_EQUAL(fromOld, storage.GetUGCUpdate(firstId), ());
}
diff --git a/ugc/ugc_tests/utils.cpp b/ugc/ugc_tests/utils.cpp
index 11b178df42..b246837f28 100644
--- a/ugc/ugc_tests/utils.cpp
+++ b/ugc/ugc_tests/utils.cpp
@@ -43,7 +43,7 @@ UGC MakeTestUGC2(Time now)
return UGC(records, reviews, 5.0 /* rating */, 1 /* votes */);
}
-UGCUpdate MakeTestUGCUpdate(Time now)
+v0::UGCUpdate MakeTestUGCUpdateV0(Time now)
{
Ratings records;
records.emplace_back("food" /* key */, 4.0 /* value */);
@@ -54,6 +54,20 @@ UGCUpdate MakeTestUGCUpdate(Time now)
Time time{FromDaysAgo(now, 1)};
+ return v0::UGCUpdate(records, text, time);
+}
+
+UGCUpdate MakeTestUGCUpdate(Time now)
+{
+ Ratings records;
+ records.emplace_back("food" /* key */, 4.0 /* value */);
+ records.emplace_back("service" /* key */, 5.0 /* value */);
+ records.emplace_back("music" /* key */, 5.0 /* value */);
+
+ KeyboardText text{"It's aways nice to visit this place", StringUtf8Multilang::kEnglishCode, {1}};
+
+ Time time{FromDaysAgo(now, 1)};
+
return UGCUpdate(records, text, time);
}
}
diff --git a/ugc/ugc_tests/utils.hpp b/ugc/ugc_tests/utils.hpp
index cc4507bb8c..c28ab6b2f1 100644
--- a/ugc/ugc_tests/utils.hpp
+++ b/ugc/ugc_tests/utils.hpp
@@ -7,5 +7,6 @@ namespace ugc
UGC MakeTestUGC1(Time now = Clock::now());
UGC MakeTestUGC2(Time now = Clock::now());
+v0::UGCUpdate MakeTestUGCUpdateV0(Time now = Clock::now());
UGCUpdate MakeTestUGCUpdate(Time now = Clock::now());
} // namespace ugc
diff --git a/xcode/agg/agg.xcodeproj/project.pbxproj b/xcode/agg/agg.xcodeproj/project.pbxproj
index 4e6eee98ef..e3f11761ed 100644
--- a/xcode/agg/agg.xcodeproj/project.pbxproj
+++ b/xcode/agg/agg.xcodeproj/project.pbxproj
@@ -676,6 +676,22 @@
};
name = Release;
};
+ A8E541151F9FBCC300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558631DBF440C00A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E541161F9FBCC300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -684,6 +700,7 @@
buildConfigurations = (
67E8DB861BBC19810053C5BA /* Debug */,
67E8DB871BBC19810053C5BA /* Release */,
+ A8E541151F9FBCC300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -693,6 +710,7 @@
buildConfigurations = (
67E8DB891BBC19810053C5BA /* Debug */,
67E8DB8A1BBC19810053C5BA /* Release */,
+ A8E541161F9FBCC300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/alohalitics/alohalitics.xcodeproj/project.pbxproj b/xcode/alohalitics/alohalitics.xcodeproj/project.pbxproj
index 4742fc044f..76d2a19a29 100644
--- a/xcode/alohalitics/alohalitics.xcodeproj/project.pbxproj
+++ b/xcode/alohalitics/alohalitics.xcodeproj/project.pbxproj
@@ -182,6 +182,21 @@
};
name = Release;
};
+ A8E541171F9FBCCB00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34EBB4791DBF5159005BE9B8 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E541181F9FBCCB00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -190,6 +205,7 @@
buildConfigurations = (
67D1C7E81AE507D700A239E3 /* Debug */,
67D1C7E91AE507D700A239E3 /* Release */,
+ A8E541171F9FBCCB00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -199,6 +215,7 @@
buildConfigurations = (
67D1C7EB1AE507D700A239E3 /* Debug */,
67D1C7EC1AE507D700A239E3 /* Release */,
+ A8E541181F9FBCCB00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/api/api.xcodeproj/project.pbxproj b/xcode/api/api.xcodeproj/project.pbxproj
index c124d533a8..7f2498c3c6 100644
--- a/xcode/api/api.xcodeproj/project.pbxproj
+++ b/xcode/api/api.xcodeproj/project.pbxproj
@@ -256,6 +256,30 @@
};
name = Release;
};
+ A8E5413A1F9FBD5B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34763F481DBE28F800D370CF /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E5413B1F9FBD5B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5413C1F9FBD5B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = maps.me.api_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -264,6 +288,7 @@
buildConfigurations = (
3496AB8A1DC1F6CE00C5DDBA /* Debug */,
3496AB8B1DC1F6CE00C5DDBA /* Release */,
+ A8E5413C1F9FBD5B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -273,6 +298,7 @@
buildConfigurations = (
675347201A40577A00A0A8C3 /* Debug */,
675347211A40577A00A0A8C3 /* Release */,
+ A8E5413A1F9FBD5B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -282,6 +308,7 @@
buildConfigurations = (
675347231A40577A00A0A8C3 /* Debug */,
675347241A40577A00A0A8C3 /* Release */,
+ A8E5413B1F9FBD5B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/base/base.xcodeproj/project.pbxproj b/xcode/base/base.xcodeproj/project.pbxproj
index 3b58f82080..51c8c36ae2 100644
--- a/xcode/base/base.xcodeproj/project.pbxproj
+++ b/xcode/base/base.xcodeproj/project.pbxproj
@@ -739,6 +739,35 @@
};
name = Release;
};
+ A8E5413D1F9FBD6300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34BA2D6B1DBE169E00FAB345 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E5413E1F9FBD6300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5413F1F9FBD6300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "OMIM_UNIT_TEST_DISABLE_PLATFORM_INIT=1",
+ );
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = maps.me.base_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -747,6 +776,7 @@
buildConfigurations = (
39FD271C1CC65A7100AFF551 /* Debug */,
39FD271D1CC65A7100AFF551 /* Release */,
+ A8E5413F1F9FBD6300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -756,6 +786,7 @@
buildConfigurations = (
675341801A3F57BF00A0A8C3 /* Debug */,
675341811A3F57BF00A0A8C3 /* Release */,
+ A8E5413D1F9FBD6300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -765,6 +796,7 @@
buildConfigurations = (
675341831A3F57BF00A0A8C3 /* Debug */,
675341841A3F57BF00A0A8C3 /* Release */,
+ A8E5413E1F9FBD6300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/bsdiff/bsdiff.xcodeproj/project.pbxproj b/xcode/bsdiff/bsdiff.xcodeproj/project.pbxproj
index 1aa89f83fb..da2abcfac0 100644
--- a/xcode/bsdiff/bsdiff.xcodeproj/project.pbxproj
+++ b/xcode/bsdiff/bsdiff.xcodeproj/project.pbxproj
@@ -191,6 +191,21 @@
};
name = Release;
};
+ A8E540FC1F9FBB7700A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 4586D0B01F4810A700DF9CE5 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E540FD1F9FBB7700A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -199,6 +214,7 @@
buildConfigurations = (
4586D0AA1F480FE600DF9CE5 /* Debug */,
4586D0AB1F480FE600DF9CE5 /* Release */,
+ A8E540FC1F9FBB7700A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -208,6 +224,7 @@
buildConfigurations = (
4586D0AD1F480FE600DF9CE5 /* Debug */,
4586D0AE1F480FE600DF9CE5 /* Release */,
+ A8E540FD1F9FBB7700A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/coding/coding.xcodeproj/project.pbxproj b/xcode/coding/coding.xcodeproj/project.pbxproj
index 57707d3f2f..e06d4b16f5 100644
--- a/xcode/coding/coding.xcodeproj/project.pbxproj
+++ b/xcode/coding/coding.xcodeproj/project.pbxproj
@@ -806,6 +806,41 @@
};
name = Release;
};
+ A8E541401F9FBD6B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34A72A441DBE4989003D1F5F /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "U_DISABLE_RENAMING=1",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)",
+ "$(BOOST_ROOT)",
+ "$(OMIM_ROOT)/3party/icu/common",
+ "$(OMIM_ROOT)/3party/icu/i18n",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541411F9FBD6B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541421F9FBD6B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = maps.me.coding_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -814,6 +849,7 @@
buildConfigurations = (
394916941BAC3A5F002A8C4F /* Debug */,
394916951BAC3A5F002A8C4F /* Release */,
+ A8E541421F9FBD6B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -823,6 +859,7 @@
buildConfigurations = (
675342241A3F586300A0A8C3 /* Debug */,
675342251A3F586300A0A8C3 /* Release */,
+ A8E541401F9FBD6B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -832,6 +869,7 @@
buildConfigurations = (
675342271A3F586300A0A8C3 /* Debug */,
675342281A3F586300A0A8C3 /* Release */,
+ A8E541411F9FBD6B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/common.xcconfig b/xcode/common.xcconfig
index 4d4a456712..fcd2da8c47 100644
--- a/xcode/common.xcconfig
+++ b/xcode/common.xcconfig
@@ -1,4 +1,4 @@
-CURRENT_PROJECT_VERSION = 7.5.1
+CURRENT_PROJECT_VERSION = 7.6.1
// Paths
OMIM_ROOT = $(PROJECT_DIR)/../..
@@ -66,6 +66,7 @@ GCC_NO_COMMON_BLOCKS = YES
GCC_PRECOMPILE_PREFIX_HEADER = YES
ONLY_ACTIVE_ARCH = YES
PRODUCT_NAME = $(TARGET_NAME)
-VALID_ARCHS = arm64
+SKIP_INSTALL = YES
+VALID_ARCHS = armv7 armv7s arm64
VALID_ARCHS[sdk=iphonesimulator*] = x86_64
VALID_ARCHS[sdk=macosx*] = x86_64
diff --git a/xcode/drape/drape.xcodeproj/project.pbxproj b/xcode/drape/drape.xcodeproj/project.pbxproj
index e138e77e06..6a2011f786 100644
--- a/xcode/drape/drape.xcodeproj/project.pbxproj
+++ b/xcode/drape/drape.xcodeproj/project.pbxproj
@@ -600,6 +600,35 @@
};
name = Release;
};
+ A8E541431F9FBD7400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34AF87CA1DBE4F4900E5E7DC /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "U_DISABLE_RENAMING=1",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/glm/",
+ "$(OMIM_ROOT)/3party/freetype/include",
+ "$(OMIM_ROOT)/3party/expat/lib",
+ "$(OMIM_ROOT)/3party/icu/common",
+ "$(OMIM_ROOT)/3party/icu/i18n",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541441F9FBD7400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXCLUDED_SOURCE_FILE_NAMES = "";
+ "EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*]" = hw_texture_ios.mm;
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -608,6 +637,7 @@
buildConfigurations = (
6729A4FA1A691F6A007D5872 /* Debug */,
6729A4FB1A691F6A007D5872 /* Release */,
+ A8E541431F9FBD7400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -617,6 +647,7 @@
buildConfigurations = (
6729A4FD1A691F6A007D5872 /* Debug */,
6729A4FE1A691F6A007D5872 /* Release */,
+ A8E541441F9FBD7400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/drape_frontend/drape_frontend.xcodeproj/project.pbxproj b/xcode/drape_frontend/drape_frontend.xcodeproj/project.pbxproj
index dae06d12ba..023358468f 100644
--- a/xcode/drape_frontend/drape_frontend.xcodeproj/project.pbxproj
+++ b/xcode/drape_frontend/drape_frontend.xcodeproj/project.pbxproj
@@ -1119,6 +1119,33 @@
};
name = Release;
};
+ A8E541451F9FBD7B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34AF87CC1DBE508400E5E7DC /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "U_DISABLE_RENAMING=1",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(OMIM_ROOT)",
+ "$(BOOST_ROOT)",
+ "$(OMIM_ROOT)/3party/glm",
+ "$(OMIM_ROOT)/3party/protobuf/protobuf/src",
+ "$(OMIM_ROOT)/3party/protobuf",
+ "$(OMIM_ROOT)/3party/freetype/include",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541461F9FBD7B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -1127,6 +1154,7 @@
buildConfigurations = (
6709473C1BDF9B82005014C0 /* Debug */,
6709473D1BDF9B82005014C0 /* Release */,
+ A8E541451F9FBD7B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1136,6 +1164,7 @@
buildConfigurations = (
6709473F1BDF9B82005014C0 /* Debug */,
670947401BDF9B82005014C0 /* Release */,
+ A8E541461F9FBD7B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/editor/editor.xcodeproj/project.pbxproj b/xcode/editor/editor.xcodeproj/project.pbxproj
index ac5fc70d72..7f213fed9e 100644
--- a/xcode/editor/editor.xcodeproj/project.pbxproj
+++ b/xcode/editor/editor.xcodeproj/project.pbxproj
@@ -424,6 +424,30 @@
};
name = Release;
};
+ A8E541471F9FBD8400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F5586F1DBF49B200A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E541481F9FBD8400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541491F9FBD8400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = ru.mail.editor_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -432,6 +456,7 @@
buildConfigurations = (
3411386D1C15AD97002E3B3E /* Debug */,
3411386E1C15AD97002E3B3E /* Release */,
+ A8E541471F9FBD8400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -441,6 +466,7 @@
buildConfigurations = (
341138701C15AD97002E3B3E /* Debug */,
341138711C15AD97002E3B3E /* Release */,
+ A8E541481F9FBD8400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -450,6 +476,7 @@
buildConfigurations = (
3496ABCE1DC2031900C5DDBA /* Debug */,
3496ABCF1DC2031900C5DDBA /* Release */,
+ A8E541491F9FBD8400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/expat/expat.xcodeproj/project.pbxproj b/xcode/expat/expat.xcodeproj/project.pbxproj
index efeb28d07a..cb24877626 100644
--- a/xcode/expat/expat.xcodeproj/project.pbxproj
+++ b/xcode/expat/expat.xcodeproj/project.pbxproj
@@ -184,6 +184,26 @@
};
name = Release;
};
+ A8E541191F9FBCD200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34EBB47B1DBF51D4005BE9B8 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ HAVE_MEMMOVE,
+ );
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E5411A1F9FBCD200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -192,6 +212,7 @@
buildConfigurations = (
670D05011B0BAEE50013A7AC /* Debug */,
670D05021B0BAEE50013A7AC /* Release */,
+ A8E541191F9FBCD200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -201,6 +222,7 @@
buildConfigurations = (
670D05041B0BAEE50013A7AC /* Debug */,
670D05051B0BAEE50013A7AC /* Release */,
+ A8E5411A1F9FBCD200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/freetype/freetype.xcodeproj/project.pbxproj b/xcode/freetype/freetype.xcodeproj/project.pbxproj
index 403b5a6443..09b931664b 100644
--- a/xcode/freetype/freetype.xcodeproj/project.pbxproj
+++ b/xcode/freetype/freetype.xcodeproj/project.pbxproj
@@ -1976,6 +1976,32 @@
};
name = Release;
};
+ A8E5411B1F9FBCDC00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558671DBF474D00A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ FT2_BUILD_LIBRARY = 1;
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/freetype/include",
+ );
+ WARNING_CFLAGS = "-Wno-implicit-function-declaration";
+ };
+ name = "Production Full";
+ };
+ A8E5411C1F9FBCDC00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "FT2_BUILD_LIBRARY=1",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -1984,6 +2010,7 @@
buildConfigurations = (
6753485B1A408D9300A0A8C3 /* Debug */,
6753485C1A408D9300A0A8C3 /* Release */,
+ A8E5411B1F9FBCDC00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1993,6 +2020,7 @@
buildConfigurations = (
6753485E1A408D9300A0A8C3 /* Debug */,
6753485F1A408D9300A0A8C3 /* Release */,
+ A8E5411C1F9FBCDC00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/generator/generator.xcodeproj/project.pbxproj b/xcode/generator/generator.xcodeproj/project.pbxproj
index d8b1a4db23..f02155eb50 100644
--- a/xcode/generator/generator.xcodeproj/project.pbxproj
+++ b/xcode/generator/generator.xcodeproj/project.pbxproj
@@ -675,6 +675,37 @@
};
name = Release;
};
+ A8E5414D1F9FBD9200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34AF87D01DBE52DC00E5E7DC /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/gflags/src",
+ "$(OMIM_ROOT)/3party/osrm/osrm-backend/include",
+ "$(QT_PATH)/include",
+ "$(OMIM_ROOT)/3party/glm",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5414E1F9FBD9200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5414F1F9FBD9200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -683,6 +714,7 @@
buildConfigurations = (
675340241A3F2A1B00A0A8C3 /* Debug */,
675340251A3F2A1B00A0A8C3 /* Release */,
+ A8E5414D1F9FBD9200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -692,6 +724,7 @@
buildConfigurations = (
675340271A3F2A1B00A0A8C3 /* Debug */,
675340281A3F2A1B00A0A8C3 /* Release */,
+ A8E5414E1F9FBD9200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -701,6 +734,7 @@
buildConfigurations = (
67BC92D41D1A9E5F00A4A378 /* Debug */,
67BC92D51D1A9E5F00A4A378 /* Release */,
+ A8E5414F1F9FBD9200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/generator_tool/generator_tool.xcodeproj/project.pbxproj b/xcode/generator_tool/generator_tool.xcodeproj/project.pbxproj
index 53de3a5d6e..5035c91ba4 100644
--- a/xcode/generator_tool/generator_tool.xcodeproj/project.pbxproj
+++ b/xcode/generator_tool/generator_tool.xcodeproj/project.pbxproj
@@ -821,6 +821,51 @@
};
name = Release;
};
+ A8E541501F9FBD9900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558541DBF3ACC00A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/gflags/src/",
+ "$(OMIM_ROOT)/3party/glm",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541511F9FBD9900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541521F9FBD9900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ PRODUCT_NAME = generator_tests;
+ WARNING_CFLAGS = "-Wnull-conversion";
+ };
+ name = "Production Full";
+ };
+ A8E541531F9FBD9900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541541F9FBD9900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -829,6 +874,7 @@
buildConfigurations = (
6726C2331A4C2BBD005EEA39 /* Debug */,
6726C2341A4C2BBD005EEA39 /* Release */,
+ A8E541521F9FBD9900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -838,6 +884,7 @@
buildConfigurations = (
673746641CF4639F005E6D1F /* Debug */,
673746651CF4639F005E6D1F /* Release */,
+ A8E541531F9FBD9900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -847,6 +894,7 @@
buildConfigurations = (
6753415D1A3F54D800A0A8C3 /* Debug */,
6753415E1A3F54D800A0A8C3 /* Release */,
+ A8E541501F9FBD9900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -856,6 +904,7 @@
buildConfigurations = (
675341601A3F54D800A0A8C3 /* Debug */,
675341611A3F54D800A0A8C3 /* Release */,
+ A8E541511F9FBD9900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -865,6 +914,7 @@
buildConfigurations = (
679624621D100F2500AE4E3C /* Debug */,
679624631D100F2500AE4E3C /* Release */,
+ A8E541541F9FBD9900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/geometry/geometry.xcodeproj/project.pbxproj b/xcode/geometry/geometry.xcodeproj/project.pbxproj
index aa7995ee87..ecca79b1b3 100644
--- a/xcode/geometry/geometry.xcodeproj/project.pbxproj
+++ b/xcode/geometry/geometry.xcodeproj/project.pbxproj
@@ -628,6 +628,34 @@
};
name = Release;
};
+ A8E5414A1F9FBD8B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34AF87CE1DBE517700E5E7DC /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E5414B1F9FBD8B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5414C1F9FBD8B00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "OMIM_UNIT_TEST_DISABLE_PLATFORM_INIT=1",
+ );
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = maps.me.geometry_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -636,6 +664,7 @@
buildConfigurations = (
670F29611BA9D39A00F2ABF4 /* Debug */,
670F29621BA9D39A00F2ABF4 /* Release */,
+ A8E5414C1F9FBD8B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -645,6 +674,7 @@
buildConfigurations = (
6753449A1A3F684600A0A8C3 /* Debug */,
6753449B1A3F684600A0A8C3 /* Release */,
+ A8E5414A1F9FBD8B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -654,6 +684,7 @@
buildConfigurations = (
6753449D1A3F684600A0A8C3 /* Debug */,
6753449E1A3F684600A0A8C3 /* Release */,
+ A8E5414B1F9FBD8B00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/gflags/gflags.xcodeproj/project.pbxproj b/xcode/gflags/gflags.xcodeproj/project.pbxproj
index 5270698473..31ffaa5080 100644
--- a/xcode/gflags/gflags.xcodeproj/project.pbxproj
+++ b/xcode/gflags/gflags.xcodeproj/project.pbxproj
@@ -180,6 +180,26 @@
};
name = Release;
};
+ A8E5411D1F9FBCE900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558611DBF434600A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/gflags/src",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5411E1F9FBCE900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -188,6 +208,7 @@
buildConfigurations = (
675344361A3F64E400A0A8C3 /* Debug */,
675344371A3F64E400A0A8C3 /* Release */,
+ A8E5411D1F9FBCE900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -197,6 +218,7 @@
buildConfigurations = (
675344391A3F64E400A0A8C3 /* Debug */,
6753443A1A3F64E400A0A8C3 /* Release */,
+ A8E5411E1F9FBCE900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/icu/icu.xcodeproj/project.pbxproj b/xcode/icu/icu.xcodeproj/project.pbxproj
index 213f86d662..1e17c5ad73 100644
--- a/xcode/icu/icu.xcodeproj/project.pbxproj
+++ b/xcode/icu/icu.xcodeproj/project.pbxproj
@@ -2511,6 +2511,38 @@
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
+ A8E541041F9FBBF800A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = BBB16C1B1E8276A50058BF1E /* common-release.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "U_I18N_IMPLEMENTATION=1",
+ "U_COMMON_IMPLEMENTATION=1",
+ "U_STATIC_IMPLEMENTATION=1",
+ "U_CHARSET_IS_UTF8=1",
+ "U_DISABLE_RENAMING=1",
+ );
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)",
+ "$(BOOST_ROOT)",
+ "$(OMIM_ROOT)/3party/icu/i18n",
+ "$(OMIM_ROOT)/3party/icu/common",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541051F9FBBF800A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
BBB165E01E8275120058BF1E /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = BBB16C1A1E8276A50058BF1E /* common-debug.xcconfig */;
@@ -2583,6 +2615,7 @@
buildConfigurations = (
BBB165E01E8275120058BF1E /* Debug */,
BBB165E11E8275120058BF1E /* Release */,
+ A8E541041F9FBBF800A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -2592,6 +2625,7 @@
buildConfigurations = (
BBB165E31E8275120058BF1E /* Debug */,
BBB165E41E8275120058BF1E /* Release */,
+ A8E541051F9FBBF800A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/indexer/indexer.xcodeproj/project.pbxproj b/xcode/indexer/indexer.xcodeproj/project.pbxproj
index ab6767a739..7ba240c320 100644
--- a/xcode/indexer/indexer.xcodeproj/project.pbxproj
+++ b/xcode/indexer/indexer.xcodeproj/project.pbxproj
@@ -1223,6 +1223,44 @@
};
name = Release;
};
+ A8E541551F9FBDA300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34AF87D21DBE540700E5E7DC /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/protobuf/protobuf/src",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541561F9FBDA300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541571F9FBDA300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541581F9FBDA300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "maps.me.indexer-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -1231,6 +1269,7 @@
buildConfigurations = (
34AF87E01DBE561400E5E7DC /* Debug */,
34AF87E11DBE561400E5E7DC /* Release */,
+ A8E541571F9FBDA300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1240,6 +1279,7 @@
buildConfigurations = (
670C612A1AB0661100C38A8C /* Debug */,
670C612B1AB0661100C38A8C /* Release */,
+ A8E541581F9FBDA300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1249,6 +1289,7 @@
buildConfigurations = (
675340A31A3F53CB00A0A8C3 /* Debug */,
675340A41A3F53CB00A0A8C3 /* Release */,
+ A8E541551F9FBDA300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1258,6 +1299,7 @@
buildConfigurations = (
675340A61A3F53CB00A0A8C3 /* Debug */,
675340A71A3F53CB00A0A8C3 /* Release */,
+ A8E541561F9FBDA300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/jansson/jansson.xcodeproj/project.pbxproj b/xcode/jansson/jansson.xcodeproj/project.pbxproj
index 9e4bc36bc4..be0650a60d 100644
--- a/xcode/jansson/jansson.xcodeproj/project.pbxproj
+++ b/xcode/jansson/jansson.xcodeproj/project.pbxproj
@@ -252,6 +252,26 @@
};
name = Release;
};
+ A8E5411F1F9FBCF500A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558691DBF483000A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541201F9FBCF500A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -260,6 +280,7 @@
buildConfigurations = (
675344561A3F664300A0A8C3 /* Debug */,
675344571A3F664300A0A8C3 /* Release */,
+ A8E5411F1F9FBCF500A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -269,6 +290,7 @@
buildConfigurations = (
675344591A3F664300A0A8C3 /* Debug */,
6753445A1A3F664300A0A8C3 /* Release */,
+ A8E541201F9FBCF500A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/local_ads/local_ads.xcodeproj/project.pbxproj b/xcode/local_ads/local_ads.xcodeproj/project.pbxproj
index 6ecd012a94..f8f61cc0d5 100644
--- a/xcode/local_ads/local_ads.xcodeproj/project.pbxproj
+++ b/xcode/local_ads/local_ads.xcodeproj/project.pbxproj
@@ -333,6 +333,30 @@
};
name = Release;
};
+ A8E541011F9FBBDA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 45FFD65B1E965E3A00DB854E /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E541021F9FBBDA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541031F9FBBDA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "maps.me.local-ads-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -341,6 +365,7 @@
buildConfigurations = (
45FFD64F1E965DBB00DB854E /* Debug */,
45FFD6501E965DBB00DB854E /* Release */,
+ A8E541011F9FBBDA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -350,6 +375,7 @@
buildConfigurations = (
45FFD6521E965DBB00DB854E /* Debug */,
45FFD6531E965DBB00DB854E /* Release */,
+ A8E541021F9FBBDA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -359,6 +385,7 @@
buildConfigurations = (
45FFD6771E965EFB00DB854E /* Debug */,
45FFD6781E965EFB00DB854E /* Release */,
+ A8E541031F9FBBDA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/map/map.xcodeproj/project.pbxproj b/xcode/map/map.xcodeproj/project.pbxproj
index 17a9ea3a7a..fdcfc27289 100644
--- a/xcode/map/map.xcodeproj/project.pbxproj
+++ b/xcode/map/map.xcodeproj/project.pbxproj
@@ -788,6 +788,46 @@
};
name = Release;
};
+ A8E541591F9FBDAC00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34AF87EA1DBE5AD000E5E7DC /* common-release.xcconfig */;
+ buildSettings = {
+ EXCLUDED_SOURCE_FILE_NAMES = "";
+ "EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*]" = "qgl_render_context.*";
+ "EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*]" = "qgl_render_context.*";
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(QT_PATH)/include",
+ "$(OMIM_ROOT)/3party/freetype/include",
+ "$(OMIM_ROOT)/3party/expat/lib",
+ "$(OMIM_ROOT)/3party/glm",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5415A1F9FBDAC00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WARNING_CFLAGS = "-Wno-deprecated-register ";
+ };
+ name = "Production Full";
+ };
+ A8E5415B1F9FBDAC00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "OMIM_UNIT_TEST_WITH_QT_EVENT_LOOP=1",
+ );
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = maps.me.map_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -796,6 +836,7 @@
buildConfigurations = (
674A29E41B26FD1C001A525C /* Debug */,
674A29E51B26FD1C001A525C /* Release */,
+ A8E5415B1F9FBDAC00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -805,6 +846,7 @@
buildConfigurations = (
675345C41A4054AD00A0A8C3 /* Debug */,
675345C51A4054AD00A0A8C3 /* Release */,
+ A8E541591F9FBDAC00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -814,6 +856,7 @@
buildConfigurations = (
675345C71A4054AD00A0A8C3 /* Debug */,
675345C81A4054AD00A0A8C3 /* Release */,
+ A8E5415A1F9FBDAC00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/mapshot/mapshot.xcodeproj/project.pbxproj b/xcode/mapshot/mapshot.xcodeproj/project.pbxproj
index c91aca539b..fc7ea80d7b 100644
--- a/xcode/mapshot/mapshot.xcodeproj/project.pbxproj
+++ b/xcode/mapshot/mapshot.xcodeproj/project.pbxproj
@@ -332,6 +332,25 @@
};
name = Release;
};
+ A8E5415C1F9FBDB300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3475E0E01DBF57AC004C7E69 /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/glm",
+ "$(OMIM_ROOT)/3party/gflags/src/",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5415D1F9FBDB300A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -340,6 +359,7 @@
buildConfigurations = (
675D21361BFB6F3D00717E4F /* Debug */,
675D21371BFB6F3D00717E4F /* Release */,
+ A8E5415C1F9FBDB300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -349,6 +369,7 @@
buildConfigurations = (
675D21391BFB6F3D00717E4F /* Debug */,
675D213A1BFB6F3D00717E4F /* Release */,
+ A8E5415D1F9FBDB300A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/minizip/minizip.xcodeproj/project.pbxproj b/xcode/minizip/minizip.xcodeproj/project.pbxproj
index f0dd7ebef3..0f03e3b1af 100644
--- a/xcode/minizip/minizip.xcodeproj/project.pbxproj
+++ b/xcode/minizip/minizip.xcodeproj/project.pbxproj
@@ -204,6 +204,26 @@
};
name = Release;
};
+ A8E541211F9FBCFE00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34EBB47D1DBF525A005BE9B8 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "NOCRYPT=1",
+ );
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E541221F9FBCFE00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -212,6 +232,7 @@
buildConfigurations = (
671F590E1B87568D0032311E /* Debug */,
671F590F1B87568D0032311E /* Release */,
+ A8E541211F9FBCFE00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -221,6 +242,7 @@
buildConfigurations = (
671F59111B87568D0032311E /* Debug */,
671F59121B87568D0032311E /* Release */,
+ A8E541221F9FBCFE00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/mwm_diff/mwm_diff.xcodeproj/project.pbxproj b/xcode/mwm_diff/mwm_diff.xcodeproj/project.pbxproj
index e269f61889..47c1000314 100644
--- a/xcode/mwm_diff/mwm_diff.xcodeproj/project.pbxproj
+++ b/xcode/mwm_diff/mwm_diff.xcodeproj/project.pbxproj
@@ -163,6 +163,21 @@
};
name = Release;
};
+ A8E540FA1F9FBB3400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 4586D0E11F48132A00DF9CE5 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E540FB1F9FBB3400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -171,6 +186,7 @@
buildConfigurations = (
4586D0DB1F48130600DF9CE5 /* Debug */,
4586D0DC1F48130600DF9CE5 /* Release */,
+ A8E540FA1F9FBB3400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -180,6 +196,7 @@
buildConfigurations = (
4586D0DE1F48130600DF9CE5 /* Debug */,
4586D0DF1F48130600DF9CE5 /* Release */,
+ A8E540FB1F9FBB3400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/oauthcpp/oauthcpp.xcodeproj/project.pbxproj b/xcode/oauthcpp/oauthcpp.xcodeproj/project.pbxproj
index 93e7ee3fce..aaf3f93e7f 100644
--- a/xcode/oauthcpp/oauthcpp.xcodeproj/project.pbxproj
+++ b/xcode/oauthcpp/oauthcpp.xcodeproj/project.pbxproj
@@ -204,6 +204,26 @@
};
name = Release;
};
+ A8E541231F9FBD0600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558711DBF4AB300A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/liboauthcpp/include",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541241F9FBD0600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -212,6 +232,7 @@
buildConfigurations = (
340C20F11C3E5E5000111D22 /* Debug */,
340C20F21C3E5E5000111D22 /* Release */,
+ A8E541231F9FBD0600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -221,6 +242,7 @@
buildConfigurations = (
340C20F41C3E5E5000111D22 /* Debug */,
340C20F51C3E5E5000111D22 /* Release */,
+ A8E541241F9FBD0600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/opening_hours/opening_hours.xcodeproj/project.pbxproj b/xcode/opening_hours/opening_hours.xcodeproj/project.pbxproj
index cab74ef760..794f36e589 100644
--- a/xcode/opening_hours/opening_hours.xcodeproj/project.pbxproj
+++ b/xcode/opening_hours/opening_hours.xcodeproj/project.pbxproj
@@ -530,6 +530,64 @@
};
name = Release;
};
+ A8E541251F9FBD0F00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558651DBF460300A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E541261F9FBD0F00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COMBINE_HIDPI_IMAGES = YES;
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541271F9FBD0F00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541281F9FBD0F00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541291F9FBD0F00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5412A1F9FBD0F00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = opening_hours_tests_ios/Info.plist;
+ PRODUCT_BUNDLE_IDENTIFIER = opening_hours_tests_ios;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5412B1F9FBD0F00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = opening_hours_integration_tests_ios/Info.plist;
+ PRODUCT_BUNDLE_IDENTIFIER = opening_hours_integration_tests_ios;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
E91738B81BECD02B00717F6E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -606,6 +664,7 @@
buildConfigurations = (
670C61F01AC3511700C38A8C /* Debug */,
670C61F11AC3511700C38A8C /* Release */,
+ A8E541251F9FBD0F00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -615,6 +674,7 @@
buildConfigurations = (
670C61F31AC3511700C38A8C /* Debug */,
670C61F41AC3511700C38A8C /* Release */,
+ A8E541261F9FBD0F00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -624,6 +684,7 @@
buildConfigurations = (
670C62041AC351AC00C38A8C /* Debug */,
670C62051AC351AC00C38A8C /* Release */,
+ A8E541271F9FBD0F00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -633,6 +694,7 @@
buildConfigurations = (
E91738B81BECD02B00717F6E /* Debug */,
E91738B91BECD02B00717F6E /* Release */,
+ A8E541281F9FBD0F00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -642,6 +704,7 @@
buildConfigurations = (
E91738C51BECD08500717F6E /* Debug */,
E91738C61BECD08500717F6E /* Release */,
+ A8E541291F9FBD0F00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -651,6 +714,7 @@
buildConfigurations = (
E91738FA1BECD36F00717F6E /* Debug */,
E91738FB1BECD36F00717F6E /* Release */,
+ A8E5412A1F9FBD0F00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -660,6 +724,7 @@
buildConfigurations = (
E917391D1BECD60000717F6E /* Debug */,
E917391E1BECD60000717F6E /* Release */,
+ A8E5412B1F9FBD0F00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/openlr/openlr.xcodeproj/project.pbxproj b/xcode/openlr/openlr.xcodeproj/project.pbxproj
index 11a74c6a9a..c96bccd1b5 100644
--- a/xcode/openlr/openlr.xcodeproj/project.pbxproj
+++ b/xcode/openlr/openlr.xcodeproj/project.pbxproj
@@ -199,6 +199,21 @@
};
name = Release;
};
+ A8E5415E1F9FBDBA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 671E79201E6A503F00B2859B /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E5415F1F9FBDBA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -207,6 +222,7 @@
buildConfigurations = (
671E78FC1E6A4FE400B2859B /* Debug */,
671E78FD1E6A4FE400B2859B /* Release */,
+ A8E5415E1F9FBDBA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -216,6 +232,7 @@
buildConfigurations = (
671E78FF1E6A4FE400B2859B /* Debug */,
671E79001E6A4FE400B2859B /* Release */,
+ A8E5415F1F9FBDBA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/osrm/osrm.xcodeproj/project.pbxproj b/xcode/osrm/osrm.xcodeproj/project.pbxproj
index e5600406df..6c9fbb3329 100644
--- a/xcode/osrm/osrm.xcodeproj/project.pbxproj
+++ b/xcode/osrm/osrm.xcodeproj/project.pbxproj
@@ -488,6 +488,27 @@
};
name = Release;
};
+ A8E5412C1F9FBD1900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558731DBF4B3400A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/osrm/osrm-backend/third_party",
+ "$(OMIM_ROOT)/3party/osrm/osrm-backend/include",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5412D1F9FBD1900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -496,6 +517,7 @@
buildConfigurations = (
67534D4A1A40B7ED00A0A8C3 /* Debug */,
67534D4B1A40B7ED00A0A8C3 /* Release */,
+ A8E5412C1F9FBD1900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -505,6 +527,7 @@
buildConfigurations = (
67534D4D1A40B7ED00A0A8C3 /* Debug */,
67534D4E1A40B7ED00A0A8C3 /* Release */,
+ A8E5412D1F9FBD1900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/partners_api/partners_api.xcodeproj/project.pbxproj b/xcode/partners_api/partners_api.xcodeproj/project.pbxproj
index d9424283eb..b5b9835eb8 100644
--- a/xcode/partners_api/partners_api.xcodeproj/project.pbxproj
+++ b/xcode/partners_api/partners_api.xcodeproj/project.pbxproj
@@ -440,6 +440,39 @@
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
+ A8E541121F9FBC5600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3475E0E21DBF581B004C7E69 /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541131F9FBC5600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541141F9FBC5600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "OMIM_UNIT_TEST_WITH_QT_EVENT_LOOP=1",
+ );
+ INFOPLIST_FILE = "$(SRCROOT)/../../iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = partners_api_test;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
F6B536361DA5209F0067EEA5 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 3475E0E11DBF581B004C7E69 /* common-debug.xcconfig */;
@@ -514,6 +547,7 @@
buildConfigurations = (
F6B536361DA5209F0067EEA5 /* Debug */,
F6B536371DA5209F0067EEA5 /* Release */,
+ A8E541121F9FBC5600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -523,6 +557,7 @@
buildConfigurations = (
F6B536391DA5209F0067EEA5 /* Debug */,
F6B5363A1DA5209F0067EEA5 /* Release */,
+ A8E541131F9FBC5600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -532,6 +567,7 @@
buildConfigurations = (
F6B536651DA522BB0067EEA5 /* Debug */,
F6B536661DA522BB0067EEA5 /* Release */,
+ A8E541141F9FBC5600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/platform/platform.xcodeproj/project.pbxproj b/xcode/platform/platform.xcodeproj/project.pbxproj
index 5498dd2743..42021237e8 100644
--- a/xcode/platform/platform.xcodeproj/project.pbxproj
+++ b/xcode/platform/platform.xcodeproj/project.pbxproj
@@ -319,6 +319,7 @@
678338A91C6DF4BD00FD6263 /* Resources */,
675343791A3F5CF500A0A8C3 /* Products */,
3496AB6F1DC1F5AB00C5DDBA /* Frameworks */,
+ A8E540F51F9F97CD00A1B8FA /* Recovered References */,
);
sourceTree = "<group>";
};
@@ -418,6 +419,14 @@
path = ../../data;
sourceTree = "<group>";
};
+ A8E540F51F9F97CD00A1B8FA /* Recovered References */ = {
+ isa = PBXGroup;
+ children = (
+ 676C841F1C64CD3300DC9603 /* mwm_traits.hpp */,
+ );
+ name = "Recovered References";
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@@ -760,6 +769,58 @@
};
name = Release;
};
+ A8E5410E1F9FBC4C00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558341DBF273C00A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ EXCLUDED_SOURCE_FILE_NAMES = "";
+ "EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*]" = (
+ platform_mac.mm,
+ secure_storage_qt.cpp,
+ );
+ "EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*]" = (
+ platform_mac.mm,
+ secure_storage_qt.cpp,
+ );
+ "EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*]" = (
+ "ios_*",
+ platform_ios.mm,
+ secure_storage_ios.mm,
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ "$(QT_PATH)/include",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5410F1F9FBC4C00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541101F9FBC4C00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541111F9FBC4C00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "mail.ru.platform-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -768,6 +829,7 @@
buildConfigurations = (
675340F21C58C496002CF0D9 /* Debug */,
675340F31C58C496002CF0D9 /* Release */,
+ A8E541101F9FBC4C00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -777,6 +839,7 @@
buildConfigurations = (
675343811A3F5CF500A0A8C3 /* Debug */,
675343821A3F5CF500A0A8C3 /* Release */,
+ A8E5410E1F9FBC4C00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -786,6 +849,7 @@
buildConfigurations = (
675343841A3F5CF500A0A8C3 /* Debug */,
675343851A3F5CF500A0A8C3 /* Release */,
+ A8E5410F1F9FBC4C00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -795,6 +859,7 @@
buildConfigurations = (
678338931C6DE54700FD6263 /* Debug */,
678338941C6DE54700FD6263 /* Release */,
+ A8E541111F9FBC4C00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/protobuf/protobuf.xcodeproj/project.pbxproj b/xcode/protobuf/protobuf.xcodeproj/project.pbxproj
index 31aa03d651..8a2eeb5500 100644
--- a/xcode/protobuf/protobuf.xcodeproj/project.pbxproj
+++ b/xcode/protobuf/protobuf.xcodeproj/project.pbxproj
@@ -270,6 +270,27 @@
};
name = Release;
};
+ A8E5412E1F9FBD2700A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558591DBF3D2E00A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/protobuf/protobuf/src",
+ "$(OMIM_ROOT)/3party/protobuf/",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5412F1F9FBD2700A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -278,6 +299,7 @@
buildConfigurations = (
670D04D61B0BAC210013A7AC /* Debug */,
670D04D71B0BAC210013A7AC /* Release */,
+ A8E5412E1F9FBD2700A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -287,6 +309,7 @@
buildConfigurations = (
670D04D91B0BAC210013A7AC /* Debug */,
670D04DA1B0BAC210013A7AC /* Release */,
+ A8E5412F1F9FBD2700A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/pugixml/pugixml.xcodeproj/project.pbxproj b/xcode/pugixml/pugixml.xcodeproj/project.pbxproj
index 1511e08333..0e242abace 100644
--- a/xcode/pugixml/pugixml.xcodeproj/project.pbxproj
+++ b/xcode/pugixml/pugixml.xcodeproj/project.pbxproj
@@ -168,6 +168,22 @@
};
name = Release;
};
+ A8E541301F9FBD3200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34EBB4811DBF533D005BE9B8 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E541311F9FBD3200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -176,6 +192,7 @@
buildConfigurations = (
340DF9DE1C1FF16000B5C7EC /* Debug */,
340DF9DF1C1FF16000B5C7EC /* Release */,
+ A8E541301F9FBD3200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -185,6 +202,7 @@
buildConfigurations = (
340DF9E11C1FF16000B5C7EC /* Debug */,
340DF9E21C1FF16000B5C7EC /* Release */,
+ A8E541311F9FBD3200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/routing/routing.xcodeproj/project.pbxproj b/xcode/routing/routing.xcodeproj/project.pbxproj
index ef29969f88..be2aa3f0b5 100644
--- a/xcode/routing/routing.xcodeproj/project.pbxproj
+++ b/xcode/routing/routing.xcodeproj/project.pbxproj
@@ -1494,6 +1494,65 @@
};
name = Release;
};
+ A8E541091F9FBC3E00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558361DBF2A2600A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ "$(OMIM_ROOT)/3party/osrm/osrm-backend/include",
+ "$(OMIM_ROOT)/3party/osrm/osrm-backend/third_party",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E5410A1F9FBC3E00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5410B1F9FBC3E00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)_common/build/Debug",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = mail.ru.routing_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5410C1F9FBC3E00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)_common/build/Debug",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = mail.ru.routing_integration_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5410D1F9FBC3E00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = mail.ru.routing_benchmarks;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -1502,6 +1561,7 @@
buildConfigurations = (
56F0D75D1D896A5300045886 /* Debug */,
56F0D75E1D896A5300045886 /* Release */,
+ A8E5410D1F9FBC3E00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1511,6 +1571,7 @@
buildConfigurations = (
6742AD231C68A91B009CB89E /* Debug */,
6742AD241C68A91B009CB89E /* Release */,
+ A8E5410B1F9FBC3E00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1520,6 +1581,7 @@
buildConfigurations = (
675344011A3F640D00A0A8C3 /* Debug */,
675344021A3F640D00A0A8C3 /* Release */,
+ A8E541091F9FBC3E00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1529,6 +1591,7 @@
buildConfigurations = (
675344041A3F640D00A0A8C3 /* Debug */,
675344051A3F640D00A0A8C3 /* Release */,
+ A8E5410A1F9FBC3E00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1538,6 +1601,7 @@
buildConfigurations = (
67BD35AA1C69F03E003AA26F /* Debug */,
67BD35AB1C69F03E003AA26F /* Release */,
+ A8E5410C1F9FBC3E00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/routing_common/routing_common.xcodeproj/project.pbxproj b/xcode/routing_common/routing_common.xcodeproj/project.pbxproj
index d8c955c34d..65238fa3d5 100644
--- a/xcode/routing_common/routing_common.xcodeproj/project.pbxproj
+++ b/xcode/routing_common/routing_common.xcodeproj/project.pbxproj
@@ -369,6 +369,30 @@
};
name = Release;
};
+ A8E541061F9FBC3500A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 671E78911E6A3C9C00B2859B /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E541071F9FBC3500A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541081F9FBC3500A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "mail.ru.routing-common-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -377,6 +401,7 @@
buildConfigurations = (
671E787B1E6A3BE200B2859B /* Debug */,
671E787C1E6A3BE200B2859B /* Release */,
+ A8E541061F9FBC3500A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -386,6 +411,7 @@
buildConfigurations = (
671E787E1E6A3BE200B2859B /* Debug */,
671E787F1E6A3BE200B2859B /* Release */,
+ A8E541071F9FBC3500A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -395,6 +421,7 @@
buildConfigurations = (
671E78AB1E6A3DA800B2859B /* Debug */,
671E78AC1E6A3DA800B2859B /* Release */,
+ A8E541081F9FBC3500A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/sdf_image/sdf_image.xcodeproj/project.pbxproj b/xcode/sdf_image/sdf_image.xcodeproj/project.pbxproj
index 48046a5bd9..7a5f386e73 100644
--- a/xcode/sdf_image/sdf_image.xcodeproj/project.pbxproj
+++ b/xcode/sdf_image/sdf_image.xcodeproj/project.pbxproj
@@ -164,6 +164,22 @@
};
name = Release;
};
+ A8E541321F9FBD3900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F5586B1DBF48E500A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E541331F9FBD3900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -172,6 +188,7 @@
buildConfigurations = (
675D21A61BFB8D3F00717E4F /* Debug */,
675D21A71BFB8D3F00717E4F /* Release */,
+ A8E541321F9FBD3900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -181,6 +198,7 @@
buildConfigurations = (
675D21A91BFB8D3F00717E4F /* Debug */,
675D21AA1BFB8D3F00717E4F /* Release */,
+ A8E541331F9FBD3900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/search/search.xcodeproj/project.pbxproj b/xcode/search/search.xcodeproj/project.pbxproj
index f4dcbf0531..3a78cd5614 100644
--- a/xcode/search/search.xcodeproj/project.pbxproj
+++ b/xcode/search/search.xcodeproj/project.pbxproj
@@ -1281,6 +1281,38 @@
};
name = Release;
};
+ A8E541601F9FBDC400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558381DBF2C8B00A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E541611F9FBDC400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541621F9FBDC400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = maps.me.search_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541631F9FBDC400A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -1298,6 +1330,7 @@
buildConfigurations = (
671C62111AE9225100076BD0 /* Debug */,
671C62121AE9225100076BD0 /* Release */,
+ A8E541621F9FBDC400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1307,6 +1340,7 @@
buildConfigurations = (
675346B91A4055CF00A0A8C3 /* Debug */,
675346BA1A4055CF00A0A8C3 /* Release */,
+ A8E541601F9FBDC400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1316,6 +1350,7 @@
buildConfigurations = (
675346BC1A4055CF00A0A8C3 /* Debug */,
675346BD1A4055CF00A0A8C3 /* Release */,
+ A8E541611F9FBDC400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -1325,6 +1360,7 @@
buildConfigurations = (
6796248B1D10133300AE4E3C /* Debug */,
6796248C1D10133300AE4E3C /* Release */,
+ A8E541631F9FBDC400A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/stb_image/stb_image.xcodeproj/project.pbxproj b/xcode/stb_image/stb_image.xcodeproj/project.pbxproj
index f0bd37ff2b..cc36e31bfe 100644
--- a/xcode/stb_image/stb_image.xcodeproj/project.pbxproj
+++ b/xcode/stb_image/stb_image.xcodeproj/project.pbxproj
@@ -168,6 +168,22 @@
};
name = Release;
};
+ A8E541341F9FBD4000A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34EBB47F1DBF52D3005BE9B8 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E541351F9FBD4000A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -176,6 +192,7 @@
buildConfigurations = (
675D21BC1BFB8DBA00717E4F /* Debug */,
675D21BD1BFB8DBA00717E4F /* Release */,
+ A8E541341F9FBD4000A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -185,6 +202,7 @@
buildConfigurations = (
675D21BF1BFB8DBA00717E4F /* Debug */,
675D21C01BFB8DBA00717E4F /* Release */,
+ A8E541351F9FBD4000A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/storage/storage.xcodeproj/project.pbxproj b/xcode/storage/storage.xcodeproj/project.pbxproj
index e8306459c5..1564e8ed0f 100644
--- a/xcode/storage/storage.xcodeproj/project.pbxproj
+++ b/xcode/storage/storage.xcodeproj/project.pbxproj
@@ -935,6 +935,54 @@
};
name = Release;
};
+ A8E541641F9FBDCA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F5584B1DBF2FC000A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ "$(OMIM_ROOT)/3party/glm/",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541651F9FBDCA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541661F9FBDCA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "OMIM_UNIT_TEST_WITH_QT_EVENT_LOOP=1",
+ );
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "storage-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541671F9FBDCA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "OMIM_UNIT_TEST_WITH_QT_EVENT_LOOP=1",
+ );
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = storage_integration_tests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -943,6 +991,7 @@
buildConfigurations = (
675342E91A3F59EF00A0A8C3 /* Debug */,
675342EA1A3F59EF00A0A8C3 /* Release */,
+ A8E541641F9FBDCA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -952,6 +1001,7 @@
buildConfigurations = (
675342EC1A3F59EF00A0A8C3 /* Debug */,
675342ED1A3F59EF00A0A8C3 /* Release */,
+ A8E541651F9FBDCA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -961,6 +1011,7 @@
buildConfigurations = (
67F90B6D1C6A275B00CD458E /* Debug */,
67F90B6E1C6A275B00CD458E /* Release */,
+ A8E541661F9FBDCA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -970,6 +1021,7 @@
buildConfigurations = (
67F90BCB1C6A29F700CD458E /* Debug */,
67F90BCC1C6A29F700CD458E /* Release */,
+ A8E541671F9FBDCA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/succinct/succinct.xcodeproj/project.pbxproj b/xcode/succinct/succinct.xcodeproj/project.pbxproj
index 342619a226..9e4501ea05 100644
--- a/xcode/succinct/succinct.xcodeproj/project.pbxproj
+++ b/xcode/succinct/succinct.xcodeproj/project.pbxproj
@@ -252,6 +252,22 @@
};
name = Release;
};
+ A8E541361F9FBD4900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F5585F1DBF42B200A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ };
+ name = "Production Full";
+ };
+ A8E541371F9FBD4900A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -260,6 +276,7 @@
buildConfigurations = (
67B52B741AD3CA7F00664C17 /* Debug */,
67B52B751AD3CA7F00664C17 /* Release */,
+ A8E541361F9FBD4900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -269,6 +286,7 @@
buildConfigurations = (
67B52B771AD3CA7F00664C17 /* Debug */,
67B52B781AD3CA7F00664C17 /* Release */,
+ A8E541371F9FBD4900A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/tess2/tess2.xcodeproj/project.pbxproj b/xcode/tess2/tess2.xcodeproj/project.pbxproj
index 891abff185..cbc88b17d2 100644
--- a/xcode/tess2/tess2.xcodeproj/project.pbxproj
+++ b/xcode/tess2/tess2.xcodeproj/project.pbxproj
@@ -224,6 +224,28 @@
};
name = Release;
};
+ A8E541381F9FBD5100A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F5585B1DBF3DC500A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)",
+ "$(BOOST_ROOT)",
+ "$(OMIM_ROOT)/3party/libtess2/Include",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E541391F9FBD5100A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -232,6 +254,7 @@
buildConfigurations = (
6719DD3A1B95A8E70018166F /* Debug */,
6719DD3B1B95A8E70018166F /* Release */,
+ A8E541381F9FBD5100A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -241,6 +264,7 @@
buildConfigurations = (
6719DD3D1B95A8E70018166F /* Debug */,
6719DD3E1B95A8E70018166F /* Release */,
+ A8E541391F9FBD5100A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/tracking/tracking.xcodeproj/project.pbxproj b/xcode/tracking/tracking.xcodeproj/project.pbxproj
index c7f1702539..0b66813cf8 100644
--- a/xcode/tracking/tracking.xcodeproj/project.pbxproj
+++ b/xcode/tracking/tracking.xcodeproj/project.pbxproj
@@ -314,6 +314,31 @@
};
name = Release;
};
+ A8E5416B1F9FBDDA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 34F558521DBF38A000A4FC11 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E5416C1F9FBDDA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5416D1F9FBDDA00A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = "$(SRCROOT)/../../iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "tracking-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -322,6 +347,7 @@
buildConfigurations = (
675E88591DB7AC0300F8EBDA /* Debug */,
675E885A1DB7AC0300F8EBDA /* Release */,
+ A8E5416B1F9FBDDA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -331,6 +357,7 @@
buildConfigurations = (
675E885C1DB7AC0300F8EBDA /* Debug */,
675E885D1DB7AC0300F8EBDA /* Release */,
+ A8E5416C1F9FBDDA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -340,6 +367,7 @@
buildConfigurations = (
675E88811DB7ACD900F8EBDA /* Debug */,
675E88821DB7ACD900F8EBDA /* Release */,
+ A8E5416D1F9FBDDA00A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/traffic/traffic.xcodeproj/project.pbxproj b/xcode/traffic/traffic.xcodeproj/project.pbxproj
index 88b14cb0bb..84c287e49d 100644
--- a/xcode/traffic/traffic.xcodeproj/project.pbxproj
+++ b/xcode/traffic/traffic.xcodeproj/project.pbxproj
@@ -340,6 +340,30 @@
};
name = Release;
};
+ A8E541681F9FBDD200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 67BECB591DDA440100FC4E99 /* common-release.xcconfig */;
+ buildSettings = {
+ };
+ name = "Production Full";
+ };
+ A8E541691F9FBDD200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXECUTABLE_PREFIX = lib;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E5416A1F9FBDD200A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "mail.ru.traffic-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -348,6 +372,7 @@
buildConfigurations = (
67BECB531DDA43B000FC4E99 /* Debug */,
67BECB541DDA43B000FC4E99 /* Release */,
+ A8E541681F9FBDD200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -357,6 +382,7 @@
buildConfigurations = (
67BECB561DDA43B000FC4E99 /* Debug */,
67BECB571DDA43B000FC4E99 /* Release */,
+ A8E541691F9FBDD200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -366,6 +392,7 @@
buildConfigurations = (
67BECB7C1DDA466800FC4E99 /* Debug */,
67BECB7D1DDA466800FC4E99 /* Release */,
+ A8E5416A1F9FBDD200A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/xcode/ugc/ugc.xcodeproj/project.pbxproj b/xcode/ugc/ugc.xcodeproj/project.pbxproj
index 263b954aee..cca26d9a33 100644
--- a/xcode/ugc/ugc.xcodeproj/project.pbxproj
+++ b/xcode/ugc/ugc.xcodeproj/project.pbxproj
@@ -295,6 +295,35 @@
};
name = Release;
};
+ A8E540FE1F9FBBB600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = F6F8E3B91EF83DF200F2DE8F /* common-release.xcconfig */;
+ buildSettings = {
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(OMIM_ROOT)",
+ "$(BOOST_ROOT)",
+ "$(OMIM_ROOT)/3party/jansson/src",
+ );
+ };
+ name = "Production Full";
+ };
+ A8E540FF1F9FBBB600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
+ A8E541001F9FBBB600A1B8FA /* Production Full */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "$(OMIM_ROOT)/iphone/Maps/MAPSME.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "mail.ru.ugc-tests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = "Production Full";
+ };
F6F8E3AB1EF83D7600F2DE8F /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = F6F8E3B81EF83DF200F2DE8F /* common-debug.xcconfig */;
@@ -343,6 +372,7 @@
buildConfigurations = (
670E7B901EF97C1000A8E9ED /* Debug */,
670E7B911EF97C1000A8E9ED /* Release */,
+ A8E541001F9FBBB600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -352,6 +382,7 @@
buildConfigurations = (
F6F8E3AB1EF83D7600F2DE8F /* Debug */,
F6F8E3AC1EF83D7600F2DE8F /* Release */,
+ A8E540FE1F9FBBB600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -361,6 +392,7 @@
buildConfigurations = (
F6F8E3AE1EF83D7600F2DE8F /* Debug */,
F6F8E3AF1EF83D7600F2DE8F /* Release */,
+ A8E540FF1F9FBBB600A1B8FA /* Production Full */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;