(function (w, d, s, u) {
    w.id = 1; w.lang = ''; w.cName = ''; w.cEmail = ''; w.cMessage = ''; w.lcjUrl = u;
    var h = d.getElementsByTagName(s)[0], j = d.createElement(s);
    j.async = true; j.src = 'jaklcpchat.js';
    h.parentNode.insertBefore(j, h);
})(window, document, 'script', 'https://cnc-intel.com/chat/');