MAP_URLS = {
    "Google": "http://mts0.googleapis.com/vt?lyrs={style}&x={x}&y={y}&z={z}",
    "Google China": "http://mt2.google.cn/vt/lyrs={style}&hl=zh-CN&gl=CN&src=app&x={x}&y={y}&z={z}",

    "Google Maps": "https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}",
    "Google Satellite": "https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}",
    "Google Terrain": "https://mt1.google.com/vt/lyrs=t&x={x}&y={y}&z={z}",
    "Google Terrain Hybrid": "https://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z}",
    "Google Satellite Hybrid": "https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}",

    "Stamen Terrain": "http://tile.stamen.com/terrain/{z}/{x}/{y}.png",
    "Stamen Toner": "http://tile.stamen.com/toner/{z}/{x}/{y}.png",
    "Stamen Toner Light": "http://tile.stamen.com/toner-lite/{z}/{x}/{y}.png",
    "Stamen Watercolor": "http://tile.stamen.com/watercolor/{z}/{x}/{y}.jpg",

    "Wikimedia Map": "https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",
    "Wikimedia Hike Bike Map": "http://tiles.wmflabs.org/hikebike/{z}/{x}/{y}.png",

    "Esri Boundaries Places": "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
    "Esri Gray (dark)": "http://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer/tile/{z}/{y}/{x}",
    "Esri Gray (light)": "http://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}",
    "Esri National Geographic": "http://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/tile/{z}/{y}/{x}",
    "Esri Ocean": "https://services.arcgisonline.com/ArcGIS/rest/services/Ocean/World_Ocean_Base/MapServer/tile/{z}/{y}/{x}",
    "Esri Satellite": "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
    "Esri Standard": "https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}",
    "Esri Terrain": "https://server.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/{z}/{y}/{x}",
    "Esri Transportation": "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Transportation/MapServer/tile/{z}/{y}/{x}",
    "Esri Topo World": "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}",

    "OpenStreetMap Standard": "http://tile.openstreetmap.org/{z}/{x}/{y}.png",
    "OpenStreetMap H.O.T.": "http://tile.openstreetmap.fr/hot/{z}/{x}/{y}.png",
    "OpenStreetMap Monochrome": "http://tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png",
    "OpenTopoMap": "https://tile.opentopomap.org/{z}/{x}/{y}.png",

    "Strava All": "https://heatmap-external-b.strava.com/tiles/all/bluered/{z}/{x}/{y}.png",
    "Strava Run": "https://heatmap-external-b.strava.com/tiles/run/bluered/{z}/{x}/{y}.png?v=19",

    "Open Weather Map Temperature": "http://tile.openweathermap.org/map/temp_new/{z}/{x}/{y}.png?APPID=1c3e4ef8e25596946ee1f3846b53218a",
    "Open Weather Map Clouds": "http://tile.openweathermap.org/map/clouds_new/{z}/{x}/{y}.png?APPID=ef3c5137f6c31db50c4c6f1ce4e7e9dd",
    "Open Weather Map Wind Speed": "http://tile.openweathermap.org/map/wind_new/{z}/{x}/{y}.png?APPID=f9d0069aa69438d52276ae25c1ee9893",

    "CartoDb Dark Matter": "http://basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png",
    "CartoDb Positron": "http://basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png",

    "Bing VirtualEarth": "http://ecn.t3.tiles.virtualearth.net/tiles/a{q}.jpeg?g=1"

}

Tilesize = 256


AGENT="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
