(function () {
  //Inject code v3.0.1

  var highcharts = document.createElement('script');

  var cdn = 'https://code.highcharts.com/';
  var loaded = 0;  
  var encodedUrl = encodeURI('https://https://app.everviz.com//show/7wYG9vSF1');
  var chartCreated = false;
  var scripts = [
    "highcharts.js",
    "modules/stock.js",
    "highcharts-more.js",
    "highcharts-3d.js",
    "modules/data.js",
    "modules/exporting.js",
    "modules/funnel.js",
    "modules/solid-gauge.js",
    "modules/export-data.js",
    "modules/accessibility.js"
    /* "modules/series-label.js" */
  ];

  var externalCSS = [
      ];

  var extraScripts = [
  "https://code.highcharts.com/modules/annotations.js"
  ,"https://code.highcharts.com/modules/annotations-advanced.js"
  ];

  var options = {"chart":{"polar":false,"backgroundColor":"#ffffff","plotBorderWidth":0,"showAxes":false,"height":null,"spacingBottom":32,"spacingLeft":0,"spacingRight":0,"spacingTop":16,"animation":"true","parallelCoordinates":false,"style":{"fontFamily":"'Telesans Agate', Arial, San-serif","fontSize":"12px"}},"title":{"align":"Left","margin":40,"style":{"color":"#222","fontSize":"22px","fontFamily":"'Austin News Deck', Georgia, Serif","fontWeight":"600"},"text":"The biggest economies are all suffering"},"subtitle":{"align":"Left","margin":40,"style":{"color":"#222","fontSize":"22px","fontFamily":"'Austin News Deck', Georgia, Serif","fontWeight":"normal"},"text":"But some are suffering more than others"},"exporting":{"enabled":false},"plotOptions":{"series":{"stacking":"","cursor":"pointer","color":"","marker":{"symbol":"diamond","lineColor":"black","states":{"hover":{"animation":{"duration":0.5}}},"enabled":false,"radius":2,"lineWidth":0.3},"states":{"hover":{"animation":{"duration":0.5},"marker":{"states":{"hover":{"animation":{"duration":0.5}}}},"halo":{"size":1}},"inactive":{}},"tooltip":{"animation":false,"enabled":true,"followPointer":false,"pointFormat":"{point.y}","headerFormat":""},"animation":false},"line":{"allAreas":false,"allowPointSelect":false,"clip":true,"color":"","colorAxis":false,"compareStart":false,"marker":{"enabled":false,"states":{"hover":{"animation":{"duration":5},"enabled":true,"lineColor":"black","fillColor":"","lineWidth":1,"radius":4},"normal":{"animation":true},"select":{"enabled":true}},"enabledThreshold":1,"lineWidth":0},"states":{"hover":{"halo":{"size":1},"marker":{"states":{"hover":{"enabled":true,"animation":{"duration":0.5}}},"enabled":false},"enabled":true,"brightness":1,"animation":{"duration":0}},"select":{"animation":{"duration":0.5},"marker":{"states":{"hover":{"animation":{"duration":0.5}}}}}},"animation":{"duration":1000},"tooltip":{"shadow":false,"crosshairs":"true","shape":"square","shared":false,"split":false,"enabled":true,"animation":true,"outside":false,"style":{"fontSize":"14px"},"borderRadius":1,"padding":8,"pointFormat":"{point.y}","headerFormat":""},"enableMouseTracking":true,"exposeElementToA11y":false,"getExtremesFromAll":false,"selected":false,"stickyTracking":true,"visible":true,"softThreshold":true},"area":{"tooltip":{"pointFormat":"{point.y}","headerFormat":"","shape":"square"},"showInLegend":true,"showInNavigator":false,"showCheckbox":false,"visible":true,"fillOpacity":0.08,"marker":{"symbol":"diamond"},"dataLabels":{"shape":"diamond"}}},"xAxis":{"index":0,"isX":true,"lineColor":"#333333","labels":{"style":{"fontFamily":"'Telesans Agate', Arial, San-serif","fontSize":"14px"},"padding":0,"enabled":true,"y":22,"zIndex":7,"x":0,"overflow":true},"title":{"x":0},"tickLength":6,"gridLineColor":"#333333","minorGridLineColor":"#333333","minorTickColor":"#333333","tickColor":"#333333","crosshair":{"snap":true,"width":0.3}},"yAxis":{"title":{"text":"% change in GDP"}},"series":[{"data":[],"turboThreshold":0,"_colorIndex":0,"_symbolIndex":0,"type":"column"}],"credits":{"style":{"color":"#666","textTransform":"uppercase","fontSize":"12px","fontFamily":"'Telesans Agate', Arial, San-serif","fontWeight":"normal"},"enabled":true,"position":{"y":-10,"x":-10},"href":"","text":"Source: IMF"},"legend":{"verticalAlign":"top","align":"left","style":{"color":"#666","fontSize":"16px","fontFamily":"'Telesans Agate', Arial, San-serif","fontWeight":"normal"},"alignColumns":true,"enabled":true,"itemMarginTop":5,"squareSymbol":true,"itemStyle":{"fontSize":"16px","color":"#666","fontFamily":"'Telesans Agate', Arial, San-serif","fontWeight":"normal","textOverflow":"diamond"},"floating":"","x":-9,"y":-25,"symbolHeight":12,"symbolPadding":3,"symbolWidth":14,"symbolRadius":"0"},"stockTools":{"gui":{"enabled":false}},"navigation":{"bindingsClassName":"tools-container"},"pane":{"background":[]},"responsive":{"rules":[]},"tooltip":{"shadow":false,"shape":"square","animation":false,"borderRadius":1,"borderWidth":1,"shared":false,"borderColor":"black","backgroundColor":"white","enabled":true,"followPointer":false,"followTouchMove":false,"hideDelay":90,"outside":false,"padding":6,"split":false,"pointFormat":"{point.y}","valueSuffix":"%"},"navigator":{"yAxis":{"labels":{"padding":5,"overflow":false,"enabled":true,"distance":15,"useHTML":false,"x":0,"y":15,"zIndex":7}}},"colors":["#0021af","#96efff","#ff77b7","#96efff","#fff7b3","#ff77b7","#ba5594","#743372","#2f114f","#17e698","#f43939"],"accessibility":{"describeSingleSeries":false,"enabled":true},"caption":{},"chartarea":{},"plotarea":{},"annotations":[],"data":{"csv":"null;2020\nItaly;-9.1\nSpain;-8\nEurozone;-7.5\nFrance;-7.2\nGermany;-7\nUK;-6.5\nCanada;-6.2\nUS;-5.9\nJapan;-5.2\nWorld;-3\nChina;1.2\nIndia;1.9","seriesMapping":[{"x":0,"y":1}]}};
  
  var templateDataSettings = {};

  var pluginCode = {};;

  options.data.complete = function(options) {
    const keys = Object.keys(templateDataSettings || {});
    keys.forEach(function(key) {
      const serie = options.series[key];
      (serie.data || []).forEach(function(d, i) {
        if (templateDataSettings[key].data && templateDataSettings[key].data[i]) {
          merge(d, templateDataSettings[key].data[i]);
        }
      })
    })  
    return options;
  }

  merge(options, pluginCode);

  function isNull(what){return(typeof what==='undefined'||what===null)}
  function isStr(what){return(typeof what==='string'||what instanceof String)}
  function isNum(what){return!isNaN(parseFloat(what))&&isFinite(what)}
  function isFn(what){return(what&&(typeof what==='function')||(what instanceof Function))}
  function isArr(what){return(!isNull(what)&&what.constructor.toString().indexOf('Array')>-1)}
  function isBool(what){return(what===!0||what===!1)}
  function isBasic(what){return!isArr(what)&&(isStr(what)||isNum(what)||isBool(what)||isFn(what))}
  function isObj(what){return what&&what.constructor.toString().indexOf('Object')>-1}
  function isEmptyObjectArray(arr){return isObj(arr[0])&&arr.some(function(b){return Object.keys(b).length===0})}
  function merge(a,b){if(!a||!b)return a||b;Object.keys(b).forEach(function(bk){if(isNull(b[bk])||isBasic(b[bk])){a[bk]=b[bk]}else if(isArr(b[bk])){if(isEmptyObjectArray(b[bk]))return;a[bk]=[];b[bk].forEach(function(i){if(isNull(i)||isBasic(i)){a[bk].push(i)}else{a[bk].push(merge(isArr(i)?[]:{},i))}})}else{a[bk]=a[bk]||{};merge(a[bk],b[bk])}});return a}

  function isScriptAlreadyIncluded(src){
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
      if (scripts[i].hasAttribute('src')) {
        const scriptTag = scripts[i].getAttribute('src') || '';
        if ((scriptTag.indexOf(src) >= 0) || 
            (scriptTag.indexOf('highcharts.src.js') > -1 && src === 'highcharts.js') ||
            ((scriptTag.indexOf('stock/highstock.js') > -1) && src === 'modules/highstock.js')) {
          return true;
        }
      }
    }
    return false;
  }

  function loadCSS() {
    var cssLength = externalCSS.length;
    for(var i=0; i < cssLength; i++) {
      var css = document.createElement('link');
      css.rel  = 'stylesheet';
      css.type = "text/css";
      css.href = externalCSS[i];
      document.body.appendChild(css);
    }
  }

  function createChart() {
    if(chartCreated) return;

    if (typeof window['Highcharts'] !== 'undefined') {
      

    if (options.yAxis && options.yAxis.length === 1) options.yAxis = options.yAxis[0];
    if (options.xAxis && options.xAxis.length === 1) options.xAxis = options.xAxis[0];
    if (options.zAxis && options.zAxis.length === 1) options.zAxis = options.zAxis[0];

    /*
// Sample of extending options:
Highcharts.merge(true, options, {
    chart: {
        backgroundColor: "#bada55"
    },
    plotOptions: {
        series: {
            cursor: "pointer",
            events: {
                click: function(event) {
                    alert(this.name + " clicked\n" +
                          "Alt: " + event.altKey + "\n" +
                          "Control: " + event.ctrlKey + "\n" +
                          "Shift: " + event.shiftKey + "\n");
                }
            }
        }
    }
});
*//*
// Sample of extending options:
Highcharts.merge(true, options, {
    chart: {
        backgroundColor: "#bada55"
    },
    plotOptions: {
        series: {
            cursor: "pointer",
            events: {
                click: function(event) {
                    alert(this.name + " clicked\n" +
                          "Alt: " + event.altKey + "\n" +
                          "Control: " + event.ctrlKey + "\n" +
                          "Shift: " + event.shiftKey + "\n");
                }
            }
        }
    }
});
*/


      if (options && (options.lang || options.global)) {
        Highcharts.setOptions({
          global: options.global || {},
          lang: options.lang || {}
        });
      }

      if (Highcharts.Annotation) {
        Highcharts.Annotation.ControlPoint.prototype.redraw = function (animation) {
          this.graphic[animation ? 'animate' : 'attr'](
              this.options.positioner ? this.options.positioner.call(this, this.target) : null
          );
        };
      }
      
      chartCreated = true;
      window.HighchartsCloud.hasLoaded = true;
      new Highcharts.Chart('highcharts-7wYG9vSF1', options);
    }
  }

  function check(scripts, cb) {
    if (loaded === scripts.length) {
      if (cb) {
        cb();
      } else {
        for (var i = 0; i < window.HighchartsCloud.ondone.length; i++) {
          try {
            window.HighchartsCloud.ondone[i]();
          } catch(e) {
            console.error(e);
          }
        }
      }
    }
  }

  function loadScript(s, scripts, cb) {
    if (!s) next();
    
    function next() {
      ++loaded;
      if (loaded < scripts.length) {
        loadScript(scripts[loaded], scripts, cb);
      }
      check(scripts, cb);
    }

    if (isScriptAlreadyIncluded(s)) {
      return next();
    }

    var n = document.createElement('script');

    n.onload = function () {
      next();
    };

    if (s.indexOf('https') >= 0) {
      n.src = s;
    } else {
      n.src = cdn + s;
    }
    document.body.appendChild(n);
  }

  function loadExtraScripts(){
    if (extraScripts.length > 0) {
      loaded = 0;
      loadScript(extraScripts[0], extraScripts);
    } else {
      check(scripts);
    }
  }

  function loadExtraScriptsAndMakeChart(){
    loaded = 0;
    if (extraScripts.length > 0) {
      loadScript(extraScripts[0], extraScripts, createChart);
    } else {
      check(extraScripts);
    }
  }

  if (typeof window['HighchartsCloud'] === 'undefined') {
    window.HighchartsCloud = {
      ondone: [createChart],
      hasWrapped: false,
      hasLoaded: false
    };

    loadScript(scripts[0], scripts, loadExtraScripts);
    loadCSS();

  } else {
    if (!window.HighchartsCloud.hasLoaded) window.HighchartsCloud.ondone.push(loadExtraScriptsAndMakeChart);
    else loadExtraScriptsAndMakeChart();
  }

}());
