<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>R/GA</title>
    <meta name="fragment" content="!">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
    <meta name="description" content="R/GA is a full service digital agency creating products, services and communications to help grow our client's businesses in the connected age.">
    <meta property="og:site_name" content="R/GA">
    <meta property="og:type" content="website">
    <meta property="og:title" content="R/GA">
    <meta property="og:description" content="R/GA is a full service digital agency creating products, services and communications to help grow our client's businesses in the connected age.">
    <meta property="og:image" content="https://www.rga.com/images/rga-default-thumbnail.jpg">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="R/GA">
    <meta name="twitter:description" content="R/GA is a full service digital agency creating products, services and communications to help grow our client's businesses in the connected age.">
    <meta name="twitter:image" content="https://www.rga.com/images/rga-default-thumbnail.jpg">
    <link type="text/css" rel="stylesheet" href="//fast.fonts.net/cssapi/4b78e227-403b-4988-9bca-be3d76ec3077.css"/>
    <link rel="stylesheet" href="/assets/app-799c296bcefb27a137969c45f044a98e.css">

    <base href="/" />
<meta name="rga/config/environment" content="%7B%22modulePrefix%22%3A%22rga%22%2C%22environment%22%3A%22prd%22%2C%22baseURL%22%3A%22/%22%2C%22locationType%22%3A%22history%22%2C%22contentSecurityPolicy%22%3A%7B%22default-src%22%3A%22%27none%27%20blob%3A%20%22%2C%22script-src%22%3A%22%27self%27%20%27unsafe-inline%27%20%27unsafe-eval%27%20www.googletagmanager.com%20www.google-analytics.com%20%20maps.googleapis.com%20maps.gstatic.com%22%2C%22font-src%22%3A%22%27self%27%20data%3A%20fast.fonts.com%20fast.fonts.net%22%2C%22media-src%22%3A%22%27self%27%20data%3A%20vimeo.com%20player.vimeo.com%20fpdl.vimeocdn.com%22%2C%22connect-src%22%3A%22%27self%27%20vimeo.com%20player.vimeo.com%20fpdl.vimeocdn.com%20www.google-analytics.com%20googletagmanager.com%22%2C%22img-src%22%3A%22%27self%27%20data%3A%20cdn.space.rga.com%20resized.space.rga.com%20csi.gstatic.com%20i.vimeocdn.com%20vimeo.com%20rga.com%20res.cloudinary.com%20www.googletagmanager.com%20www.google-analytics.com%22%2C%22style-src%22%3A%22%27self%27%20%27unsafe-inline%27%20fast.fonts.com%20fast.fonts.net%22%2C%22frame-src%22%3A%22player.vimeo.com%22%7D%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%7D%2C%22APP%22%3A%7B%22url%22%3A%22https%3A//www.rga.com%22%2C%22host%22%3A%22https%3A//api.space.rga.com%22%2C%22version%22%3A%22v1%22%2C%22proxy%22%3Atrue%2C%22server%22%3A%22https%3A//www.rga.com%22%2C%22LOG_VERSION%22%3Afalse%2C%22LOG_ACTIVE_GENERATION%22%3Afalse%2C%22LOG_VIEW_LOOKUPS%22%3Afalse%2C%22LOG_RESOLVER%22%3Afalse%2C%22LOG_TRANSITIONS%22%3Afalse%2C%22LOG_TRANSITIONS_INTERNAL%22%3Afalse%2C%22LOG_BINDINGS%22%3Afalse%2C%22RAISE_ON_DEPRECATION%22%3Afalse%2C%22LOG_STACKTRACE_ON_DEPRECATION%22%3Afalse%2C%22name%22%3A%22rga%22%7D%2C%22pace%22%3A%7B%22color%22%3A%22red%22%2C%22theme%22%3A%22flat-top%22%2C%22ajax%22%3A%7B%22trackWebSockets%22%3Afalse%7D%2C%22catchupTime%22%3A50%2C%22initialRate%22%3A0.01%2C%22minTime%22%3A100%2C%22ghostTime%22%3A50%2C%22maxProgressPerFrame%22%3A20%2C%22easeFactor%22%3A1.25%2C%22startOnPageLoad%22%3Atrue%2C%22restartOnPushState%22%3Atrue%2C%22restartOnRequestAfter%22%3A500%2C%22target%22%3A%22body%22%2C%22elements%22%3A%7B%22checkInterval%22%3A100%2C%22selectors%22%3A%5B%22body%22%2C%22.ember-view%22%5D%7D%2C%22eventLag%22%3A%7B%22minSamples%22%3A10%2C%22sampleCount%22%3A3%2C%22lagThreshold%22%3A3%7D%7D%2C%22gReCaptcha%22%3A%7B%22siteKey%22%3A%226LcXfy8UAAAAAGTfdiVNJGZr6BNjCAFe6AlnPYZg%22%7D%2C%22serviceWorker%22%3A%7B%22enabled%22%3Afalse%2C%22debug%22%3Afalse%2C%22excludePaths%22%3A%5B%22test.*%22%2C%22robots.txt%22%2C%22index.html%22%5D%2C%22serviceWorkerFile%22%3A%22service-worker.js%22%2C%22includeRegistration%22%3Afalse%2C%22skipWaiting%22%3Atrue%7D%2C%22i18n%22%3A%7B%22defaultLocale%22%3A%22en%22%7D%2C%22moment%22%3A%7B%22includeLocales%22%3A%5B%22es%22%2C%22pt-br%22%2C%22zh-cn%22%2C%22ja%22%2C%22de%22%5D%2C%22outputFormat%22%3A%22LL%22%7D%2C%22resizeServiceDefaults%22%3A%7B%22debounceTimeout%22%3A200%2C%22heightSensitive%22%3Afalse%2C%22widthSensitive%22%3Atrue%2C%22injectionFactories%22%3A%5B%22view%22%2C%22component%22%5D%7D%2C%22RGA%22%3A%7B%22globalOfficeUri%22%3A%22global-office%22%2C%22imgFlagPath%22%3A%22images/flags/%22%2C%22imgFlagMax%22%3A3%2C%22articleWordThreshold%22%3A2800%2C%22articleWordCut%22%3A400%7D%2C%22ember-simple-auth%22%3A%7B%22authorizer%22%3A%22authorizer%3Acustom%22%2C%22authenticationRoute%22%3A%22account.login%22%2C%22routeIfAlreadyAuthenticated%22%3A%22account.profile%22%2C%22routeAfterAuthentication%22%3A%22account.profile%22%2C%22crossOriginWhitelist%22%3A%5B%22http%3A//localhost/%22%2C%22https%3A//connectedwork-api-staging.web.rga.com/%22%2C%22https%3A//connectedwork-api.web.rga.com/%22%2C%22https%3A//api-stg.space.rga.com/%22%2C%22https%3A//api.space.rga.com/%22%5D%7D%2C%22exportApplicationGlobal%22%3Atrue%7D" />
<script type="text/javascript" data-pace-options='{"color":"red","theme":"flat-top","catchupTime":50,"initialRate":0.01,"minTime":100,"ghostTime":50,"maxProgressPerFrame":20,"easeFactor":1.25,"startOnPageLoad":true,"restartOnPushState":true,"restartOnRequestAfter":500,"target":"body","elements":{"checkInterval":100,"selectors":["body",".ember-view"]},"eventLag":{"minSamples":10,"sampleCount":3,"lagThreshold":3},"ajax":{"trackWebSockets":false}}'>(function() {
  var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState,
    __slice = [].slice,
    __hasProp = {}.hasOwnProperty,
    __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
    __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };

  defaultOptions = {
    catchupTime: 100,
    initialRate: .03,
    minTime: 250,
    ghostTime: 100,
    maxProgressPerFrame: 20,
    easeFactor: 1.25,
    startOnPageLoad: true,
    restartOnPushState: true,
    restartOnRequestAfter: 500,
    target: 'body',
    elements: {
      checkInterval: 100,
      selectors: ['body']
    },
    eventLag: {
      minSamples: 10,
      sampleCount: 3,
      lagThreshold: 3
    },
    ajax: {
      trackMethods: ['GET'],
      trackWebSockets: true,
      ignoreURLs: []
    }
  };

  now = function() {
    var _ref;
    return (_ref = typeof performance !== "undefined" && performance !== null ? typeof performance.now === "function" ? performance.now() : void 0 : void 0) != null ? _ref : +(new Date);
  };

  requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;

  cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;

  if (requestAnimationFrame == null) {
    requestAnimationFrame = function(fn) {
      return setTimeout(fn, 50);
    };
    cancelAnimationFrame = function(id) {
      return clearTimeout(id);
    };
  }

  runAnimation = function(fn) {
    var last, tick;
    last = now();
    tick = function() {
      var diff;
      diff = now() - last;
      if (diff >= 33) {
        last = now();
        return fn(diff, function() {
          return requestAnimationFrame(tick);
        });
      } else {
        return setTimeout(tick, 33 - diff);
      }
    };
    return tick();
  };

  result = function() {
    var args, key, obj;
    obj = arguments[0], key = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : [];
    if (typeof obj[key] === 'function') {
      return obj[key].apply(obj, args);
    } else {
      return obj[key];
    }
  };

  extend = function() {
    var key, out, source, sources, val, _i, _len;
    out = arguments[0], sources = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
    for (_i = 0, _len = sources.length; _i < _len; _i++) {
      source = sources[_i];
      if (source) {
        for (key in source) {
          if (!__hasProp.call(source, key)) continue;
          val = source[key];
          if ((out[key] != null) && typeof out[key] === 'object' && (val != null) && typeof val === 'object') {
            extend(out[key], val);
          } else {
            out[key] = val;
          }
        }
      }
    }
    return out;
  };

  avgAmplitude = function(arr) {
    var count, sum, v, _i, _len;
    sum = count = 0;
    for (_i = 0, _len = arr.length; _i < _len; _i++) {
      v = arr[_i];
      sum += Math.abs(v);
      count++;
    }
    return sum / count;
  };

  getFromDOM = function(key, json) {
    var data, e, el;
    if (key == null) {
      key = 'options';
    }
    if (json == null) {
      json = true;
    }
    el = document.querySelector("[data-pace-" + key + "]");
    if (!el) {
      return;
    }
    data = el.getAttribute("data-pace-" + key);
    if (!json) {
      return data;
    }
    try {
      return JSON.parse(data);
    } catch (_error) {
      e = _error;
      return typeof console !== "undefined" && console !== null ? console.error("Error parsing inline pace options", e) : void 0;
    }
  };

  Evented = (function() {
    function Evented() {}

    Evented.prototype.on = function(event, handler, ctx, once) {
      var _base;
      if (once == null) {
        once = false;
      }
      if (this.bindings == null) {
        this.bindings = {};
      }
      if ((_base = this.bindings)[event] == null) {
        _base[event] = [];
      }
      return this.bindings[event].push({
        handler: handler,
        ctx: ctx,
        once: once
      });
    };

    Evented.prototype.once = function(event, handler, ctx) {
      return this.on(event, handler, ctx, true);
    };

    Evented.prototype.off = function(event, handler) {
      var i, _ref, _results;
      if (((_ref = this.bindings) != null ? _ref[event] : void 0) == null) {
        return;
      }
      if (handler == null) {
        return delete this.bindings[event];
      } else {
        i = 0;
        _results = [];
        while (i < this.bindings[event].length) {
          if (this.bindings[event][i].handler === handler) {
            _results.push(this.bindings[event].splice(i, 1));
          } else {
            _results.push(i++);
          }
        }
        return _results;
      }
    };

    Evented.prototype.trigger = function() {
      var args, ctx, event, handler, i, once, _ref, _ref1, _results;
      event = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
      if ((_ref = this.bindings) != null ? _ref[event] : void 0) {
        i = 0;
        _results = [];
        while (i < this.bindings[event].length) {
          _ref1 = this.bindings[event][i], handler = _ref1.handler, ctx = _ref1.ctx, once = _ref1.once;
          handler.apply(ctx != null ? ctx : this, args);
          if (once) {
            _results.push(this.bindings[event].splice(i, 1));
          } else {
            _results.push(i++);
          }
        }
        return _results;
      }
    };

    return Evented;

  })();

  Pace = window.Pace || {};

  window.Pace = Pace;

  extend(Pace, Evented.prototype);

  options = Pace.options = extend({}, defaultOptions, window.paceOptions, getFromDOM());

  _ref = ['ajax', 'document', 'eventLag', 'elements'];
  for (_i = 0, _len = _ref.length; _i < _len; _i++) {
    source = _ref[_i];
    if (options[source] === true) {
      options[source] = defaultOptions[source];
    }
  }

  NoTargetError = (function(_super) {
    __extends(NoTargetError, _super);

    function NoTargetError() {
      _ref1 = NoTargetError.__super__.constructor.apply(this, arguments);
      return _ref1;
    }

    return NoTargetError;

  })(Error);

  Bar = (function() {
    function Bar() {
      this.progress = 0;
    }

    Bar.prototype.getElement = function() {
      var targetElement;
      if (this.el == null) {
        targetElement = document.querySelector(options.target);
        if (!targetElement) {
          throw new NoTargetError;
        }
        this.el = document.createElement('div');
        this.el.className = "pace pace-active";
        document.body.className = document.body.className.replace(/pace-done/g, '');
        document.body.className += ' pace-running';
        this.el.innerHTML = '<div class="pace-progress">\n  <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>';
        if (targetElement.firstChild != null) {
          targetElement.insertBefore(this.el, targetElement.firstChild);
        } else {
          targetElement.appendChild(this.el);
        }
      }
      return this.el;
    };

    Bar.prototype.finish = function() {
      var el;
      el = this.getElement();
      el.className = el.className.replace('pace-active', '');
      el.className += ' pace-inactive';
      document.body.className = document.body.className.replace('pace-running', '');
      return document.body.className += ' pace-done';
    };

    Bar.prototype.update = function(prog) {
      this.progress = prog;
      return this.render();
    };

    Bar.prototype.destroy = function() {
      try {
        this.getElement().parentNode.removeChild(this.getElement());
      } catch (_error) {
        NoTargetError = _error;
      }
      return this.el = void 0;
    };

    Bar.prototype.render = function() {
      var el, key, progressStr, transform, _j, _len1, _ref2;
      if (document.querySelector(options.target) == null) {
        return false;
      }
      el = this.getElement();
      transform = "translate3d(" + this.progress + "%, 0, 0)";
      _ref2 = ['webkitTransform', 'msTransform', 'transform'];
      for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
        key = _ref2[_j];
        el.children[0].style[key] = transform;
      }
      if (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) {
        el.children[0].setAttribute('data-progress-text', "" + (this.progress | 0) + "%");
        if (this.progress >= 100) {
          progressStr = '99';
        } else {
          progressStr = this.progress < 10 ? "0" : "";
          progressStr += this.progress | 0;
        }
        el.children[0].setAttribute('data-progress', "" + progressStr);
      }
      return this.lastRenderedProgress = this.progress;
    };

    Bar.prototype.done = function() {
      return this.progress >= 100;
    };

    return Bar;

  })();

  Events = (function() {
    function Events() {
      this.bindings = {};
    }

    Events.prototype.trigger = function(name, val) {
      var binding, _j, _len1, _ref2, _results;
      if (this.bindings[name] != null) {
        _ref2 = this.bindings[name];
        _results = [];
        for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
          binding = _ref2[_j];
          _results.push(binding.call(this, val));
        }
        return _results;
      }
    };

    Events.prototype.on = function(name, fn) {
      var _base;
      if ((_base = this.bindings)[name] == null) {
        _base[name] = [];
      }
      return this.bindings[name].push(fn);
    };

    return Events;

  })();

  _XMLHttpRequest = window.XMLHttpRequest;

  _XDomainRequest = window.XDomainRequest;

  _WebSocket = window.WebSocket;

  extendNative = function(to, from) {
    var e, key, _results;
    _results = [];
    for (key in from.prototype) {
      try {
        if ((to[key] == null) && typeof from[key] !== 'function') {
          if (typeof Object.defineProperty === 'function') {
            _results.push(Object.defineProperty(to, key, {
              get: function() {
                return from.prototype[key];
              },
              configurable: true,
              enumerable: true
            }));
          } else {
            _results.push(to[key] = from.prototype[key]);
          }
        } else {
          _results.push(void 0);
        }
      } catch (_error) {
        e = _error;
      }
    }
    return _results;
  };

  ignoreStack = [];

  Pace.ignore = function() {
    var args, fn, ret;
    fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
    ignoreStack.unshift('ignore');
    ret = fn.apply(null, args);
    ignoreStack.shift();
    return ret;
  };

  Pace.track = function() {
    var args, fn, ret;
    fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
    ignoreStack.unshift('track');
    ret = fn.apply(null, args);
    ignoreStack.shift();
    return ret;
  };

  shouldTrack = function(method) {
    var _ref2;
    if (method == null) {
      method = 'GET';
    }
    if (ignoreStack[0] === 'track') {
      return 'force';
    }
    if (!ignoreStack.length && options.ajax) {
      if (method === 'socket' && options.ajax.trackWebSockets) {
        return true;
      } else if (_ref2 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref2) >= 0) {
        return true;
      }
    }
    return false;
  };

  RequestIntercept = (function(_super) {
    __extends(RequestIntercept, _super);

    function RequestIntercept() {
      var monitorXHR,
        _this = this;
      RequestIntercept.__super__.constructor.apply(this, arguments);
      monitorXHR = function(req) {
        var _open;
        _open = req.open;
        return req.open = function(type, url, async) {
          if (shouldTrack(type)) {
            _this.trigger('request', {
              type: type,
              url: url,
              request: req
            });
          }
          return _open.apply(req, arguments);
        };
      };
      window.XMLHttpRequest = function(flags) {
        var req;
        req = new _XMLHttpRequest(flags);
        monitorXHR(req);
        return req;
      };
      try {
        extendNative(window.XMLHttpRequest, _XMLHttpRequest);
      } catch (_error) {}
      if (_XDomainRequest != null) {
        window.XDomainRequest = function() {
          var req;
          req = new _XDomainRequest;
          monitorXHR(req);
          return req;
        };
        try {
          extendNative(window.XDomainRequest, _XDomainRequest);
        } catch (_error) {}
      }
      if ((_WebSocket != null) && options.ajax.trackWebSockets) {
        window.WebSocket = function(url, protocols) {
          var req;
          if (protocols != null) {
            req = new _WebSocket(url, protocols);
          } else {
            req = new _WebSocket(url);
          }
          if (shouldTrack('socket')) {
            _this.trigger('request', {
              type: 'socket',
              url: url,
              protocols: protocols,
              request: req
            });
          }
          return req;
        };
        try {
          extendNative(window.WebSocket, _WebSocket);
        } catch (_error) {}
      }
    }

    return RequestIntercept;

  })(Events);

  _intercept = null;

  getIntercept = function() {
    if (_intercept == null) {
      _intercept = new RequestIntercept;
    }
    return _intercept;
  };

  shouldIgnoreURL = function(url) {
    var pattern, _j, _len1, _ref2;
    _ref2 = options.ajax.ignoreURLs;
    for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
      pattern = _ref2[_j];
      if (typeof pattern === 'string') {
        if (url.indexOf(pattern) !== -1) {
          return true;
        }
      } else {
        if (pattern.test(url)) {
          return true;
        }
      }
    }
    return false;
  };

  getIntercept().on('request', function(_arg) {
    var after, args, request, type, url;
    type = _arg.type, request = _arg.request, url = _arg.url;
    if (shouldIgnoreURL(url)) {
      return;
    }
    if (!Pace.running && (options.restartOnRequestAfter !== false || shouldTrack(type) === 'force')) {
      args = arguments;
      after = options.restartOnRequestAfter || 0;
      if (typeof after === 'boolean') {
        after = 0;
      }
      return setTimeout(function() {
        var stillActive, _j, _len1, _ref2, _ref3, _results;
        if (type === 'socket') {
          stillActive = request.readyState < 2;
        } else {
          stillActive = (0 < (_ref2 = request.readyState) && _ref2 < 4);
        }
        if (stillActive) {
          Pace.restart();
          _ref3 = Pace.sources;
          _results = [];
          for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) {
            source = _ref3[_j];
            if (source instanceof AjaxMonitor) {
              source.watch.apply(source, args);
              break;
            } else {
              _results.push(void 0);
            }
          }
          return _results;
        }
      }, after);
    }
  });

  AjaxMonitor = (function() {
    function AjaxMonitor() {
      var _this = this;
      this.elements = [];
      getIntercept().on('request', function() {
        return _this.watch.apply(_this, arguments);
      });
    }

    AjaxMonitor.prototype.watch = function(_arg) {
      var request, tracker, type, url;
      type = _arg.type, request = _arg.request, url = _arg.url;
      if (shouldIgnoreURL(url)) {
        return;
      }
      if (type === 'socket') {
        tracker = new SocketRequestTracker(request);
      } else {
        tracker = new XHRRequestTracker(request);
      }
      return this.elements.push(tracker);
    };

    return AjaxMonitor;

  })();

  XHRRequestTracker = (function() {
    function XHRRequestTracker(request) {
      var event, size, _j, _len1, _onreadystatechange, _ref2,
        _this = this;
      this.progress = 0;
      if (window.ProgressEvent != null) {
        size = null;
        request.addEventListener('progress', function(evt) {
          if (evt.lengthComputable) {
            return _this.progress = 100 * evt.loaded / evt.total;
          } else {
            return _this.progress = _this.progress + (100 - _this.progress) / 2;
          }
        }, false);
        _ref2 = ['load', 'abort', 'timeout', 'error'];
        for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
          event = _ref2[_j];
          request.addEventListener(event, function() {
            return _this.progress = 100;
          }, false);
        }
      } else {
        _onreadystatechange = request.onreadystatechange;
        request.onreadystatechange = function() {
          var _ref3;
          if ((_ref3 = request.readyState) === 0 || _ref3 === 4) {
            _this.progress = 100;
          } else if (request.readyState === 3) {
            _this.progress = 50;
          }
          return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0;
        };
      }
    }

    return XHRRequestTracker;

  })();

  SocketRequestTracker = (function() {
    function SocketRequestTracker(request) {
      var event, _j, _len1, _ref2,
        _this = this;
      this.progress = 0;
      _ref2 = ['error', 'open'];
      for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
        event = _ref2[_j];
        request.addEventListener(event, function() {
          return _this.progress = 100;
        }, false);
      }
    }

    return SocketRequestTracker;

  })();

  ElementMonitor = (function() {
    function ElementMonitor(options) {
      var selector, _j, _len1, _ref2;
      if (options == null) {
        options = {};
      }
      this.elements = [];
      if (options.selectors == null) {
        options.selectors = [];
      }
      _ref2 = options.selectors;
      for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
        selector = _ref2[_j];
        this.elements.push(new ElementTracker(selector));
      }
    }

    return ElementMonitor;

  })();

  ElementTracker = (function() {
    function ElementTracker(selector) {
      this.selector = selector;
      this.progress = 0;
      this.check();
    }

    ElementTracker.prototype.check = function() {
      var _this = this;
      if (document.querySelector(this.selector)) {
        return this.done();
      } else {
        return setTimeout((function() {
          return _this.check();
        }), options.elements.checkInterval);
      }
    };

    ElementTracker.prototype.done = function() {
      return this.progress = 100;
    };

    return ElementTracker;

  })();

  DocumentMonitor = (function() {
    DocumentMonitor.prototype.states = {
      loading: 0,
      interactive: 50,
      complete: 100
    };

    function DocumentMonitor() {
      var _onreadystatechange, _ref2,
        _this = this;
      this.progress = (_ref2 = this.states[document.readyState]) != null ? _ref2 : 100;
      _onreadystatechange = document.onreadystatechange;
      document.onreadystatechange = function() {
        if (_this.states[document.readyState] != null) {
          _this.progress = _this.states[document.readyState];
        }
        return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0;
      };
    }

    return DocumentMonitor;

  })();

  EventLagMonitor = (function() {
    function EventLagMonitor() {
      var avg, interval, last, points, samples,
        _this = this;
      this.progress = 0;
      avg = 0;
      samples = [];
      points = 0;
      last = now();
      interval = setInterval(function() {
        var diff;
        diff = now() - last - 50;
        last = now();
        samples.push(diff);
        if (samples.length > options.eventLag.sampleCount) {
          samples.shift();
        }
        avg = avgAmplitude(samples);
        if (++points >= options.eventLag.minSamples && avg < options.eventLag.lagThreshold) {
          _this.progress = 100;
          return clearInterval(interval);
        } else {
          return _this.progress = 100 * (3 / (avg + 3));
        }
      }, 50);
    }

    return EventLagMonitor;

  })();

  Scaler = (function() {
    function Scaler(source) {
      this.source = source;
      this.last = this.sinceLastUpdate = 0;
      this.rate = options.initialRate;
      this.catchup = 0;
      this.progress = this.lastProgress = 0;
      if (this.source != null) {
        this.progress = result(this.source, 'progress');
      }
    }

    Scaler.prototype.tick = function(frameTime, val) {
      var scaling;
      if (val == null) {
        val = result(this.source, 'progress');
      }
      if (val >= 100) {
        this.done = true;
      }
      if (val === this.last) {
        this.sinceLastUpdate += frameTime;
      } else {
        if (this.sinceLastUpdate) {
          this.rate = (val - this.last) / this.sinceLastUpdate;
        }
        this.catchup = (val - this.progress) / options.catchupTime;
        this.sinceLastUpdate = 0;
        this.last = val;
      }
      if (val > this.progress) {
        this.progress += this.catchup * frameTime;
      }
      scaling = 1 - Math.pow(this.progress / 100, options.easeFactor);
      this.progress += scaling * this.rate * frameTime;
      this.progress = Math.min(this.lastProgress + options.maxProgressPerFrame, this.progress);
      this.progress = Math.max(0, this.progress);
      this.progress = Math.min(100, this.progress);
      this.lastProgress = this.progress;
      return this.progress;
    };

    return Scaler;

  })();

  sources = null;

  scalers = null;

  bar = null;

  uniScaler = null;

  animation = null;

  cancelAnimation = null;

  Pace.running = false;

  handlePushState = function() {
    if (options.restartOnPushState) {
      return Pace.restart();
    }
  };

  if (window.history.pushState != null) {
    _pushState = window.history.pushState;
    window.history.pushState = function() {
      handlePushState();
      return _pushState.apply(window.history, arguments);
    };
  }

  if (window.history.replaceState != null) {
    _replaceState = window.history.replaceState;
    window.history.replaceState = function() {
      handlePushState();
      return _replaceState.apply(window.history, arguments);
    };
  }

  SOURCE_KEYS = {
    ajax: AjaxMonitor,
    elements: ElementMonitor,
    document: DocumentMonitor,
    eventLag: EventLagMonitor
  };

  (init = function() {
    var type, _j, _k, _len1, _len2, _ref2, _ref3, _ref4;
    Pace.sources = sources = [];
    _ref2 = ['ajax', 'elements', 'document', 'eventLag'];
    for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
      type = _ref2[_j];
      if (options[type] !== false) {
        sources.push(new SOURCE_KEYS[type](options[type]));
      }
    }
    _ref4 = (_ref3 = options.extraSources) != null ? _ref3 : [];
    for (_k = 0, _len2 = _ref4.length; _k < _len2; _k++) {
      source = _ref4[_k];
      sources.push(new source(options));
    }
    Pace.bar = bar = new Bar;
    scalers = [];
    return uniScaler = new Scaler;
  })();

  Pace.stop = function() {
    Pace.trigger('stop');
    Pace.running = false;
    bar.destroy();
    cancelAnimation = true;
    if (animation != null) {
      if (typeof cancelAnimationFrame === "function") {
        cancelAnimationFrame(animation);
      }
      animation = null;
    }
    return init();
  };

  Pace.restart = function() {
    Pace.trigger('restart');
    Pace.stop();
    return Pace.start();
  };

  Pace.go = function() {
    var start;
    Pace.running = true;
    bar.render();
    start = now();
    cancelAnimation = false;
    return animation = runAnimation(function(frameTime, enqueueNextFrame) {
      var avg, count, done, element, elements, i, j, remaining, scaler, scalerList, sum, _j, _k, _len1, _len2, _ref2;
      remaining = 100 - bar.progress;
      count = sum = 0;
      done = true;
      for (i = _j = 0, _len1 = sources.length; _j < _len1; i = ++_j) {
        source = sources[i];
        scalerList = scalers[i] != null ? scalers[i] : scalers[i] = [];
        elements = (_ref2 = source.elements) != null ? _ref2 : [source];
        for (j = _k = 0, _len2 = elements.length; _k < _len2; j = ++_k) {
          element = elements[j];
          scaler = scalerList[j] != null ? scalerList[j] : scalerList[j] = new Scaler(element);
          done &= scaler.done;
          if (scaler.done) {
            continue;
          }
          count++;
          sum += scaler.tick(frameTime);
        }
      }
      avg = sum / count;
      bar.update(uniScaler.tick(frameTime, avg));
      if (bar.done() || done || cancelAnimation) {
        bar.update(100);
        Pace.trigger('done');
        return setTimeout(function() {
          bar.finish();
          Pace.running = false;
          return Pace.trigger('hide');
        }, Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0)));
      } else {
        return enqueueNextFrame();
      }
    });
  };

  Pace.start = function(_options) {
    extend(options, _options);
    Pace.running = true;
    try {
      bar.render();
    } catch (_error) {
      NoTargetError = _error;
    }
    if (!document.querySelector('.pace')) {
      return setTimeout(Pace.start, 50);
    } else {
      Pace.trigger('start');
      return Pace.go();
    }
  };

  if (typeof define === 'function' && define.amd) {
    define(['pace'], function() {
      return Pace;
    });
  } else if (typeof exports === 'object') {
    module.exports = Pace;
  } else {
    if (options.startOnPageLoad) {
      Pace.start();
    }
  }

}).call(this);
;
(function () {

  var scriptContents = [],
      remain;

  var paceScripts = function () {
    var scripts = document.querySelectorAll('script[pace-src]'),
        len = scripts.length;

    remain = len;

    for (var i = 0; i < len; i++) {
      getScript.call(this, i, scripts[i].getAttribute('pace-src'), processScript);
    }

    scripts = null;
  };

  var processScript = function (index, content) {
    remain--;
    scriptContents[index] = content || '';

    if (remain === 0) {
      var script = document.createElement('script');
      script.type = 'text/javascript';
      script.text = scriptContents.join(';\n\n');
      document.querySelector('body').appendChild(script);

      scriptContents = null;
      script = null;
      remain = null;
    }
  };

  // http://youmightnotneedjquery.com/

  var ready = function (fn) {
    if (document.readyState !== 'loading') {
      fn();
    } else if (document.addEventListener) {
      document.addEventListener('DOMContentLoaded', fn);
    } else {
      document.attachEvent('onreadystatechange', function() {
        if (document.readyState !== 'loading') {
          fn();
        }
      });
    }
  };

  var getScript = function (index, url, callback) {
    var request = new XMLHttpRequest();

    request.open('GET', url, true);

    request.onreadystatechange = function() {
      if (this.readyState === 4) {
        if (this.status >= 200 && this.status < 400) {
          var responseURL = this.responseURL,
              text = this.responseText;

          text = text.replace(/sourceMappingURL\=/gm, function (prefix) {
            return prefix + responseURL + '/../';
          });
          callback(index, text);
        } else {
          callback(index);
        }
      }
    };

    request.send();
    request = null;
  };

  ready(paceScripts);

})();
</script>
    
    <link rel="icon" sizes="any" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAALUlEQVQo
    kWP8//8/AymAhYGB4ZmkBZGqpZ6fYCLJeAYGhlENoxqopYGR1OQNACr6CRsgfA7eAAAAAElFTkSu
    QmCC">
  </head>
  <body>
    <div class="la-square-loader body-first-loader">
        <div></div>
    </div>
    <script src="/assets/app-f1ecd3b374825790ff21ec4605eeeedf.js"></script>

    
    
    <!-- GTM -->
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-NSF6ZJ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push(
    {'gtm.start': new Date().getTime(),event:'gtm.js'}
    );var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-NSF6ZJ');</script>
    <!-- FB Pixel
    <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1102633253130661&ev=PageView&noscript=1"/>
    -->
    <!-- Browser Update -->
    <script>"use strict";var $bu_=new function(){var s=this;this.vsakt={e:18,i:15,f:65,o:58,o_a:48.2,s:"12.0.1",c:72,y:"18.11",v:2.3,uc:"12.10",samsung:8.2,ios:12.1};this.vsinsecure_below={i:11,e:16,c:64,f:59,y:"18.11",s:"11.1.1",ios:"9.3.5",v:"2.0",uc:"12.6",samsung:"6.4",o_a:44,o:55};this.vsdefault={e:-3,i:11,f:-3,o:-3,o_a:-3,s:-1,c:-3,a:535,y:18.10,v:2.1,uc:12.8,samsung:7.0,ios:9};this.names={i:'Internet Explorer',e:"Edge",f:'Firefox',o:'Opera',o_a:'Opera',s:'Safari',c:"Chrome",a:"Android Browser",y:"Yandex Browser",v:"Vivaldi",uc:"UC Browser",samsung:"Samsung Internet",x:"Other",ios:"iOS",silk:"Silk"};this.get_browser=function(ua){var n,ua=(ua||navigator.userAgent).replace("_","."),r={n:"x",v:0,t:"other browser",age_years:undefined,no_device_update:!1,available:s.vsakt};function ignore(reason,pattern){if(new RegExp(pattern,"i").test(ua))return reason;return!1}
        r.other=ignore("bot","bot|spider|archiver|transcoder|crawl|checker|monitoring|prerender|screenshot|python-|php|uptime|validator|fetcher|facebook|slurp|google|yahoo|node|mail.ru|github|cloudflare|addthis|thumb|proxy|feed|fetch|favicon|link|http|scrape|seo|page|search console|AOLBuild|Teoma|Expeditor")||ignore("TV","SMART-TV|SmartTV")||ignore("niche browser","Dorado|LBBROWSER|Focus|waterfox|Firefox/56.2|Firefox/56.3|Whale|MIDP|k-meleon|sparrow|wii|Chromium|Puffin|Opera Mini|maxthon|maxton|dolfin|dolphin|seamonkey|opera mini|netfront|moblin|maemo|arora|kazehakase|epiphany|konqueror|rekonq|symbian|webos|PaleMoon|QupZilla|Otter|Midori|qutebrowser")||ignore("mobile without upgrade path or landing page","cros|kindle|tizen|silk|blackberry|bb10|RIM|PlayBook|meego|nokia|ucweb|ZuneWP7|537.85.10");r.mobile=(/iphone|ipod|ipad|android|mobile|phone|ios|iemobile/i.test(ua));var pats=[["CriOS.VV","c",'ios'],["FxiOS.VV","f",'ios'],["Trident.*rv:VV","i",'i'],["Trident.VV","io",'i'],["UCBrowser.VV","uc",'c'],["MSIE.VV","i",'i'],["Edge.VV","e",'e'],["Vivaldi.VV","v",'c'],["Android.*OPR.VV","o_a",'c'],["OPR.VV","o",'c'],["YaBrowser.VV","y",'c'],["SamsungBrowser.VV","samsung",'c'],["Silk.VV","silk",'c'],["Chrome.VV","c",'c'],["Firefox.VV","f",'f'],[" OS.VV.*Safari","ios",'ios'],["Version.VV.*Safari","s",'s'],["Safari.VV","so",'s'],["Opera.*Version.VV","o"],["Opera.VV","o"]];var VV="(\\d+\\.?\\d+\\.?\\d*\\.?\\d*)";for(var i=0;i<pats.length;i++){if(ua.match(new RegExp(pats[i][0].replace("VV",VV),"i"))){r.n=pats[i][1];r.engine=pats[i][2];break}}
        r.fullv=RegExp.$1;r.v=parseFloat(r.fullv);if(/windows.nt.5.0|windows.nt.4.0|windows.95|windows.98|os x 10.2|os x 10.3|os x 10.4|os x 10.5/i.test(ua)){r.no_device_update=!0;r.available={}}
        if(/iphone|ipod|ipad|ios/i.test(ua)){ua.match(new RegExp("OS."+VV,"i"));r.n="ios";r.fullv=RegExp.$1;r.v=parseFloat(r.fullv);r.engine='ios';r.available={"ios":s.available_ios(ua,v)}
        if(r.available.ios<11)
        r.no_device_update=!0}
        if(/windows.nt.5.1|windows.nt.5.2|windows.nt.6.0/i.test(ua)){r.available={"c":49.9,"f":52.9}}
        if(/os x 10.6/i.test(ua)){r.available={"s":"5.1.10","c":49.9,"f":48}
        r.no_device_update=!0}
        if(/os x 10.7|os x 10.8/i.test(ua)){r.available={"s":"6.2.8","c":49.9,"f":48}
        r.no_device_update=!0}
        if(/os x 10.9/i.test(ua))
        r.available.s="9.1.3"
        if(/os x 10.10/i.test(ua))
        r.available.s="10.1.2"
        if(ua.indexOf('Android')>-1&&r.n==="s"){var v=parseInt((/WebKit\/([0-9]+)/i.exec(ua)||0)[1],10)||2000;if(v<=534){r.n="a";r.fullv=r.v=v;r.is_insecure=!0}}
        if(r.n==="so"){r.v=r.fullv=4.0;r.n="s"}
        if(r.n==="io"){r.n="i";if(r.v>6)r.v=11;else if(r.v>5)r.v=10;else if(r.v>4)r.v=9;else if(r.v>3.1)r.v=8;else if(r.v>3)r.v=7;else r.v=9;r.fullv=r.v}
        r.t=s.names[r.n]+" "+r.v;r.is_supported=r.is_latest=!s.vsakt[r.n]?undefined:s.less(r.fullv,s.vsakt[r.n])<=0;r.vmaj=Math.round(r.v);r.is_insecure=r.is_insecure||!s.vsinsecure_below[r.n]?undefined:s.less(r.fullv,s.vsinsecure_below[r.n])===1;if((r.n==="f"&&(r.vmaj===52||r.vmaj===60))||(r.n==="i"&&r.vmaj===11)){r.is_supported=!0;r.is_insecure=!1;if(r.n==="f")
        r.esr=!0}
        if((r.n==="c"||r.n==="f"||r.n==="o")&&s.less(r.fullv,parseFloat(s.vsakt[r.n])-1)<=0)
        r.is_supported=!0;if(r.n==="ios"&&r.v>10.3)
        r.is_supported=!0;if(r.n==="a"||r.n==="x")
        r.t=s.names[r.n];if(r.n==="e"){r.t=s.names[r.n]+" "+r.vmaj;r.is_supported=s.less(r.fullv,"15.15063")!=1}
        var releases_per_year={'f':7,'c':8,'o':8,'i':1,'e':1,'s':1}
        if(releases_per_year[r.n]){r.age_years=Math.round(((s.vsakt[r.n]-r.v)/releases_per_year[r.n])*10)/10||0}
        var engines={e:"Edge.VV",c:"Chrome.VV",f:"Firefox.VV",s:"Version.VV",i:"MSIE.VV","ios":" OS.VV"}
        if(r.engine){ua.match(new RegExp(engines[r.engine].replace("VV",VV),"i"))
        r.engine_version=parseFloat(RegExp.$1)}
        return r}
        this.semver=function(vstr){if(vstr instanceof Array)
        return vstr
        var x=(vstr+(".0.0.0")).split('.')
        return[parseInt(x[0])||0,parseInt(x[1])||0,parseInt(x[2])||0,parseInt(x[3])||0]}
        this.less=function(v1,v2){v1=s.semver(v1)
        v2=s.semver(v2)
        for(var i=0;;i++){if(i>=v1.length)return i>=v2.length?0:1;if(i>=v2.length)return-1;var diff=v2[i]-v1[i]
        if(diff)return diff>0?1:-1}}
        this.available_ios=function(ua,v){var h=Math.max(window.screen.height,window.screen.width),pr=window.devicePixelRatio
        if(/ipad/i.test(ua)){if(h==1024&&pr==2)
        return 10
        if(h==1112)
        return 15;if(h==1366)
        return 15
        if(h==1024&&v<6)
        return 5
        return 9}
        if(pr==1)
        return 6
        if(h==812)
        return 11+4
        if((h==736||h==667))
        return 8+5
        if(h==568)
        return 10
        if(h==480)
        return 7
        return 6}}
        window.$bu_getBrowser=$bu_.get_browser;var $buo=function(op,test){var n=window.navigator,b;op=window._buorgres=op||{};var ll=op.l||(n.languages?n.languages[0]:null)||n.language||n.browserLanguage||n.userLanguage||document.documentElement.getAttribute("lang")||"en";op.llfull=ll.replace("_","-").toLowerCase().substr(0,5);op.ll=op.llfull.substr(0,2);op.domain=op.domain!==undefined?op.domain:(/file:/.test(location.href)?"https:":"")+"//browser-update.org";op.apiver=op.api||op.c||-1;op.jsv="3.2.9";var required_min=(op.apiver<2018&&{i:10,f:11,o:21,s:8,c:30})||{};var vs=op.notify||op.vs||{};vs.e=vs.e||vs.i;vs.i=vs.i||vs.e;var required=op.required||{};required.e=required.e||required.i;required.i=required.i||required.e;for(b in $bu_.vsdefault){if(vs[b]){if($bu_.less(vs[b],0)>=0)
        required[b]=parseFloat($bu_.vsakt[b])+parseFloat(vs[b])+0.01
        else required[b]=parseFloat(vs[b])+0.01}
        if(!required[b])
        required[b]=$bu_.vsdefault[b]
        if($bu_.less(required[b],0)>=0)
        required[b]=parseFloat($bu_.vsakt[b])+required[b]
        if(required_min[b]&&$bu_.less(required[b],required_min[b])===1)
        required[b]=required_min[b]}
        required.ios=required.ios||required.s;op.required=required;op.reminder=op.reminder<0.1?0:op.reminder||(24*7);op.reminderClosed=op.reminderClosed<1?0:op.reminderClosed||(24*7);op.onshow=op.onshow||function(o){};op.onclick=op.onclick||function(o){};op.onclose=op.onclose||function(o){};op.pageurl=op.pageurl||location.hostname||"x";op.newwindow=(op.newwindow!==!1);op.test=test||op.test||(location.hash==="#test-bu")||!1;if(Math.random()*1200<1&&!op.test){var i=new Image();i.src="//browser-update.org/count.php?what=brow&jsv="+op.jsv}
        op.test=test||op.test||location.hash==="#test-bu";op.reasons=[];op.hide_reasons=[];function check_show(op){var bb=$bu_.get_browser(op.override_ua);op.is_below_required=required[bb.n]&&$bu_.less(bb.fullv,required[bb.n])===1;if(bb.other!==!1)
        op.hide_reasons.push("is other browser:"+bb.other)
        if(bb.esr&&!op.notify_esr)
        op.hide_reasons.push("Extended support (ESR)")
        if(bb.mobile&&op.mobile===!1)
        op.hide_reasons.push("do not notify mobile")
        if(bb.no_device_update)
        op.hide_reasons.push("no device update")
        if(op.is_below_required)
        op.reasons.push("below required")
        if((op.insecure||op.unsecure)&&bb.is_insecure)
        op.reasons.push("insecure")
        if(op.unsupported&&!bb.is_supported)
        op.reasons.push("no vendor support")
        if(op.hide_reasons.length>0)
        return!1
        if(op.reasons.length>0)
        return!0
        return!1}
        op.notified=check_show(op);op.already_shown=document.cookie.indexOf("browserupdateorg=pause")>-1;if(!op.test&&(!op.notified||op.already_shown))
        return;op.setCookie=function(hours){document.cookie='browserupdateorg=pause; expires='+(new Date(new Date().getTime()+3600000*hours)).toGMTString()+'; path=/'};if(op.reminder>0)
        op.setCookie(op.reminder);if(op.nomessage){op.onshow(op);return}
        var e=document.createElement("script");e.src=op.jsshowurl||op.domain+"/update.show.min.js";document.body.appendChild(e)};$buo({required:{e:-3,f:-3,o:-3,s:-3,c:-3},insecure:true,api:2019.03, text: `Your web browser is out of date. For an optimal site experience we ask that you either update your browser, or view this site from an alternative browser or your mobile device. ${`<span class="buorg-buttons"><a id="buorgig">Ignore</a></span>`}` })
      </script>
  </body>
</html>
