text: /*!
   * Bootstrap v3.3.7 (http://getbootstrap.com)
   * Copyright 2011-2016 Twitter, Inc.
   * Licensed under the MIT license
   */
  if ('undefined' == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery");
  +(function (a) {
    'use strict';
    var b = a.fn.jquery.split(' ')[0].split('.');
    if ((b[0] < 2 && b[1] < 9) || (1 == b[0] && 9 == b[1] && b[2] < 1) || b[0] > 3)
      throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4");
  })(jQuery),
    +(function (a) {
      'use strict';
      function b() {
        var a = document.createElement('bootstrap'),
          b = {
            WebkitTransition: 'webkitTransitionEnd',
            MozTransition: 'transitionend',
            OTransition: 'oTransitionEnd otransitionend',
            transition: 'transitionend',
          };
        for (var c in b) if (void 0 !== a.style[c]) return { end: b[c] };
        return !1;
      }
      (a.fn.emulateTransitionEnd = function (b) {
        var c = !1,
          d = this;
        a(this).one('bsTransitionEnd', function () {
          c = !0;
        });
        var e = function () {
          c || a(d).trigger(a.support.transition.end);
        };
        return setTimeout(e, b), this;
      }),
        a(function () {
          (a.support.transition = b()),
            a.support.transition &&
              (a.event.special.bsTransitionEnd = {
                bindType: a.support.transition.end,
                delegateType: a.support.transition.end,
                handle: function (b) {
                  if (a(b.target).is(this)) return b.handleObj.handler.apply(this, arguments);
                },
              });
        });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        return this.each(function () {
          var c = a(this),
            e = c.data('bs.alert');
          e || c.data('bs.alert', (e = new d(this))), 'string' == typeof b && e[b].call(c);
        });
      }
      var c = '[data-dismiss="alert"]',
        d = function (b) {
          a(b).on('click', c, this.close);
        };
      (d.VERSION = '3.3.7'),
        (d.TRANSITION_DURATION = 150),
        (d.prototype.close = function (b) {
          function c() {
            g.detach().trigger('closed.bs.alert').remove();
          }
          var e = a(this),
            f = e.attr('data-target');
          f || ((f = e.attr('href')), (f = f && f.replace(/.*(?=#[^\s]*$)/, '')));
          var g = a('#' === f ? [] : f);
          b && b.preventDefault(),
            g.length || (g = e.closest('.alert')),
            g.trigger((b = a.Event('close.bs.alert'))),
            b.isDefaultPrevented() ||
              (g.removeClass('in'),
              a.support.transition && g.hasClass('fade') ? g.one('bsTransitionEnd', c).emulateTransitionEnd(d.TRANSITION_DURATION) : c());
        });
      var e = a.fn.alert;
      (a.fn.alert = b),
        (a.fn.alert.Constructor = d),
        (a.fn.alert.noConflict = function () {
          return (a.fn.alert = e), this;
        }),
        a(document).on('click.bs.alert.data-api', c, d.prototype.close);
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        return this.each(function () {
          var d = a(this),
            e = d.data('bs.button'),
            f = 'object' == typeof b && b;
          e || d.data('bs.button', (e = new c(this, f))), 'toggle' == b ? e.toggle() : b && e.setState(b);
        });
      }
      var c = function (b, d) {
        (this.$element = a(b)), (this.options = a.extend({}, c.DEFAULTS, d)), (this.isLoading = !1);
      };
      (c.VERSION = '3.3.7'),
        (c.DEFAULTS = { loadingText: 'loading...' }),
        (c.prototype.setState = function (b) {
          var c = 'disabled',
            d = this.$element,
            e = d.is('input') ? 'val' : 'html',
            f = d.data();
          (b += 'Text'),
            null == f.resetText && d.data('resetText', d[e]()),
            setTimeout(
              a.proxy(function () {
                d[e](null == f[b] ? this.options[b] : f[b]),
                  'loadingText' == b
                    ? ((this.isLoading = !0), d.addClass(c).attr(c, c).prop(c, !0))
                    : this.isLoading && ((this.isLoading = !1), d.removeClass(c).removeAttr(c).prop(c, !1));
              }, this),
              0
            );
        }),
        (c.prototype.toggle = function () {
          var a = !0,
            b = this.$element.closest('[data-toggle="buttons"]');
          if (b.length) {
            var c = this.$element.find('input');
            'radio' == c.prop('type')
              ? (c.prop('checked') && (a = !1), b.find('.active').removeClass('active'), this.$element.addClass('active'))
              : 'checkbox' == c.prop('type') &&
                (c.prop('checked') !== this.$element.hasClass('active') && (a = !1), this.$element.toggleClass('active')),
              c.prop('checked', this.$element.hasClass('active')),
              a && c.trigger('change');
          } else this.$element.attr('aria-pressed', !this.$element.hasClass('active')), this.$element.toggleClass('active');
        });
      var d = a.fn.button;
      (a.fn.button = b),
        (a.fn.button.Constructor = c),
        (a.fn.button.noConflict = function () {
          return (a.fn.button = d), this;
        }),
        a(document)
          .on('click.bs.button.data-api', '[data-toggle^="button"]', function (c) {
            var d = a(c.target).closest('.btn');
            b.call(d, 'toggle'),
              a(c.target).is('input[type="radio"], input[type="checkbox"]') ||
                (c.preventDefault(),
                d.is('input,button') ? d.trigger('focus') : d.find('input:visible,button:visible').first().trigger('focus'));
          })
          .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (b) {
            a(b.target)
              .closest('.btn')
              .toggleClass('focus', /^focus(in)?$/.test(b.type));
          });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        return this.each(function () {
          var d = a(this),
            e = d.data('bs.carousel'),
            f = a.extend({}, c.DEFAULTS, d.data(), 'object' == typeof b && b),
            g = 'string' == typeof b ? b : f.slide;
          e || d.data('bs.carousel', (e = new c(this, f))), 'number' == typeof b ? e.to(b) : g ? e[g]() : f.interval && e.pause().cycle();
        });
      }
      var c = function (b, c) {
        (this.$element = a(b)),
          (this.$indicators = this.$element.find('.carousel-indicators')),
          (this.options = c),
          (this.paused = null),
          (this.sliding = null),
          (this.interval = null),
          (this.$active = null),
          (this.$items = null),
          this.options.keyboard && this.$element.on('keydown.bs.carousel', a.proxy(this.keydown, this)),
          'hover' == this.options.pause &&
            !('ontouchstart' in document.documentElement) &&
            this.$element.on('mouseenter.bs.carousel', a.proxy(this.pause, this)).on('mouseleave.bs.carousel', a.proxy(this.cycle, this));
      };
      (c.VERSION = '3.3.7'),
        (c.TRANSITION_DURATION = 600),
        (c.DEFAULTS = { interval: 5e3, pause: 'hover', wrap: !0, keyboard: !0 }),
        (c.prototype.keydown = function (a) {
          if (!/input|textarea/i.test(a.target.tagName)) {
            switch (a.which) {
              case 37:
                this.prev();
                break;
              case 39:
                this.next();
                break;
              default:
                return;
            }
            a.preventDefault();
          }
        }),
        (c.prototype.cycle = function (b) {
          return (
            b || (this.paused = !1),
            this.interval && clearInterval(this.interval),
            this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)),
            this
          );
        }),
        (c.prototype.getItemIndex = function (a) {
          return (this.$items = a.parent().children('.item')), this.$items.index(a || this.$active);
        }),
        (c.prototype.getItemForDirection = function (a, b) {
          var c = this.getItemIndex(b),
            d = ('prev' == a && 0 === c) || ('next' == a && c == this.$items.length - 1);
          if (d && !this.options.wrap) return b;
          var e = 'prev' == a ? -1 : 1,
            f = (c + e) % this.$items.length;
          return this.$items.eq(f);
        }),
        (c.prototype.to = function (a) {
          var b = this,
            c = this.getItemIndex((this.$active = this.$element.find('.item.active')));
          if (!(a > this.$items.length - 1 || a < 0))
            return this.sliding
              ? this.$element.one('slid.bs.carousel', function () {
                  b.to(a);
                })
              : c == a
              ? this.pause().cycle()
              : this.slide(a > c ? 'next' : 'prev', this.$items.eq(a));
        }),
        (c.prototype.pause = function (b) {
          return (
            b || (this.paused = !0),
            this.$element.find('.next, .prev').length &&
              a.support.transition &&
              (this.$element.trigger(a.support.transition.end), this.cycle(!0)),
            (this.interval = clearInterval(this.interval)),
            this
          );
        }),
        (c.prototype.next = function () {
          if (!this.sliding) return this.slide('next');
        }),
        (c.prototype.prev = function () {
          if (!this.sliding) return this.slide('prev');
        }),
        (c.prototype.slide = function (b, d) {
          var e = this.$element.find('.item.active'),
            f = d || this.getItemForDirection(b, e),
            g = this.interval,
            h = 'next' == b ? 'left' : 'right',
            i = this;
          if (f.hasClass('active')) return (this.sliding = !1);
          var j = f[0],
            k = a.Event('slide.bs.carousel', { relatedTarget: j, direction: h });
          if ((this.$element.trigger(k), !k.isDefaultPrevented())) {
            if (((this.sliding = !0), g && this.pause(), this.$indicators.length)) {
              this.$indicators.find('.active').removeClass('active');
              var l = a(this.$indicators.children()[this.getItemIndex(f)]);
              l && l.addClass('active');
            }
            var m = a.Event('slid.bs.carousel', { relatedTarget: j, direction: h });
            return (
              a.support.transition && this.$element.hasClass('slide')
                ? (f.addClass(b),
                  f[0].offsetWidth,
                  e.addClass(h),
                  f.addClass(h),
                  e
                    .one('bsTransitionEnd', function () {
                      f.removeClass([b, h].join(' ')).addClass('active'),
                        e.removeClass(['active', h].join(' ')),
                        (i.sliding = !1),
                        setTimeout(function () {
                          i.$element.trigger(m);
                        }, 0);
                    })
                    .emulateTransitionEnd(c.TRANSITION_DURATION))
                : (e.removeClass('active'), f.addClass('active'), (this.sliding = !1), this.$element.trigger(m)),
              g && this.cycle(),
              this
            );
          }
        });
      var d = a.fn.carousel;
      (a.fn.carousel = b),
        (a.fn.carousel.Constructor = c),
        (a.fn.carousel.noConflict = function () {
          return (a.fn.carousel = d), this;
        });
      var e = function (c) {
        var d,
          e = a(this),
          f = a(e.attr('data-target') || ((d = e.attr('href')) && d.replace(/.*(?=#[^\s]+$)/, '')));
        if (f.hasClass('carousel')) {
          var g = a.extend({}, f.data(), e.data()),
            h = e.attr('data-slide-to');
          h && (g.interval = !1), b.call(f, g), h && f.data('bs.carousel').to(h), c.preventDefault();
        }
      };
      a(document).on('click.bs.carousel.data-api', '[data-slide]', e).on('click.bs.carousel.data-api', '[data-slide-to]', e),
        a(window).on('load', function () {
          a('[data-ride="carousel"]').each(function () {
            var c = a(this);
            b.call(c, c.data());
          });
        });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        var c,
          d = b.attr('data-target') || ((c = b.attr('href')) && c.replace(/.*(?=#[^\s]+$)/, ''));
        return a(d);
      }
      function c(b) {
        return this.each(function () {
          var c = a(this),
            e = c.data('bs.collapse'),
            f = a.extend({}, d.DEFAULTS, c.data(), 'object' == typeof b && b);
          !e && f.toggle && /show|hide/.test(b) && (f.toggle = !1),
            e || c.data('bs.collapse', (e = new d(this, f))),
            'string' == typeof b && e[b]();
        });
      }
      var d = function (b, c) {
        (this.$element = a(b)),
          (this.options = a.extend({}, d.DEFAULTS, c)),
          (this.$trigger = a('[data-toggle="collapse"][href="#' + b.id + '"],[data-toggle="collapse"][data-target="#' + b.id + '"]')),
          (this.transitioning = null),
          this.options.parent ? (this.$parent = this.getParent()) : this.addAriaAndCollapsedClass(this.$element, this.$trigger),
          this.options.toggle && this.toggle();
      };
      (d.VERSION = '3.3.7'),
        (d.TRANSITION_DURATION = 350),
        (d.DEFAULTS = { toggle: !0 }),
        (d.prototype.dimension = function () {
          var a = this.$element.hasClass('width');
          return a ? 'width' : 'height';
        }),
        (d.prototype.show = function () {
          if (!this.transitioning && !this.$element.hasClass('in')) {
            var b,
              e = this.$parent && this.$parent.children('.panel').children('.in, .collapsing');
            if (!(e && e.length && ((b = e.data('bs.collapse')), b && b.transitioning))) {
              var f = a.Event('show.bs.collapse');
              if ((this.$element.trigger(f), !f.isDefaultPrevented())) {
                e && e.length && (c.call(e, 'hide'), b || e.data('bs.collapse', null));
                var g = this.dimension();
                this.$element.removeClass('collapse').addClass('collapsing')[g](0).attr('aria-expanded', !0),
                  this.$trigger.removeClass('collapsed').attr('aria-expanded', !0),
                  (this.transitioning = 1);
                var h = function () {
                  this.$element.removeClass('collapsing').addClass('collapse in')[g](''),
                    (this.transitioning = 0),
                    this.$element.trigger('shown.bs.collapse');
                };
                if (!a.support.transition) return h.call(this);
                var i = a.camelCase(['scroll', g].join('-'));
                this.$element.one('bsTransitionEnd', a.proxy(h, this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i]);
              }
            }
          }
        }),
        (d.prototype.hide = function () {
          if (!this.transitioning && this.$element.hasClass('in')) {
            var b = a.Event('hide.bs.collapse');
            if ((this.$element.trigger(b), !b.isDefaultPrevented())) {
              var c = this.dimension();
              this.$element[c](this.$element[c]())[0].offsetHeight,
                this.$element.addClass('collapsing').removeClass('collapse in').attr('aria-expanded', !1),
                this.$trigger.addClass('collapsed').attr('aria-expanded', !1),
                (this.transitioning = 1);
              var e = function () {
                (this.transitioning = 0), this.$element.removeClass('collapsing').addClass('collapse').trigger('hidden.bs.collapse');
              };
              return a.support.transition
                ? void this.$element[c](0).one('bsTransitionEnd', a.proxy(e, this)).emulateTransitionEnd(d.TRANSITION_DURATION)
                : e.call(this);
            }
          }
        }),
        (d.prototype.toggle = function () {
          this[this.$element.hasClass('in') ? 'hide' : 'show']();
        }),
        (d.prototype.getParent = function () {
          return a(this.options.parent)
            .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
            .each(
              a.proxy(function (c, d) {
                var e = a(d);
                this.addAriaAndCollapsedClass(b(e), e);
              }, this)
            )
            .end();
        }),
        (d.prototype.addAriaAndCollapsedClass = function (a, b) {
          var c = a.hasClass('in');
          a.attr('aria-expanded', c), b.toggleClass('collapsed', !c).attr('aria-expanded', c);
        });
      var e = a.fn.collapse;
      (a.fn.collapse = c),
        (a.fn.collapse.Constructor = d),
        (a.fn.collapse.noConflict = function () {
          return (a.fn.collapse = e), this;
        }),
        a(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (d) {
          var e = a(this);
          e.attr('data-target') || d.preventDefault();
          var f = b(e),
            g = f.data('bs.collapse'),
            h = g ? 'toggle' : e.data();
          c.call(f, h);
        });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        var c = b.attr('data-target');
        c || ((c = b.attr('href')), (c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, '')));
        var d = c && a(c);
        return d && d.length ? d : b.parent();
      }
      function c(c) {
        (c && 3 === c.which) ||
          (a(e).remove(),
          a(f).each(function () {
            var d = a(this),
              e = b(d),
              f = { relatedTarget: this };
            e.hasClass('open') &&
              ((c && 'click' == c.type && /input|textarea/i.test(c.target.tagName) && a.contains(e[0], c.target)) ||
                (e.trigger((c = a.Event('hide.bs.dropdown', f))),
                c.isDefaultPrevented() ||
                  (d.attr('aria-expanded', 'false'), e.removeClass('open').trigger(a.Event('hidden.bs.dropdown', f)))));
          }));
      }
      function d(b) {
        return this.each(function () {
          var c = a(this),
            d = c.data('bs.dropdown');
          d || c.data('bs.dropdown', (d = new g(this))), 'string' == typeof b && d[b].call(c);
        });
      }
      var e = '.dropdown-backdrop',
        f = '[data-toggle="dropdown"]',
        g = function (b) {
          a(b).on('click.bs.dropdown', this.toggle);
        };
      (g.VERSION = '3.3.7'),
        (g.prototype.toggle = function (d) {
          var e = a(this);
          if (!e.is('.disabled, :disabled')) {
            var f = b(e),
              g = f.hasClass('open');
            if ((c(), !g)) {
              'ontouchstart' in document.documentElement &&
                !f.closest('.navbar-nav').length &&
                a(document.createElement('div')).addClass('dropdown-backdrop').insertAfter(a(this)).on('click', c);
              var h = { relatedTarget: this };
              if ((f.trigger((d = a.Event('show.bs.dropdown', h))), d.isDefaultPrevented())) return;
              e.trigger('focus').attr('aria-expanded', 'true'), f.toggleClass('open').trigger(a.Event('shown.bs.dropdown', h));
            }
            return !1;
          }
        }),
        (g.prototype.keydown = function (c) {
          if (/(38|40|27|32)/.test(c.which) && !/input|textarea/i.test(c.target.tagName)) {
            var d = a(this);
            if ((c.preventDefault(), c.stopPropagation(), !d.is('.disabled, :disabled'))) {
              var e = b(d),
                g = e.hasClass('open');
              if ((!g && 27 != c.which) || (g && 27 == c.which)) return 27 == c.which && e.find(f).trigger('focus'), d.trigger('click');
              var h = ' li:not(.disabled):visible a',
                i = e.find('.dropdown-menu' + h);
              if (i.length) {
                var j = i.index(c.target);
                38 == c.which && j > 0 && j--, 40 == c.which && j < i.length - 1 && j++, ~j || (j = 0), i.eq(j).trigger('focus');
              }
            }
          }
        });
      var h = a.fn.dropdown;
      (a.fn.dropdown = d),
        (a.fn.dropdown.Constructor = g),
        (a.fn.dropdown.noConflict = function () {
          return (a.fn.dropdown = h), this;
        }),
        a(document)
          .on('click.bs.dropdown.data-api', c)
          .on('click.bs.dropdown.data-api', '.dropdown form', function (a) {
            a.stopPropagation();
          })
          .on('click.bs.dropdown.data-api', f, g.prototype.toggle)
          .on('keydown.bs.dropdown.data-api', f, g.prototype.keydown)
          .on('keydown.bs.dropdown.data-api', '.dropdown-menu', g.prototype.keydown);
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b, d) {
        return this.each(function () {
          var e = a(this),
            f = e.data('bs.modal'),
            g = a.extend({}, c.DEFAULTS, e.data(), 'object' == typeof b && b);
          f || e.data('bs.modal', (f = new c(this, g))), 'string' == typeof b ? f[b](d) : g.show && f.show(d);
        });
      }
      var c = function (b, c) {
        (this.options = c),
          (this.$body = a(document.body)),
          (this.$element = a(b)),
          (this.$dialog = this.$element.find('.modal-dialog')),
          (this.$backdrop = null),
          (this.isShown = null),
          (this.originalBodyPad = null),
          (this.scrollbarWidth = 0),
          (this.ignoreBackdropClick = !1),
          this.options.remote &&
            this.$element.find('.modal-content').load(
              this.options.remote,
              a.proxy(function () {
                this.$element.trigger('loaded.bs.modal');
              }, this)
            );
      };
      (c.VERSION = '3.3.7'),
        (c.TRANSITION_DURATION = 300),
        (c.BACKDROP_TRANSITION_DURATION = 150),
        (c.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }),
        (c.prototype.toggle = function (a) {
          return this.isShown ? this.hide() : this.show(a);
        }),
        (c.prototype.show = function (b) {
          var d = this,
            e = a.Event('show.bs.modal', { relatedTarget: b });
          this.$element.trigger(e),
            this.isShown ||
              e.isDefaultPrevented() ||
              ((this.isShown = !0),
              this.checkScrollbar(),
              this.setScrollbar(),
              this.$body.addClass('modal-open'),
              this.escape(),
              this.resize(),
              this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', a.proxy(this.hide, this)),
              this.$dialog.on('mousedown.dismiss.bs.modal', function () {
                d.$element.one('mouseup.dismiss.bs.modal', function (b) {
                  a(b.target).is(d.$element) && (d.ignoreBackdropClick = !0);
                });
              }),
              this.backdrop(function () {
                var e = a.support.transition && d.$element.hasClass('fade');
                d.$element.parent().length || d.$element.appendTo(d.$body),
                  d.$element.show().scrollTop(0),
                  d.adjustDialog(),
                  e && d.$element[0].offsetWidth,
                  d.$element.addClass('in'),
                  d.enforceFocus();
                var f = a.Event('shown.bs.modal', { relatedTarget: b });
                e
                  ? d.$dialog
                      .one('bsTransitionEnd', function () {
                        d.$element.trigger('focus').trigger(f);
                      })
                      .emulateTransitionEnd(c.TRANSITION_DURATION)
                  : d.$element.trigger('focus').trigger(f);
              }));
        }),
        (c.prototype.hide = function (b) {
          b && b.preventDefault(),
            (b = a.Event('hide.bs.modal')),
            this.$element.trigger(b),
            this.isShown &&
              !b.isDefaultPrevented() &&
              ((this.isShown = !1),
              this.escape(),
              this.resize(),
              a(document).off('focusin.bs.modal'),
              this.$element.removeClass('in').off('click.dismiss.bs.modal').off('mouseup.dismiss.bs.modal'),
              this.$dialog.off('mousedown.dismiss.bs.modal'),
              a.support.transition && this.$element.hasClass('fade')
                ? this.$element.one('bsTransitionEnd', a.proxy(this.hideModal, this)).emulateTransitionEnd(c.TRANSITION_DURATION)
                : this.hideModal());
        }),
        (c.prototype.enforceFocus = function () {
          a(document)
            .off('focusin.bs.modal')
            .on(
              'focusin.bs.modal',
              a.proxy(function (a) {
                document === a.target ||
                  this.$element[0] === a.target ||
                  this.$element.has(a.target).length ||
                  this.$element.trigger('focus');
              }, this)
            );
        }),
        (c.prototype.escape = function () {
          this.isShown && this.options.keyboard
            ? this.$element.on(
                'keydown.dismiss.bs.modal',
                a.proxy(function (a) {
                  27 == a.which && this.hide();
                }, this)
              )
            : this.isShown || this.$element.off('keydown.dismiss.bs.modal');
        }),
        (c.prototype.resize = function () {
          this.isShown ? a(window).on('resize.bs.modal', a.proxy(this.handleUpdate, this)) : a(window).off('resize.bs.modal');
        }),
        (c.prototype.hideModal = function () {
          var a = this;
          this.$element.hide(),
            this.backdrop(function () {
              a.$body.removeClass('modal-open'), a.resetAdjustments(), a.resetScrollbar(), a.$element.trigger('hidden.bs.modal');
            });
        }),
        (c.prototype.removeBackdrop = function () {
          this.$backdrop && this.$backdrop.remove(), (this.$backdrop = null);
        }),
        (c.prototype.backdrop = function (b) {
          var d = this,
            e = this.$element.hasClass('fade') ? 'fade' : '';
          if (this.isShown && this.options.backdrop) {
            var f = a.support.transition && e;
            if (
              ((this.$backdrop = a(document.createElement('div'))
                .addClass('modal-backdrop ' + e)
                .appendTo(this.$body)),
              this.$element.on(
                'click.dismiss.bs.modal',
                a.proxy(function (a) {
                  return this.ignoreBackdropClick
                    ? void (this.ignoreBackdropClick = !1)
                    : void (a.target === a.currentTarget && ('static' == this.options.backdrop ? this.$element[0].focus() : this.hide()));
                }, this)
              ),
              f && this.$backdrop[0].offsetWidth,
              this.$backdrop.addClass('in'),
              !b)
            )
              return;
            f ? this.$backdrop.one('bsTransitionEnd', b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : b();
          } else if (!this.isShown && this.$backdrop) {
            this.$backdrop.removeClass('in');
            var g = function () {
              d.removeBackdrop(), b && b();
            };
            a.support.transition && this.$element.hasClass('fade')
              ? this.$backdrop.one('bsTransitionEnd', g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION)
              : g();
          } else b && b();
        }),
        (c.prototype.handleUpdate = function () {
          this.adjustDialog();
        }),
        (c.prototype.adjustDialog = function () {
          var a = this.$element[0].scrollHeight > document.documentElement.clientHeight;
          this.$element.css({
            paddingLeft: !this.bodyIsOverflowing && a ? this.scrollbarWidth : '',
            paddingRight: this.bodyIsOverflowing && !a ? this.scrollbarWidth : '',
          });
        }),
        (c.prototype.resetAdjustments = function () {
          this.$element.css({ paddingLeft: '', paddingRight: '' });
        }),
        (c.prototype.checkScrollbar = function () {
          var a = window.innerWidth;
          if (!a) {
            var b = document.documentElement.getBoundingClientRect();
            a = b.right - Math.abs(b.left);
          }
          (this.bodyIsOverflowing = document.body.clientWidth < a), (this.scrollbarWidth = this.measureScrollbar());
        }),
        (c.prototype.setScrollbar = function () {
          var a = parseInt(this.$body.css('padding-right') || 0, 10);
          (this.originalBodyPad = document.body.style.paddingRight || ''),
            this.bodyIsOverflowing && this.$body.css('padding-right', a + this.scrollbarWidth);
        }),
        (c.prototype.resetScrollbar = function () {
          this.$body.css('padding-right', this.originalBodyPad);
        }),
        (c.prototype.measureScrollbar = function () {
          var a = document.createElement('div');
          (a.className = 'modal-scrollbar-measure'), this.$body.append(a);
          var b = a.offsetWidth - a.clientWidth;
          return this.$body[0].removeChild(a), b;
        });
      var d = a.fn.modal;
      (a.fn.modal = b),
        (a.fn.modal.Constructor = c),
        (a.fn.modal.noConflict = function () {
          return (a.fn.modal = d), this;
        }),
        a(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (c) {
          var d = a(this),
            e = d.attr('href'),
            f = a(d.attr('data-target') || (e && e.replace(/.*(?=#[^\s]+$)/, ''))),
            g = f.data('bs.modal') ? 'toggle' : a.extend({ remote: !/#/.test(e) && e }, f.data(), d.data());
          d.is('a') && c.preventDefault(),
            f.one('show.bs.modal', function (a) {
              a.isDefaultPrevented() ||
                f.one('hidden.bs.modal', function () {
                  d.is(':visible') && d.trigger('focus');
                });
            }),
            b.call(f, g, this);
        });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        return this.each(function () {
          var d = a(this),
            e = d.data('bs.tooltip'),
            f = 'object' == typeof b && b;
          (!e && /destroy|hide/.test(b)) || (e || d.data('bs.tooltip', (e = new c(this, f))), 'string' == typeof b && e[b]());
        });
      }
      var c = function (a, b) {
        (this.type = null),
          (this.options = null),
          (this.enabled = null),
          (this.timeout = null),
          (this.hoverState = null),
          (this.$element = null),
          (this.inState = null),
          this.init('tooltip', a, b);
      };
      (c.VERSION = '3.3.7'),
        (c.TRANSITION_DURATION = 150),
        (c.DEFAULTS = {
          animation: !0,
          placement: 'top',
          selector: !1,
          template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
          trigger: 'hover focus',
          title: '',
          delay: 0,
          html: !1,
          container: !1,
          viewport: { selector: 'body', padding: 0 },
        }),
        (c.prototype.init = function (b, c, d) {
          if (
            ((this.enabled = !0),
            (this.type = b),
            (this.$element = a(c)),
            (this.options = this.getOptions(d)),
            (this.$viewport =
              this.options.viewport &&
              a(
                a.isFunction(this.options.viewport)
                  ? this.options.viewport.call(this, this.$element)
                  : this.options.viewport.selector || this.options.viewport
              )),
            (this.inState = { click: !1, hover: !1, focus: !1 }),
            this.$element[0] instanceof document.constructor && !this.options.selector)
          )
            throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!');
          for (var e = this.options.trigger.split(' '), f = e.length; f--; ) {
            var g = e[f];
            if ('click' == g) this.$element.on('click.' + this.type, this.options.selector, a.proxy(this.toggle, this));
            else if ('manual' != g) {
              var h = 'hover' == g ? 'mouseenter' : 'focusin',
                i = 'hover' == g ? 'mouseleave' : 'focusout';
              this.$element.on(h + '.' + this.type, this.options.selector, a.proxy(this.enter, this)),
                this.$element.on(i + '.' + this.type, this.options.selector, a.proxy(this.leave, this));
            }
          }
          this.options.selector ? (this._options = a.extend({}, this.options, { trigger: 'manual', selector: '' })) : this.fixTitle();
        }),
        (c.prototype.getDefaults = function () {
          return c.DEFAULTS;
        }),
        (c.prototype.getOptions = function (b) {
          return (
            (b = a.extend({}, this.getDefaults(), this.$element.data(), b)),
            b.delay && 'number' == typeof b.delay && (b.delay = { show: b.delay, hide: b.delay }),
            b
          );
        }),
        (c.prototype.getDelegateOptions = function () {
          var b = {},
            c = this.getDefaults();
          return (
            this._options &&
              a.each(this._options, function (a, d) {
                c[a] != d && (b[a] = d);
              }),
            b
          );
        }),
        (c.prototype.enter = function (b) {
          var c = b instanceof this.constructor ? b : a(b.currentTarget).data('bs.' + this.type);
          return (
            c || ((c = new this.constructor(b.currentTarget, this.getDelegateOptions())), a(b.currentTarget).data('bs.' + this.type, c)),
            b instanceof a.Event && (c.inState['focusin' == b.type ? 'focus' : 'hover'] = !0),
            c.tip().hasClass('in') || 'in' == c.hoverState
              ? void (c.hoverState = 'in')
              : (clearTimeout(c.timeout),
                (c.hoverState = 'in'),
                c.options.delay && c.options.delay.show
                  ? void (c.timeout = setTimeout(function () {
                      'in' == c.hoverState && c.show();
                    }, c.options.delay.show))
                  : c.show())
          );
        }),
        (c.prototype.isInStateTrue = function () {
          for (var a in this.inState) if (this.inState[a]) return !0;
          return !1;
        }),
        (c.prototype.leave = function (b) {
          var c = b instanceof this.constructor ? b : a(b.currentTarget).data('bs.' + this.type);
          if (
            (c || ((c = new this.constructor(b.currentTarget, this.getDelegateOptions())), a(b.currentTarget).data('bs.' + this.type, c)),
            b instanceof a.Event && (c.inState['focusout' == b.type ? 'focus' : 'hover'] = !1),
            !c.isInStateTrue())
          )
            return (
              clearTimeout(c.timeout),
              (c.hoverState = 'out'),
              c.options.delay && c.options.delay.hide
                ? void (c.timeout = setTimeout(function () {
                    'out' == c.hoverState && c.hide();
                  }, c.options.delay.hide))
                : c.hide()
            );
        }),
        (c.prototype.show = function () {
          var b = a.Event('show.bs.' + this.type);
          if (this.hasContent() && this.enabled) {
            this.$element.trigger(b);
            var d = a.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]);
            if (b.isDefaultPrevented() || !d) return;
            var e = this,
              f = this.tip(),
              g = this.getUID(this.type);
            this.setContent(), f.attr('id', g), this.$element.attr('aria-describedby', g), this.options.animation && f.addClass('fade');
            var h =
                'function' == typeof this.options.placement
                  ? this.options.placement.call(this, f[0], this.$element[0])
                  : this.options.placement,
              i = /\s?auto?\s?/i,
              j = i.test(h);
            j && (h = h.replace(i, '') || 'top'),
              f
                .detach()
                .css({ top: 0, left: 0, display: 'block' })
                .addClass(h)
                .data('bs.' + this.type, this),
              this.options.container ? f.appendTo(this.options.container) : f.insertAfter(this.$element),
              this.$element.trigger('inserted.bs.' + this.type);
            var k = this.getPosition(),
              l = f[0].offsetWidth,
              m = f[0].offsetHeight;
            if (j) {
              var n = h,
                o = this.getPosition(this.$viewport);
              (h =
                'bottom' == h && k.bottom + m > o.bottom
                  ? 'top'
                  : 'top' == h && k.top - m < o.top
                  ? 'bottom'
                  : 'right' == h && k.right + l > o.width
                  ? 'left'
                  : 'left' == h && k.left - l < o.left
                  ? 'right'
                  : h),
                f.removeClass(n).addClass(h);
            }
            var p = this.getCalculatedOffset(h, k, l, m);
            this.applyPlacement(p, h);
            var q = function () {
              var a = e.hoverState;
              e.$element.trigger('shown.bs.' + e.type), (e.hoverState = null), 'out' == a && e.leave(e);
            };
            a.support.transition && this.$tip.hasClass('fade')
              ? f.one('bsTransitionEnd', q).emulateTransitionEnd(c.TRANSITION_DURATION)
              : q();
          }
        }),
        (c.prototype.applyPlacement = function (b, c) {
          var d = this.tip(),
            e = d[0].offsetWidth,
            f = d[0].offsetHeight,
            g = parseInt(d.css('margin-top'), 10),
            h = parseInt(d.css('margin-left'), 10);
          isNaN(g) && (g = 0),
            isNaN(h) && (h = 0),
            (b.top += g),
            (b.left += h),
            a.offset.setOffset(
              d[0],
              a.extend(
                {
                  using: function (a) {
                    d.css({ top: Math.round(a.top), left: Math.round(a.left) });
                  },
                },
                b
              ),
              0
            ),
            d.addClass('in');
          var i = d[0].offsetWidth,
            j = d[0].offsetHeight;
          'top' == c && j != f && (b.top = b.top + f - j);
          var k = this.getViewportAdjustedDelta(c, b, i, j);
          k.left ? (b.left += k.left) : (b.top += k.top);
          var l = /top|bottom/.test(c),
            m = l ? 2 * k.left - e + i : 2 * k.top - f + j,
            n = l ? 'offsetWidth' : 'offsetHeight';
          d.offset(b), this.replaceArrow(m, d[0][n], l);
        }),
        (c.prototype.replaceArrow = function (a, b, c) {
          this.arrow()
            .css(c ? 'left' : 'top', 50 * (1 - a / b) + '%')
            .css(c ? 'top' : 'left', '');
        }),
        (c.prototype.setContent = function () {
          var a = this.tip(),
            b = this.getTitle();
          a.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](b), a.removeClass('fade in top bottom left right');
        }),
        (c.prototype.hide = function (b) {
          function d() {
            'in' != e.hoverState && f.detach(),
              e.$element && e.$element.removeAttr('aria-describedby').trigger('hidden.bs.' + e.type),
              b && b();
          }
          var e = this,
            f = a(this.$tip),
            g = a.Event('hide.bs.' + this.type);
          if ((this.$element.trigger(g), !g.isDefaultPrevented()))
            return (
              f.removeClass('in'),
              a.support.transition && f.hasClass('fade') ? f.one('bsTransitionEnd', d).emulateTransitionEnd(c.TRANSITION_DURATION) : d(),
              (this.hoverState = null),
              this
            );
        }),
        (c.prototype.fixTitle = function () {
          var a = this.$element;
          (a.attr('title') || 'string' != typeof a.attr('data-original-title')) &&
            a.attr('data-original-title', a.attr('title') || '').attr('title', '');
        }),
        (c.prototype.hasContent = function () {
          return this.getTitle();
        }),
        (c.prototype.getPosition = function (b) {
          b = b || this.$element;
          var c = b[0],
            d = 'BODY' == c.tagName,
            e = c.getBoundingClientRect();
          null == e.width && (e = a.extend({}, e, { width: e.right - e.left, height: e.bottom - e.top }));
          var f = window.SVGElement && c instanceof window.SVGElement,
            g = d ? { top: 0, left: 0 } : f ? null : b.offset(),
            h = { scroll: d ? document.documentElement.scrollTop || document.body.scrollTop : b.scrollTop() },
            i = d ? { width: a(window).width(), height: a(window).height() } : null;
          return a.extend({}, e, h, i, g);
        }),
        (c.prototype.getCalculatedOffset = function (a, b, c, d) {
          return 'bottom' == a
            ? { top: b.top + b.height, left: b.left + b.width / 2 - c / 2 }
            : 'top' == a
            ? { top: b.top - d, left: b.left + b.width / 2 - c / 2 }
            : 'left' == a
            ? { top: b.top + b.height / 2 - d / 2, left: b.left - c }
            : { top: b.top + b.height / 2 - d / 2, left: b.left + b.width };
        }),
        (c.prototype.getViewportAdjustedDelta = function (a, b, c, d) {
          var e = { top: 0, left: 0 };
          if (!this.$viewport) return e;
          var f = (this.options.viewport && this.options.viewport.padding) || 0,
            g = this.getPosition(this.$viewport);
          if (/right|left/.test(a)) {
            var h = b.top - f - g.scroll,
              i = b.top + f - g.scroll + d;
            h < g.top ? (e.top = g.top - h) : i > g.top + g.height && (e.top = g.top + g.height - i);
          } else {
            var j = b.left - f,
              k = b.left + f + c;
            j < g.left ? (e.left = g.left - j) : k > g.right && (e.left = g.left + g.width - k);
          }
          return e;
        }),
        (c.prototype.getTitle = function () {
          var a,
            b = this.$element,
            c = this.options;
          return (a = b.attr('data-original-title') || ('function' == typeof c.title ? c.title.call(b[0]) : c.title));
        }),
        (c.prototype.getUID = function (a) {
          do a += ~~(1e6 * Math.random());
          while (document.getElementById(a));
          return a;
        }),
        (c.prototype.tip = function () {
          if (!this.$tip && ((this.$tip = a(this.options.template)), 1 != this.$tip.length))
            throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!');
          return this.$tip;
        }),
        (c.prototype.arrow = function () {
          return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'));
        }),
        (c.prototype.enable = function () {
          this.enabled = !0;
        }),
        (c.prototype.disable = function () {
          this.enabled = !1;
        }),
        (c.prototype.toggleEnabled = function () {
          this.enabled = !this.enabled;
        }),
        (c.prototype.toggle = function (b) {
          var c = this;
          b &&
            ((c = a(b.currentTarget).data('bs.' + this.type)),
            c || ((c = new this.constructor(b.currentTarget, this.getDelegateOptions())), a(b.currentTarget).data('bs.' + this.type, c))),
            b
              ? ((c.inState.click = !c.inState.click), c.isInStateTrue() ? c.enter(c) : c.leave(c))
              : c.tip().hasClass('in')
              ? c.leave(c)
              : c.enter(c);
        }),
        (c.prototype.destroy = function () {
          var a = this;
          clearTimeout(this.timeout),
            this.hide(function () {
              a.$element.off('.' + a.type).removeData('bs.' + a.type),
                a.$tip && a.$tip.detach(),
                (a.$tip = null),
                (a.$arrow = null),
                (a.$viewport = null),
                (a.$element = null);
            });
        });
      var d = a.fn.tooltip;
      (a.fn.tooltip = b),
        (a.fn.tooltip.Constructor = c),
        (a.fn.tooltip.noConflict = function () {
          return (a.fn.tooltip = d), this;
        });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        return this.each(function () {
          var d = a(this),
            e = d.data('bs.popover'),
            f = 'object' == typeof b && b;
          (!e && /destroy|hide/.test(b)) || (e || d.data('bs.popover', (e = new c(this, f))), 'string' == typeof b && e[b]());
        });
      }
      var c = function (a, b) {
        this.init('popover', a, b);
      };
      if (!a.fn.tooltip) throw new Error('Popover requires tooltip.js');
      (c.VERSION = '3.3.7'),
        (c.DEFAULTS = a.extend({}, a.fn.tooltip.Constructor.DEFAULTS, {
          placement: 'right',
          trigger: 'click',
          content: '',
          template:
            '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>',
        })),
        (c.prototype = a.extend({}, a.fn.tooltip.Constructor.prototype)),
        (c.prototype.constructor = c),
        (c.prototype.getDefaults = function () {
          return c.DEFAULTS;
        }),
        (c.prototype.setContent = function () {
          var a = this.tip(),
            b = this.getTitle(),
            c = this.getContent();
          a.find('.popover-title')[this.options.html ? 'html' : 'text'](b),
            a.find('.popover-content').children().detach().end()[this.options.html ? ('string' == typeof c ? 'html' : 'append') : 'text'](c),
            a.removeClass('fade top bottom left right in'),
            a.find('.popover-title').html() || a.find('.popover-title').hide();
        }),
        (c.prototype.hasContent = function () {
          return this.getTitle() || this.getContent();
        }),
        (c.prototype.getContent = function () {
          var a = this.$element,
            b = this.options;
          return a.attr('data-content') || ('function' == typeof b.content ? b.content.call(a[0]) : b.content);
        }),
        (c.prototype.arrow = function () {
          return (this.$arrow = this.$arrow || this.tip().find('.arrow'));
        });
      var d = a.fn.popover;
      (a.fn.popover = b),
        (a.fn.popover.Constructor = c),
        (a.fn.popover.noConflict = function () {
          return (a.fn.popover = d), this;
        });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(c, d) {
        (this.$body = a(document.body)),
          (this.$scrollElement = a(a(c).is(document.body) ? window : c)),
          (this.options = a.extend({}, b.DEFAULTS, d)),
          (this.selector = (this.options.target || '') + ' .nav li > a'),
          (this.offsets = []),
          (this.targets = []),
          (this.activeTarget = null),
          (this.scrollHeight = 0),
          this.$scrollElement.on('scroll.bs.scrollspy', a.proxy(this.process, this)),
          this.refresh(),
          this.process();
      }
      function c(c) {
        return this.each(function () {
          var d = a(this),
            e = d.data('bs.scrollspy'),
            f = 'object' == typeof c && c;
          e || d.data('bs.scrollspy', (e = new b(this, f))), 'string' == typeof c && e[c]();
        });
      }
      (b.VERSION = '3.3.7'),
        (b.DEFAULTS = { offset: 10 }),
        (b.prototype.getScrollHeight = function () {
          return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight);
        }),
        (b.prototype.refresh = function () {
          var b = this,
            c = 'offset',
            d = 0;
          (this.offsets = []),
            (this.targets = []),
            (this.scrollHeight = this.getScrollHeight()),
            a.isWindow(this.$scrollElement[0]) || ((c = 'position'), (d = this.$scrollElement.scrollTop())),
            this.$body
              .find(this.selector)
              .map(function () {
                var b = a(this),
                  e = b.data('target') || b.attr('href'),
                  f = /^#./.test(e) && a(e);
                return (f && f.length && f.is(':visible') && [[f[c]().top + d, e]]) || null;
              })
              .sort(function (a, b) {
                return a[0] - b[0];
              })
              .each(function () {
                b.offsets.push(this[0]), b.targets.push(this[1]);
              });
        }),
        (b.prototype.process = function () {
          var a,
            b = this.$scrollElement.scrollTop() + this.options.offset,
            c = this.getScrollHeight(),
            d = this.options.offset + c - this.$scrollElement.height(),
            e = this.offsets,
            f = this.targets,
            g = this.activeTarget;
          if ((this.scrollHeight != c && this.refresh(), b >= d)) return g != (a = f[f.length - 1]) && this.activate(a);
          if (g && b < e[0]) return (this.activeTarget = null), this.clear();
          for (a = e.length; a--; ) g != f[a] && b >= e[a] && (void 0 === e[a + 1] || b < e[a + 1]) && this.activate(f[a]);
        }),
        (b.prototype.activate = function (b) {
          (this.activeTarget = b), this.clear();
          var c = this.selector + '[data-target="' + b + '"],' + this.selector + '[href="' + b + '"]',
            d = a(c).parents('li').addClass('active');
          d.parent('.dropdown-menu').length && (d = d.closest('li.dropdown').addClass('active')), d.trigger('activate.bs.scrollspy');
        }),
        (b.prototype.clear = function () {
          a(this.selector).parentsUntil(this.options.target, '.active').removeClass('active');
        });
      var d = a.fn.scrollspy;
      (a.fn.scrollspy = c),
        (a.fn.scrollspy.Constructor = b),
        (a.fn.scrollspy.noConflict = function () {
          return (a.fn.scrollspy = d), this;
        }),
        a(window).on('load.bs.scrollspy.data-api', function () {
          a('[data-spy="scroll"]').each(function () {
            var b = a(this);
            c.call(b, b.data());
          });
        });
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        return this.each(function () {
          var d = a(this),
            e = d.data('bs.tab');
          e || d.data('bs.tab', (e = new c(this))), 'string' == typeof b && e[b]();
        });
      }
      var c = function (b) {
        this.element = a(b);
      };
      (c.VERSION = '3.3.7'),
        (c.TRANSITION_DURATION = 150),
        (c.prototype.show = function () {
          var b = this.element,
            c = b.closest('ul:not(.dropdown-menu)'),
            d = b.data('target');
          if ((d || ((d = b.attr('href')), (d = d && d.replace(/.*(?=#[^\s]*$)/, ''))), !b.parent('li').hasClass('active'))) {
            var e = c.find('.active:last a'),
              f = a.Event('hide.bs.tab', { relatedTarget: b[0] }),
              g = a.Event('show.bs.tab', { relatedTarget: e[0] });
            if ((e.trigger(f), b.trigger(g), !g.isDefaultPrevented() && !f.isDefaultPrevented())) {
              var h = a(d);
              this.activate(b.closest('li'), c),
                this.activate(h, h.parent(), function () {
                  e.trigger({ type: 'hidden.bs.tab', relatedTarget: b[0] }), b.trigger({ type: 'shown.bs.tab', relatedTarget: e[0] });
                });
            }
          }
        }),
        (c.prototype.activate = function (b, d, e) {
          function f() {
            g
              .removeClass('active')
              .find('> .dropdown-menu > .active')
              .removeClass('active')
              .end()
              .find('[data-toggle="tab"]')
              .attr('aria-expanded', !1),
              b.addClass('active').find('[data-toggle="tab"]').attr('aria-expanded', !0),
              h ? (b[0].offsetWidth, b.addClass('in')) : b.removeClass('fade'),
              b.parent('.dropdown-menu').length &&
                b.closest('li.dropdown').addClass('active').end().find('[data-toggle="tab"]').attr('aria-expanded', !0),
              e && e();
          }
          var g = d.find('> .active'),
            h = e && a.support.transition && ((g.length && g.hasClass('fade')) || !!d.find('> .fade').length);
          g.length && h ? g.one('bsTransitionEnd', f).emulateTransitionEnd(c.TRANSITION_DURATION) : f(), g.removeClass('in');
        });
      var d = a.fn.tab;
      (a.fn.tab = b),
        (a.fn.tab.Constructor = c),
        (a.fn.tab.noConflict = function () {
          return (a.fn.tab = d), this;
        });
      var e = function (c) {
        c.preventDefault(), b.call(a(this), 'show');
      };
      a(document).on('click.bs.tab.data-api', '[data-toggle="tab"]', e).on('click.bs.tab.data-api', '[data-toggle="pill"]', e);
    })(jQuery),
    +(function (a) {
      'use strict';
      function b(b) {
        return this.each(function () {
          var d = a(this),
            e = d.data('bs.affix'),
            f = 'object' == typeof b && b;
          e || d.data('bs.affix', (e = new c(this, f))), 'string' == typeof b && e[b]();
        });
      }
      var c = function (b, d) {
        (this.options = a.extend({}, c.DEFAULTS, d)),
          (this.$target = a(this.options.target)
            .on('scroll.bs.affix.data-api', a.proxy(this.checkPosition, this))
            .on('click.bs.affix.data-api', a.proxy(this.checkPositionWithEventLoop, this))),
          (this.$element = a(b)),
          (this.affixed = null),
          (this.unpin = null),
          (this.pinnedOffset = null),
          this.checkPosition();
      };
      (c.VERSION = '3.3.7'),
        (c.RESET = 'affix affix-top affix-bottom'),
        (c.DEFAULTS = { offset: 0, target: window }),
        (c.prototype.getState = function (a, b, c, d) {
          var e = this.$target.scrollTop(),
            f = this.$element.offset(),
            g = this.$target.height();
          if (null != c && 'top' == this.affixed) return e < c && 'top';
          if ('bottom' == this.affixed) return null != c ? !(e + this.unpin <= f.top) && 'bottom' : !(e + g <= a - d) && 'bottom';
          var h = null == this.affixed,
            i = h ? e : f.top,
            j = h ? g : b;
          return null != c && e <= c ? 'top' : null != d && i + j >= a - d && 'bottom';
        }),
        (c.prototype.getPinnedOffset = function () {
          if (this.pinnedOffset) return this.pinnedOffset;
          this.$element.removeClass(c.RESET).addClass('affix');
          var a = this.$target.scrollTop(),
            b = this.$element.offset();
          return (this.pinnedOffset = b.top - a);
        }),
        (c.prototype.checkPositionWithEventLoop = function () {
          setTimeout(a.proxy(this.checkPosition, this), 1);
        }),
        (c.prototype.checkPosition = function () {
          if (this.$element.is(':visible')) {
            var b = this.$element.height(),
              d = this.options.offset,
              e = d.top,
              f = d.bottom,
              g = Math.max(a(document).height(), a(document.body).height());
            'object' != typeof d && (f = e = d),
              'function' == typeof e && (e = d.top(this.$element)),
              'function' == typeof f && (f = d.bottom(this.$element));
            var h = this.getState(g, b, e, f);
            if (this.affixed != h) {
              null != this.unpin && this.$element.css('top', '');
              var i = 'affix' + (h ? '-' + h : ''),
                j = a.Event(i + '.bs.affix');
              if ((this.$element.trigger(j), j.isDefaultPrevented())) return;
              (this.affixed = h),
                (this.unpin = 'bottom' == h ? this.getPinnedOffset() : null),
                this.$element
                  .removeClass(c.RESET)
                  .addClass(i)
                  .trigger(i.replace('affix', 'affixed') + '.bs.affix');
            }
            'bottom' == h && this.$element.offset({ top: g - b - f });
          }
        });
      var d = a.fn.affix;
      (a.fn.affix = b),
        (a.fn.affix.Constructor = c),
        (a.fn.affix.noConflict = function () {
          return (a.fn.affix = d), this;
        }),
        a(window).on('load', function () {
          a('[data-spy="affix"]').each(function () {
            var c = a(this),
              d = c.data();
            (d.offset = d.offset || {}),
              null != d.offsetBottom && (d.offset.bottom = d.offsetBottom),
              null != d.offsetTop && (d.offset.top = d.offsetTop),
              b.call(c, d);
          });
        });
    })(jQuery);
  