Skip to content
AnasayfaBlog
31 Temmuz Cuma
İçeriğe geç
HakkımızdaBlogEtkinliklerİletişim
49w49w
49w49w

Genç, bağımsız, rafine.

Hakkımızda

    Blog

      © 2026 49W. Tüm hakları saklıdır.
      Powered by |
      Powered by |
      Anasayfa
      Blog
      Etkinlikler
      Map | 49w

      Map

      <!DOCTYPE html>

      <html>

      <head>

      <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

      <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/leaflet.js"></script>

      <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

      <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>

      <script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js"></script>

      <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/leaflet.css"/>

      <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"/>

      <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css"/>

      <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css"/>

      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"/>

      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css"/>

      <meta name="viewport" content="width=device-width,

      initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

      <style>

      #map_2da04b72bb879ce709d8255bcfddcd29 {

      position: relative;

      width: 100.0%;

      height: 100.0%;

      left: 0.0%;

      top: 0.0%;

      }

      .leaflet-container { font-size: 1rem; }

      </style>

      <style>html, body {

      width: 100%;

      height: 100%;

      margin: 0;

      padding: 0;

      }

      </style>

      <style>#map {

      position:absolute;

      top:0;

      bottom:0;

      right:0;

      left:0;

      }

      </style>

      <script>

      L_NO_TOUCH = false;

      L_DISABLE_3D = false;

      </script>

      <script src="https://cdn.jsdelivr.net/npm/[email protected]/Control.FullScreen.min.js"></script>

      <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/Control.FullScreen.css"/>

      </head>

      <body>

      <div style="

      position: fixed;

      top: 10px; left: 50px; width: 490px; z-index: 9999;

      background-color: white; padding: 12px 14px; border: 1px solid #ccc; border-radius: 8px;

      font-family: Arial, sans-serif; font-size: 14px;

      box-shadow: 0 1px 4px rgba(0,0,0,0.18);">

      <div style="font-size: 18px; font-weight: 700; margin-bottom: 6px;">

      Youth Protest Hotspots (Interactive Prototype)

      </div>

      <div style="line-height: 1.35;">

      Updated version with <b>France removed</b>. Click a highlighted country to view protest context and macro indicators:

      <b>youth unemployment</b>, <b>inflation</b>, <b>real wage growth</b>, and a

      <b>custom youth sentiment score</b> (0–100; lower = more negative / angrier).

      </div>

      </div>

      <div style="

      position: fixed;

      bottom: 40px; left: 50px; width: 310px; z-index: 9999;

      background-color: white; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px;

      font-family: Arial, sans-serif; font-size: 13px;

      box-shadow: 0 1px 4px rgba(0,0,0,0.18);">

      <div style="font-weight: 700; margin-bottom: 6px;">Legend</div>

      <div><span style="color:red;">●</span> Very high protest salience</div>

      <div><span style="color:orange;">●</span> High protest salience</div>

      <div><span style="color:blue;">●</span> Moderate / moderate–high salience</div>

      <hr style="margin: 8px 0;">

      <div><b>Important:</b> Because live web access is disabled in this chat, the numeric values are an

      <b>illustrative prototype</b> based on broadly available 2023–2024 figures rather than a live-updated database.</div>

      </div>

      <div class="folium-map" id="map_2da04b72bb879ce709d8255bcfddcd29" ></div>

      </body>

      <script>

      var map_2da04b72bb879ce709d8255bcfddcd29 = L.map(

      "map_2da04b72bb879ce709d8255bcfddcd29",

      {

      center: [15.0, 20.0],

      crs: L.CRS.EPSG3857,

      ...{

      "zoom": 2,

      "zoomControl": true,

      "preferCanvas": false,

      }

      }

      );

      L.control.scale().addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var tile_layer_ec65fd0e2abe643aa4ea1afaa937d5d6 = L.tileLayer(

      "https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",

      {

      "minZoom": 0,

      "maxZoom": 20,

      "maxNativeZoom": 20,

      "noWrap": false,

      "attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors \u0026copy; \u003ca href=\"https://carto.com/attributions\"\u003eCARTO\u003c/a\u003e",

      "subdomains": "abcd",

      "detectRetina": false,

      "tms": false,

      "opacity": 1,

      }

      );

      tile_layer_ec65fd0e2abe643aa4ea1afaa937d5d6.addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      L.control.fullscreen(

      {

      "position": "topleft",

      "title": "Full Screen",

      "titleCancel": "Exit Full Screen",

      "forceSeparateButton": false,

      }

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var circle_marker_178b1fa92d8c7caa9f5a0d18990d8d3d = L.circleMarker(

      [0.0236, 37.9062],

      {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "red", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 8, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_72b2988aebbc07e7a0e6391484718203 = L.popup({

      "maxWidth": 360,

      });

      var html_ffc87eab0e22b5fac413257f02f83ce3 = $(<div id="html_ffc87eab0e22b5fac413257f02f83ce3" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Kenya</h4> <p style="margin: 3px 0;"><b>Region:</b> Africa</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2024 anti-Finance Bill protests</p> <p style="margin: 3px 0;"><b>Protest salience:</b> Very high</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 12.7%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 5.1%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 0.8%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 31/100 — Angry / mobilised</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Gen Z-led digital mobilisation against tax hikes, corruption, and elite impunity.</p> </div> </div>)[0];

      popup_72b2988aebbc07e7a0e6391484718203.setContent(html_ffc87eab0e22b5fac413257f02f83ce3);

      circle_marker_178b1fa92d8c7caa9f5a0d18990d8d3d.bindPopup(popup_72b2988aebbc07e7a0e6391484718203)

      ;

      circle_marker_178b1fa92d8c7caa9f5a0d18990d8d3d.bindTooltip(

      `<div>

      Kenya — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_bed94fa144baf03a4fdcbacd187ba7ac = L.circleMarker(

      [20.5937, 78.9629],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_dd00b0e7135e4d55b5ccc47a7aefa38c = L.popup({

      "maxWidth": 360,

      });

      var html_36670ba19e5c53de41ab4d3c520d421b = $(<div id="html_36670ba19e5c53de41ab4d3c520d421b" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">India</h4> <p style="margin: 3px 0;"><b>Region:</b> Asia</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2024–2026 youth protest waves, including exam-leak anger</p> <p style="margin: 3px 0;"><b>Protest salience:</b> High</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 23.2%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 5.4%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 1.5%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 42/100 — Frustrated but active</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Youth mobilisation linked to jobs, exam integrity, and democratic accountability.</p> </div> </div>)[0];

      popup_dd00b0e7135e4d55b5ccc47a7aefa38c.setContent(html_36670ba19e5c53de41ab4d3c520d421b);

      circle_marker_bed94fa144baf03a4fdcbacd187ba7ac.bindPopup(popup_dd00b0e7135e4d55b5ccc47a7aefa38c)

      ;

      circle_marker_bed94fa144baf03a4fdcbacd187ba7ac.bindTooltip(

      `<div>

      India — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_5f872327f58ca478e233da36b4472b98 = L.circleMarker(

      [23.685, 90.3563],

      {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "red", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 8, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_b48c55e8e9ccdd568eeef48817cb3ae1 = L.popup({

      "maxWidth": 360,

      });

      var html_a23e635be876d308e326e741fc65291a = $(<div id="html_a23e635be876d308e326e741fc65291a" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Bangladesh</h4> <p style="margin: 3px 0;"><b>Region:</b> Asia</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2024 quota and anti-government youth protests</p> <p style="margin: 3px 0;"><b>Protest salience:</b> Very high</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 12.6%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 9.7%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> -3.2%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 28/100 — Deeply frustrated</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Students were central to the protest wave; grievance mix included jobs, fairness, and repression.</p> </div> </div>)[0];

      popup_b48c55e8e9ccdd568eeef48817cb3ae1.setContent(html_a23e635be876d308e326e741fc65291a);

      circle_marker_5f872327f58ca478e233da36b4472b98.bindPopup(popup_b48c55e8e9ccdd568eeef48817cb3ae1)

      ;

      circle_marker_5f872327f58ca478e233da36b4472b98.bindTooltip(

      `<div>

      Bangladesh — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_23547fe5946f722b442a8190d8abe248 = L.circleMarker(

      [-0.7893, 113.9213],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_245aa9b3b6e1de532fabbda08bd371d2 = L.popup({

      "maxWidth": 360,

      });

      var html_dd20c405a8a2471359c21b4437dbf3cc = $(<div id="html_dd20c405a8a2471359c21b4437dbf3cc" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Indonesia</h4> <p style="margin: 3px 0;"><b>Region:</b> Asia</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2024 student and youth protests over democratic backsliding</p> <p style="margin: 3px 0;"><b>Protest salience:</b> High</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 16.3%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 2.8%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 3.1%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 54/100 — Mixed / cautiously hopeful</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Youth and students pushed back against perceived democratic erosion and dynastic politics.</p> </div> </div>)[0];

      popup_245aa9b3b6e1de532fabbda08bd371d2.setContent(html_dd20c405a8a2471359c21b4437dbf3cc);

      circle_marker_23547fe5946f722b442a8190d8abe248.bindPopup(popup_245aa9b3b6e1de532fabbda08bd371d2)

      ;

      circle_marker_23547fe5946f722b442a8190d8abe248.bindTooltip(

      `<div>

      Indonesia — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_1e3983e5ce32f844be46140c5ca62bfa = L.circleMarker(

      [28.3949, 84.124],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_815cb73c1d784b1b2cc5934a156d1697 = L.popup({

      "maxWidth": 360,

      });

      var html_271a77ecaaab3d378cf7f208f42274fe = $(<div id="html_271a77ecaaab3d378cf7f208f42274fe" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Nepal</h4> <p style="margin: 3px 0;"><b>Region:</b> Asia</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2023–2024 youth frustration over jobs, governance, and migration pressures</p> <p style="margin: 3px 0;"><b>Protest salience:</b> Moderate–high</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 19.0%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 5.4%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 1.0%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 40/100 — Disillusioned</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Protest energy connected to weak job creation and anger at the political class.</p> </div> </div>)[0];

      popup_815cb73c1d784b1b2cc5934a156d1697.setContent(html_271a77ecaaab3d378cf7f208f42274fe);

      circle_marker_1e3983e5ce32f844be46140c5ca62bfa.bindPopup(popup_815cb73c1d784b1b2cc5934a156d1697)

      ;

      circle_marker_1e3983e5ce32f844be46140c5ca62bfa.bindTooltip(

      `<div>

      Nepal — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_64090343dcf67336cf5accb7aa02a4dd = L.circleMarker(

      [9.082, 8.6753],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_7840c594d593c2398726797c6d07cd42 = L.popup({

      "maxWidth": 360,

      });

      var html_659fc52ef46c433e7fc6e9ec8de5829c = $(<div id="html_659fc52ef46c433e7fc6e9ec8de5829c" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Nigeria</h4> <p style="margin: 3px 0;"><b>Region:</b> Africa</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2024 cost-of-living and governance protests</p> <p style="margin: 3px 0;"><b>Protest salience:</b> High</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 14.0%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 31.0%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> -10.5%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 24/100 — Distressed / pessimistic</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Young Nigerians were highly visible in protest actions tied to inflation and economic pain.</p> </div> </div>)[0];

      popup_7840c594d593c2398726797c6d07cd42.setContent(html_659fc52ef46c433e7fc6e9ec8de5829c);

      circle_marker_64090343dcf67336cf5accb7aa02a4dd.bindPopup(popup_7840c594d593c2398726797c6d07cd42)

      ;

      circle_marker_64090343dcf67336cf5accb7aa02a4dd.bindTooltip(

      `<div>

      Nigeria — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_f7be651f5ed162303f765846f7226c59 = L.circleMarker(

      [42.3154, 43.3569],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_d07cc08d0fd1051a0253b82cf2892b5d = L.popup({

      "maxWidth": 360,

      });

      var html_ada65021a04e5b89d733bbff2dc02df8 = $(<div id="html_ada65021a04e5b89d733bbff2dc02df8" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Georgia</h4> <p style="margin: 3px 0;"><b>Region:</b> Europe/Asia</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2023–2024 youth-led protests over the 'foreign agents' law</p> <p style="margin: 3px 0;"><b>Protest salience:</b> High</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 29.0%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 1.9%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 5.0%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 46/100 — Defiant / pro-change</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Students and young people were central in pro-European, anti-authoritarian mobilisations.</p> </div> </div>)[0];

      popup_d07cc08d0fd1051a0253b82cf2892b5d.setContent(html_ada65021a04e5b89d733bbff2dc02df8);

      circle_marker_f7be651f5ed162303f765846f7226c59.bindPopup(popup_d07cc08d0fd1051a0253b82cf2892b5d)

      ;

      circle_marker_f7be651f5ed162303f765846f7226c59.bindTooltip(

      `<div>

      Georgia — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_996b5cebfdae0fd86c50e47c5e0e917c = L.circleMarker(

      [30.3753, 69.3451],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_dd0652ef675c5b3147fd22dca64a844b = L.popup({

      "maxWidth": 360,

      });

      var html_435e8826c140a5fdfd048f813afc904a = $(<div id="html_435e8826c140a5fdfd048f813afc904a" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Pakistan</h4> <p style="margin: 3px 0;"><b>Region:</b> Asia</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2023–2024 youth political mobilisation amid inflation and repression</p> <p style="margin: 3px 0;"><b>Protest salience:</b> Moderate–high</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 11.0%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 23.4%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> -12.0%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 23/100 — Angry / pessimistic</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Youth discontent mixed electoral grievances with economic decline and institutional distrust.</p> </div> </div>)[0];

      popup_dd0652ef675c5b3147fd22dca64a844b.setContent(html_435e8826c140a5fdfd048f813afc904a);

      circle_marker_996b5cebfdae0fd86c50e47c5e0e917c.bindPopup(popup_dd0652ef675c5b3147fd22dca64a844b)

      ;

      circle_marker_996b5cebfdae0fd86c50e47c5e0e917c.bindTooltip(

      `<div>

      Pakistan — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_b4545c843f8cb2d04e639fdf16622fad = L.circleMarker(

      [44.0165, 21.0059],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_4cf79a3dd7edd1f0210937234b029cd5 = L.popup({

      "maxWidth": 360,

      });

      var html_f94d49e8c6175479d80edb335b118233 = $(<div id="html_f94d49e8c6175479d80edb335b118233" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Serbia</h4> <p style="margin: 3px 0;"><b>Region:</b> Europe</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2023–2024 student-led anti-violence and anti-government protests</p> <p style="margin: 3px 0;"><b>Protest salience:</b> Moderate–high</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 24.0%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 4.8%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 6.0%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 47/100 — Mobilised / sceptical</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Students became an important organisational force in broader anti-government protest movements.</p> </div> </div>)[0];

      popup_4cf79a3dd7edd1f0210937234b029cd5.setContent(html_f94d49e8c6175479d80edb335b118233);

      circle_marker_b4545c843f8cb2d04e639fdf16622fad.bindPopup(popup_4cf79a3dd7edd1f0210937234b029cd5)

      ;

      circle_marker_b4545c843f8cb2d04e639fdf16622fad.bindTooltip(

      `<div>

      Serbia — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_30cbb7854f14d7b96a8ac4fcb4bb636a = L.circleMarker(

      [1.3733, 32.2903],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_7190f6e0934173b7b407898aed45eef7 = L.popup({

      "maxWidth": 360,

      });

      var html_b56c4203893d80d46a6262a117c15593 = $(<div id="html_b56c4203893d80d46a6262a117c15593" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Uganda</h4> <p style="margin: 3px 0;"><b>Region:</b> Africa</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2024 anti-corruption youth protests</p> <p style="margin: 3px 0;"><b>Protest salience:</b> Moderate–high</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 13.3%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 3.4%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 1.2%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 35/100 — Restless</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> A young activist layer drove visible anti-corruption mobilisation.</p> </div> </div>)[0];

      popup_7190f6e0934173b7b407898aed45eef7.setContent(html_b56c4203893d80d46a6262a117c15593);

      circle_marker_30cbb7854f14d7b96a8ac4fcb4bb636a.bindPopup(popup_7190f6e0934173b7b407898aed45eef7)

      ;

      circle_marker_30cbb7854f14d7b96a8ac4fcb4bb636a.bindTooltip(

      `<div>

      Uganda — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_84e7ad1ed2b138bc60e530c0544d889c = L.circleMarker(

      [14.4974, -14.4524],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_10ef58dddd1836fc9c294bc4607dd89d = L.popup({

      "maxWidth": 360,

      });

      var html_25441887f52b0c08d6f73bc5a47ea31c = $(<div id="html_25441887f52b0c08d6f73bc5a47ea31c" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Senegal</h4> <p style="margin: 3px 0;"><b>Region:</b> Africa</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2023–2024 youth-driven political protests</p> <p style="margin: 3px 0;"><b>Protest salience:</b> Moderate–high</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 10.2%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 2.0%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 1.5%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 39/100 — Demanding change</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Youth anger around governance and democratic process strongly shaped the protest environment.</p> </div> </div>)[0];

      popup_10ef58dddd1836fc9c294bc4607dd89d.setContent(html_25441887f52b0c08d6f73bc5a47ea31c);

      circle_marker_84e7ad1ed2b138bc60e530c0544d889c.bindPopup(popup_10ef58dddd1836fc9c294bc4607dd89d)

      ;

      circle_marker_84e7ad1ed2b138bc60e530c0544d889c.bindTooltip(

      `<div>

      Senegal — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      var circle_marker_02475fd63361af55ae4c1f2ca4360d9f = L.circleMarker(

      [38.9637, 35.2433],

      {"bubblingMouseEvents": true, "color": "orange", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "orange", "fillOpacity": 0.75, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7, "stroke": true, "weight": 3}

      ).addTo(map_2da04b72bb879ce709d8255bcfddcd29);

      var popup_fe1f7024e9e5ea87a4b29616612b81aa = L.popup({

      "maxWidth": 360,

      });

      var html_1a3a683dfbdb690782c0f55c6e2bac94 = $(<div id="html_1a3a683dfbdb690782c0f55c6e2bac94" style="width: 100.0%; height: 100.0%;"> <div style="width: 320px; font-family: Arial, sans-serif; font-size: 13px;"> <h4 style="margin-bottom: 8px;">Turkey</h4> <p style="margin: 3px 0;"><b>Region:</b> Europe/Asia</p> <p style="margin: 3px 0;"><b>Main youth protest wave:</b> 2024–2025 youth and student mobilisation over cost of living, democratic rights, and political representation</p> <p style="margin: 3px 0;"><b>Protest salience:</b> High</p> <hr> <p style="margin: 3px 0;"><b>Youth unemployment:</b> 16.3%</p> <p style="margin: 3px 0;"><b>Inflation rate:</b> 58.5%</p> <p style="margin: 3px 0;"><b>Real wage growth:</b> 2.0%</p> <p style="margin: 3px 0;"><b>Youth sentiment:</b> 34/100 — Angry / disillusioned</p> <hr> <p style="margin: 3px 0;"><b>Why it matters:</b> Young people have been highly visible in protest and opposition activity, driven by economic pressure, frustration with institutions, and demands for political change.</p> </div> </div>)[0];

      popup_fe1f7024e9e5ea87a4b29616612b81aa.setContent(html_1a3a683dfbdb690782c0f55c6e2bac94);

      circle_marker_02475fd63361af55ae4c1f2ca4360d9f.bindPopup(popup_fe1f7024e9e5ea87a4b29616612b81aa)

      ;

      circle_marker_02475fd63361af55ae4c1f2ca4360d9f.bindTooltip(

      `<div>

      Turkey — click for details

      </div>`,

      {

      "sticky": true,

      }

      );

      </script>

      </html>