<!DOCTYPE html>
<html>
  <head>
    <title>External Provider</title>
    <script data-server="{{ .korapServer }}" src="client.js"></script>
    <script><!--
"use strict";

function pluginit(P) {

  // Request metadata from the embedding match
  P.requestMsg(
    {
      'action':'get',
      'key':'textSigle'
    }, function (d) {
      var textSigle = d.value.value;
      var xhttp = new XMLHttpRequest();
      xhttp.onload = function() {
        document.getElementById("buy").innerHTML = this.responseText;
        P.resize();
      }
      xhttp.open("GET", textSigle, true);
      xhttp.send();
    }
  );

  if (window.dynCall) {
    window.dynCall(P)
  };

  // Set plugin object globally
  window.Plugin = P;

};
-->
    </script>
  </head>
  <body>
    <p id="buy">...</p>
  </body>
</html>
