bootstrap.js 71 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837
  1. /*!
  2. * Bootstrap v4.3.1 (https://getbootstrap.com/)
  3. * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  4. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  5. */
  6. ! function(t, e) {
  7. "object" == typeof exports && "undefined" != typeof module ? e(exports, require("jquery"), require("popper.js")) : "function" == typeof define && define.amd ? define(["exports", "jquery", "popper.js"], e) : e((t = t || self).bootstrap = {}, t.jQuery, t.Popper)
  8. }(this, function(t, g, u) {
  9. "use strict";
  10. function i(t, e) {
  11. for(var n = 0; n < e.length; n++) {
  12. var i = e[n];
  13. i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
  14. }
  15. }
  16. function s(t, e, n) {
  17. return e && i(t.prototype, e), n && i(t, n), t
  18. }
  19. function l(o) {
  20. for(var t = 1; t < arguments.length; t++) {
  21. var r = null != arguments[t] ? arguments[t] : {},
  22. e = Object.keys(r);
  23. "function" == typeof Object.getOwnPropertySymbols && (e = e.concat(Object.getOwnPropertySymbols(r).filter(function(t) {
  24. return Object.getOwnPropertyDescriptor(r, t).enumerable
  25. }))), e.forEach(function(t) {
  26. var e, n, i;
  27. e = o, i = r[n = t], n in e ? Object.defineProperty(e, n, {
  28. value: i,
  29. enumerable: !0,
  30. configurable: !0,
  31. writable: !0
  32. }) : e[n] = i
  33. })
  34. }
  35. return o
  36. }
  37. g = g && g.hasOwnProperty("default") ? g.default : g, u = u && u.hasOwnProperty("default") ? u.default : u;
  38. var e = "transitionend";
  39. function n(t) {
  40. var e = this,
  41. n = !1;
  42. return g(this).one(_.TRANSITION_END, function() {
  43. n = !0
  44. }), setTimeout(function() {
  45. n || _.triggerTransitionEnd(e)
  46. }, t), this
  47. }
  48. var _ = {
  49. TRANSITION_END: "bsTransitionEnd",
  50. getUID: function(t) {
  51. for(; t += ~~(1e6 * Math.random()), document.getElementById(t););
  52. return t
  53. },
  54. getSelectorFromElement: function(t) {
  55. var e = t.getAttribute("data-target");
  56. if(!e || "#" === e) {
  57. var n = t.getAttribute("href");
  58. e = n && "#" !== n ? n.trim() : ""
  59. }
  60. try {
  61. return document.querySelector(e) ? e : null
  62. } catch(t) {
  63. return null
  64. }
  65. },
  66. getTransitionDurationFromElement: function(t) {
  67. if(!t) return 0;
  68. var e = g(t).css("transition-duration"),
  69. n = g(t).css("transition-delay"),
  70. i = parseFloat(e),
  71. o = parseFloat(n);
  72. return i || o ? (e = e.split(",")[0], n = n.split(",")[0], 1e3 * (parseFloat(e) + parseFloat(n))) : 0
  73. },
  74. reflow: function(t) {
  75. return t.offsetHeight
  76. },
  77. triggerTransitionEnd: function(t) {
  78. g(t).trigger(e)
  79. },
  80. supportsTransitionEnd: function() {
  81. return Boolean(e)
  82. },
  83. isElement: function(t) {
  84. return(t[0] || t).nodeType
  85. },
  86. typeCheckConfig: function(t, e, n) {
  87. for(var i in n)
  88. if(Object.prototype.hasOwnProperty.call(n, i)) {
  89. var o = n[i],
  90. r = e[i],
  91. s = r && _.isElement(r) ? "element" : (a = r, {}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());
  92. if(!new RegExp(o).test(s)) throw new Error(t.toUpperCase() + ': Option "' + i + '" provided type "' + s + '" but expected type "' + o + '".')
  93. }
  94. var a
  95. },
  96. findShadowRoot: function(t) {
  97. if(!document.documentElement.attachShadow) return null;
  98. if("function" != typeof t.getRootNode) return t instanceof ShadowRoot ? t : t.parentNode ? _.findShadowRoot(t.parentNode) : null;
  99. var e = t.getRootNode();
  100. return e instanceof ShadowRoot ? e : null
  101. }
  102. };
  103. g.fn.emulateTransitionEnd = n, g.event.special[_.TRANSITION_END] = {
  104. bindType: e,
  105. delegateType: e,
  106. handle: function(t) {
  107. if(g(t.target).is(this)) return t.handleObj.handler.apply(this, arguments)
  108. }
  109. };
  110. var o = "alert",
  111. r = "bs.alert",
  112. a = "." + r,
  113. c = g.fn[o],
  114. h = {
  115. CLOSE: "close" + a,
  116. CLOSED: "closed" + a,
  117. CLICK_DATA_API: "click" + a + ".data-api"
  118. },
  119. f = "alert",
  120. d = "fade",
  121. m = "show",
  122. p = function() {
  123. function i(t) {
  124. this._element = t
  125. }
  126. var t = i.prototype;
  127. return t.close = function(t) {
  128. var e = this._element;
  129. t && (e = this._getRootElement(t)), this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e)
  130. }, t.dispose = function() {
  131. g.removeData(this._element, r), this._element = null
  132. }, t._getRootElement = function(t) {
  133. var e = _.getSelectorFromElement(t),
  134. n = !1;
  135. return e && (n = document.querySelector(e)), n || (n = g(t).closest("." + f)[0]), n
  136. }, t._triggerCloseEvent = function(t) {
  137. var e = g.Event(h.CLOSE);
  138. return g(t).trigger(e), e
  139. }, t._removeElement = function(e) {
  140. var n = this;
  141. if(g(e).removeClass(m), g(e).hasClass(d)) {
  142. var t = _.getTransitionDurationFromElement(e);
  143. g(e).one(_.TRANSITION_END, function(t) {
  144. return n._destroyElement(e, t)
  145. }).emulateTransitionEnd(t)
  146. } else this._destroyElement(e)
  147. }, t._destroyElement = function(t) {
  148. g(t).detach().trigger(h.CLOSED).remove()
  149. }, i._jQueryInterface = function(n) {
  150. return this.each(function() {
  151. var t = g(this),
  152. e = t.data(r);
  153. e || (e = new i(this), t.data(r, e)), "close" === n && e[n](this)
  154. })
  155. }, i._handleDismiss = function(e) {
  156. return function(t) {
  157. t && t.preventDefault(), e.close(this)
  158. }
  159. }, s(i, null, [{
  160. key: "VERSION",
  161. get: function() {
  162. return "4.3.1"
  163. }
  164. }]), i
  165. }();
  166. g(document).on(h.CLICK_DATA_API, '[data-dismiss="alert"]', p._handleDismiss(new p)), g.fn[o] = p._jQueryInterface, g.fn[o].Constructor = p, g.fn[o].noConflict = function() {
  167. return g.fn[o] = c, p._jQueryInterface
  168. };
  169. var v = "button",
  170. y = "bs.button",
  171. E = "." + y,
  172. C = ".data-api",
  173. T = g.fn[v],
  174. S = "active",
  175. b = "btn",
  176. I = "focus",
  177. D = '[data-toggle^="button"]',
  178. w = '[data-toggle="buttons"]',
  179. A = 'input:not([type="hidden"])',
  180. N = ".active",
  181. O = ".btn",
  182. k = {
  183. CLICK_DATA_API: "click" + E + C,
  184. FOCUS_BLUR_DATA_API: "focus" + E + C + " blur" + E + C
  185. },
  186. P = function() {
  187. function n(t) {
  188. this._element = t
  189. }
  190. var t = n.prototype;
  191. return t.toggle = function() {
  192. var t = !0,
  193. e = !0,
  194. n = g(this._element).closest(w)[0];
  195. if(n) {
  196. var i = this._element.querySelector(A);
  197. if(i) {
  198. if("radio" === i.type)
  199. if(i.checked && this._element.classList.contains(S)) t = !1;
  200. else {
  201. var o = n.querySelector(N);
  202. o && g(o).removeClass(S)
  203. }
  204. if(t) {
  205. if(i.hasAttribute("disabled") || n.hasAttribute("disabled") || i.classList.contains("disabled") || n.classList.contains("disabled")) return;
  206. i.checked = !this._element.classList.contains(S), g(i).trigger("change")
  207. }
  208. i.focus(), e = !1
  209. }
  210. }
  211. e && this._element.setAttribute("aria-pressed", !this._element.classList.contains(S)), t && g(this._element).toggleClass(S)
  212. }, t.dispose = function() {
  213. g.removeData(this._element, y), this._element = null
  214. }, n._jQueryInterface = function(e) {
  215. return this.each(function() {
  216. var t = g(this).data(y);
  217. t || (t = new n(this), g(this).data(y, t)), "toggle" === e && t[e]()
  218. })
  219. }, s(n, null, [{
  220. key: "VERSION",
  221. get: function() {
  222. return "4.3.1"
  223. }
  224. }]), n
  225. }();
  226. g(document).on(k.CLICK_DATA_API, D, function(t) {
  227. t.preventDefault();
  228. var e = t.target;
  229. g(e).hasClass(b) || (e = g(e).closest(O)), P._jQueryInterface.call(g(e), "toggle")
  230. }).on(k.FOCUS_BLUR_DATA_API, D, function(t) {
  231. var e = g(t.target).closest(O)[0];
  232. g(e).toggleClass(I, /^focus(in)?$/.test(t.type))
  233. }), g.fn[v] = P._jQueryInterface, g.fn[v].Constructor = P, g.fn[v].noConflict = function() {
  234. return g.fn[v] = T, P._jQueryInterface
  235. };
  236. var L = "carousel",
  237. j = "bs.carousel",
  238. H = "." + j,
  239. R = ".data-api",
  240. x = g.fn[L],
  241. F = {
  242. interval: 5e3,
  243. keyboard: !0,
  244. slide: !1,
  245. pause: "hover",
  246. wrap: !0,
  247. touch: !0
  248. },
  249. U = {
  250. interval: "(number|boolean)",
  251. keyboard: "boolean",
  252. slide: "(boolean|string)",
  253. pause: "(string|boolean)",
  254. wrap: "boolean",
  255. touch: "boolean"
  256. },
  257. W = "next",
  258. q = "prev",
  259. M = "left",
  260. K = "right",
  261. Q = {
  262. SLIDE: "slide" + H,
  263. SLID: "slid" + H,
  264. KEYDOWN: "keydown" + H,
  265. MOUSEENTER: "mouseenter" + H,
  266. MOUSELEAVE: "mouseleave" + H,
  267. TOUCHSTART: "touchstart" + H,
  268. TOUCHMOVE: "touchmove" + H,
  269. TOUCHEND: "touchend" + H,
  270. POINTERDOWN: "pointerdown" + H,
  271. POINTERUP: "pointerup" + H,
  272. DRAG_START: "dragstart" + H,
  273. LOAD_DATA_API: "load" + H + R,
  274. CLICK_DATA_API: "click" + H + R
  275. },
  276. B = "carousel",
  277. V = "active",
  278. Y = "slide",
  279. z = "carousel-item-right",
  280. X = "carousel-item-left",
  281. $ = "carousel-item-next",
  282. G = "carousel-item-prev",
  283. J = "pointer-event",
  284. Z = ".active",
  285. tt = ".active.carousel-item",
  286. et = ".carousel-item",
  287. nt = ".carousel-item img",
  288. it = ".carousel-item-next, .carousel-item-prev",
  289. ot = ".carousel-indicators",
  290. rt = "[data-slide], [data-slide-to]",
  291. st = '[data-ride="carousel"]',
  292. at = {
  293. TOUCH: "touch",
  294. PEN: "pen"
  295. },
  296. lt = function() {
  297. function r(t, e) {
  298. this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(e), this._element = t, this._indicatorsElement = this._element.querySelector(ot), this._touchSupported = "ontouchstart" in document.documentElement || 0 < navigator.maxTouchPoints, this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent), this._addEventListeners()
  299. }
  300. var t = r.prototype;
  301. return t.next = function() {
  302. this._isSliding || this._slide(W)
  303. }, t.nextWhenVisible = function() {
  304. !document.hidden && g(this._element).is(":visible") && "hidden" !== g(this._element).css("visibility") && this.next()
  305. }, t.prev = function() {
  306. this._isSliding || this._slide(q)
  307. }, t.pause = function(t) {
  308. t || (this._isPaused = !0), this._element.querySelector(it) && (_.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
  309. }, t.cycle = function(t) {
  310. t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
  311. }, t.to = function(t) {
  312. var e = this;
  313. this._activeElement = this._element.querySelector(tt);
  314. var n = this._getItemIndex(this._activeElement);
  315. if(!(t > this._items.length - 1 || t < 0))
  316. if(this._isSliding) g(this._element).one(Q.SLID, function() {
  317. return e.to(t)
  318. });
  319. else {
  320. if(n === t) return this.pause(), void this.cycle();
  321. var i = n < t ? W : q;
  322. this._slide(i, this._items[t])
  323. }
  324. }, t.dispose = function() {
  325. g(this._element).off(H), g.removeData(this._element, j), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
  326. }, t._getConfig = function(t) {
  327. return t = l({}, F, t), _.typeCheckConfig(L, t, U), t
  328. }, t._handleSwipe = function() {
  329. var t = Math.abs(this.touchDeltaX);
  330. if(!(t <= 40)) {
  331. var e = t / this.touchDeltaX;
  332. 0 < e && this.prev(), e < 0 && this.next()
  333. }
  334. }, t._addEventListeners = function() {
  335. var e = this;
  336. this._config.keyboard && g(this._element).on(Q.KEYDOWN, function(t) {
  337. return e._keydown(t)
  338. }), "hover" === this._config.pause && g(this._element).on(Q.MOUSEENTER, function(t) {
  339. return e.pause(t)
  340. }).on(Q.MOUSELEAVE, function(t) {
  341. return e.cycle(t)
  342. }), this._config.touch && this._addTouchEventListeners()
  343. }, t._addTouchEventListeners = function() {
  344. var n = this;
  345. if(this._touchSupported) {
  346. var e = function(t) {
  347. n._pointerEvent && at[t.originalEvent.pointerType.toUpperCase()] ? n.touchStartX = t.originalEvent.clientX : n._pointerEvent || (n.touchStartX = t.originalEvent.touches[0].clientX)
  348. },
  349. i = function(t) {
  350. n._pointerEvent && at[t.originalEvent.pointerType.toUpperCase()] && (n.touchDeltaX = t.originalEvent.clientX - n.touchStartX), n._handleSwipe(), "hover" === n._config.pause && (n.pause(), n.touchTimeout && clearTimeout(n.touchTimeout), n.touchTimeout = setTimeout(function(t) {
  351. return n.cycle(t)
  352. }, 500 + n._config.interval))
  353. };
  354. g(this._element.querySelectorAll(nt)).on(Q.DRAG_START, function(t) {
  355. return t.preventDefault()
  356. }), this._pointerEvent ? (g(this._element).on(Q.POINTERDOWN, function(t) {
  357. return e(t)
  358. }), g(this._element).on(Q.POINTERUP, function(t) {
  359. return i(t)
  360. }), this._element.classList.add(J)) : (g(this._element).on(Q.TOUCHSTART, function(t) {
  361. return e(t)
  362. }), g(this._element).on(Q.TOUCHMOVE, function(t) {
  363. var e;
  364. (e = t).originalEvent.touches && 1 < e.originalEvent.touches.length ? n.touchDeltaX = 0 : n.touchDeltaX = e.originalEvent.touches[0].clientX - n.touchStartX
  365. }), g(this._element).on(Q.TOUCHEND, function(t) {
  366. return i(t)
  367. }))
  368. }
  369. }, t._keydown = function(t) {
  370. if(!/input|textarea/i.test(t.target.tagName)) switch(t.which) {
  371. case 37:
  372. t.preventDefault(), this.prev();
  373. break;
  374. case 39:
  375. t.preventDefault(), this.next()
  376. }
  377. }, t._getItemIndex = function(t) {
  378. return this._items = t && t.parentNode ? [].slice.call(t.parentNode.querySelectorAll(et)) : [], this._items.indexOf(t)
  379. }, t._getItemByDirection = function(t, e) {
  380. var n = t === W,
  381. i = t === q,
  382. o = this._getItemIndex(e),
  383. r = this._items.length - 1;
  384. if((i && 0 === o || n && o === r) && !this._config.wrap) return e;
  385. var s = (o + (t === q ? -1 : 1)) % this._items.length;
  386. return -1 === s ? this._items[this._items.length - 1] : this._items[s]
  387. }, t._triggerSlideEvent = function(t, e) {
  388. var n = this._getItemIndex(t),
  389. i = this._getItemIndex(this._element.querySelector(tt)),
  390. o = g.Event(Q.SLIDE, {
  391. relatedTarget: t,
  392. direction: e,
  393. from: i,
  394. to: n
  395. });
  396. return g(this._element).trigger(o), o
  397. }, t._setActiveIndicatorElement = function(t) {
  398. if(this._indicatorsElement) {
  399. var e = [].slice.call(this._indicatorsElement.querySelectorAll(Z));
  400. g(e).removeClass(V);
  401. var n = this._indicatorsElement.children[this._getItemIndex(t)];
  402. n && g(n).addClass(V)
  403. }
  404. }, t._slide = function(t, e) {
  405. var n, i, o, r = this,
  406. s = this._element.querySelector(tt),
  407. a = this._getItemIndex(s),
  408. l = e || s && this._getItemByDirection(t, s),
  409. c = this._getItemIndex(l),
  410. h = Boolean(this._interval);
  411. if(o = t === W ? (n = X, i = $, M) : (n = z, i = G, K), l && g(l).hasClass(V)) this._isSliding = !1;
  412. else if(!this._triggerSlideEvent(l, o).isDefaultPrevented() && s && l) {
  413. this._isSliding = !0, h && this.pause(), this._setActiveIndicatorElement(l);
  414. var u = g.Event(Q.SLID, {
  415. relatedTarget: l,
  416. direction: o,
  417. from: a,
  418. to: c
  419. });
  420. if(g(this._element).hasClass(Y)) {
  421. g(l).addClass(i), _.reflow(l), g(s).addClass(n), g(l).addClass(n);
  422. var f = parseInt(l.getAttribute("data-interval"), 10);
  423. this._config.interval = f ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, f) : this._config.defaultInterval || this._config.interval;
  424. var d = _.getTransitionDurationFromElement(s);
  425. g(s).one(_.TRANSITION_END, function() {
  426. g(l).removeClass(n + " " + i).addClass(V), g(s).removeClass(V + " " + i + " " + n), r._isSliding = !1, setTimeout(function() {
  427. return g(r._element).trigger(u)
  428. }, 0)
  429. }).emulateTransitionEnd(d)
  430. } else g(s).removeClass(V), g(l).addClass(V), this._isSliding = !1, g(this._element).trigger(u);
  431. h && this.cycle()
  432. }
  433. }, r._jQueryInterface = function(i) {
  434. return this.each(function() {
  435. var t = g(this).data(j),
  436. e = l({}, F, g(this).data());
  437. "object" == typeof i && (e = l({}, e, i));
  438. var n = "string" == typeof i ? i : e.slide;
  439. if(t || (t = new r(this, e), g(this).data(j, t)), "number" == typeof i) t.to(i);
  440. else if("string" == typeof n) {
  441. if("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
  442. t[n]()
  443. } else e.interval && e.ride && (t.pause(), t.cycle())
  444. })
  445. }, r._dataApiClickHandler = function(t) {
  446. var e = _.getSelectorFromElement(this);
  447. if(e) {
  448. var n = g(e)[0];
  449. if(n && g(n).hasClass(B)) {
  450. var i = l({}, g(n).data(), g(this).data()),
  451. o = this.getAttribute("data-slide-to");
  452. o && (i.interval = !1), r._jQueryInterface.call(g(n), i), o && g(n).data(j).to(o), t.preventDefault()
  453. }
  454. }
  455. }, s(r, null, [{
  456. key: "VERSION",
  457. get: function() {
  458. return "4.3.1"
  459. }
  460. }, {
  461. key: "Default",
  462. get: function() {
  463. return F
  464. }
  465. }]), r
  466. }();
  467. g(document).on(Q.CLICK_DATA_API, rt, lt._dataApiClickHandler), g(window).on(Q.LOAD_DATA_API, function() {
  468. for(var t = [].slice.call(document.querySelectorAll(st)), e = 0, n = t.length; e < n; e++) {
  469. var i = g(t[e]);
  470. lt._jQueryInterface.call(i, i.data())
  471. }
  472. }), g.fn[L] = lt._jQueryInterface, g.fn[L].Constructor = lt, g.fn[L].noConflict = function() {
  473. return g.fn[L] = x, lt._jQueryInterface
  474. };
  475. var ct = "collapse",
  476. ht = "bs.collapse",
  477. ut = "." + ht,
  478. ft = g.fn[ct],
  479. dt = {
  480. toggle: !0,
  481. parent: ""
  482. },
  483. gt = {
  484. toggle: "boolean",
  485. parent: "(string|element)"
  486. },
  487. _t = {
  488. SHOW: "show" + ut,
  489. SHOWN: "shown" + ut,
  490. HIDE: "hide" + ut,
  491. HIDDEN: "hidden" + ut,
  492. CLICK_DATA_API: "click" + ut + ".data-api"
  493. },
  494. mt = "show",
  495. pt = "collapse",
  496. vt = "collapsing",
  497. yt = "collapsed",
  498. Et = "width",
  499. Ct = "height",
  500. Tt = ".show, .collapsing",
  501. St = '[data-toggle="collapse"]',
  502. bt = function() {
  503. function a(e, t) {
  504. this._isTransitioning = !1, this._element = e, this._config = this._getConfig(t), this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]'));
  505. for(var n = [].slice.call(document.querySelectorAll(St)), i = 0, o = n.length; i < o; i++) {
  506. var r = n[i],
  507. s = _.getSelectorFromElement(r),
  508. a = [].slice.call(document.querySelectorAll(s)).filter(function(t) {
  509. return t === e
  510. });
  511. null !== s && 0 < a.length && (this._selector = s, this._triggerArray.push(r))
  512. }
  513. this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle()
  514. }
  515. var t = a.prototype;
  516. return t.toggle = function() {
  517. g(this._element).hasClass(mt) ? this.hide() : this.show()
  518. }, t.show = function() {
  519. var t, e, n = this;
  520. if(!this._isTransitioning && !g(this._element).hasClass(mt) && (this._parent && 0 === (t = [].slice.call(this._parent.querySelectorAll(Tt)).filter(function(t) {
  521. return "string" == typeof n._config.parent ? t.getAttribute("data-parent") === n._config.parent : t.classList.contains(pt)
  522. })).length && (t = null), !(t && (e = g(t).not(this._selector).data(ht)) && e._isTransitioning))) {
  523. var i = g.Event(_t.SHOW);
  524. if(g(this._element).trigger(i), !i.isDefaultPrevented()) {
  525. t && (a._jQueryInterface.call(g(t).not(this._selector), "hide"), e || g(t).data(ht, null));
  526. var o = this._getDimension();
  527. g(this._element).removeClass(pt).addClass(vt), this._element.style[o] = 0, this._triggerArray.length && g(this._triggerArray).removeClass(yt).attr("aria-expanded", !0), this.setTransitioning(!0);
  528. var r = "scroll" + (o[0].toUpperCase() + o.slice(1)),
  529. s = _.getTransitionDurationFromElement(this._element);
  530. g(this._element).one(_.TRANSITION_END, function() {
  531. g(n._element).removeClass(vt).addClass(pt).addClass(mt), n._element.style[o] = "", n.setTransitioning(!1), g(n._element).trigger(_t.SHOWN)
  532. }).emulateTransitionEnd(s), this._element.style[o] = this._element[r] + "px"
  533. }
  534. }
  535. }, t.hide = function() {
  536. var t = this;
  537. if(!this._isTransitioning && g(this._element).hasClass(mt)) {
  538. var e = g.Event(_t.HIDE);
  539. if(g(this._element).trigger(e), !e.isDefaultPrevented()) {
  540. var n = this._getDimension();
  541. this._element.style[n] = this._element.getBoundingClientRect()[n] + "px", _.reflow(this._element), g(this._element).addClass(vt).removeClass(pt).removeClass(mt);
  542. var i = this._triggerArray.length;
  543. if(0 < i)
  544. for(var o = 0; o < i; o++) {
  545. var r = this._triggerArray[o],
  546. s = _.getSelectorFromElement(r);
  547. if(null !== s) g([].slice.call(document.querySelectorAll(s))).hasClass(mt) || g(r).addClass(yt).attr("aria-expanded", !1)
  548. }
  549. this.setTransitioning(!0);
  550. this._element.style[n] = "";
  551. var a = _.getTransitionDurationFromElement(this._element);
  552. g(this._element).one(_.TRANSITION_END, function() {
  553. t.setTransitioning(!1), g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)
  554. }).emulateTransitionEnd(a)
  555. }
  556. }
  557. }, t.setTransitioning = function(t) {
  558. this._isTransitioning = t
  559. }, t.dispose = function() {
  560. g.removeData(this._element, ht), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
  561. }, t._getConfig = function(t) {
  562. return(t = l({}, dt, t)).toggle = Boolean(t.toggle), _.typeCheckConfig(ct, t, gt), t
  563. }, t._getDimension = function() {
  564. return g(this._element).hasClass(Et) ? Et : Ct
  565. }, t._getParent = function() {
  566. var t, n = this;
  567. _.isElement(this._config.parent) ? (t = this._config.parent, "undefined" != typeof this._config.parent.jquery && (t = this._config.parent[0])) : t = document.querySelector(this._config.parent);
  568. var e = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]',
  569. i = [].slice.call(t.querySelectorAll(e));
  570. return g(i).each(function(t, e) {
  571. n._addAriaAndCollapsedClass(a._getTargetFromElement(e), [e])
  572. }), t
  573. }, t._addAriaAndCollapsedClass = function(t, e) {
  574. var n = g(t).hasClass(mt);
  575. e.length && g(e).toggleClass(yt, !n).attr("aria-expanded", n)
  576. }, a._getTargetFromElement = function(t) {
  577. var e = _.getSelectorFromElement(t);
  578. return e ? document.querySelector(e) : null
  579. }, a._jQueryInterface = function(i) {
  580. return this.each(function() {
  581. var t = g(this),
  582. e = t.data(ht),
  583. n = l({}, dt, t.data(), "object" == typeof i && i ? i : {});
  584. if(!e && n.toggle && /show|hide/.test(i) && (n.toggle = !1), e || (e = new a(this, n), t.data(ht, e)), "string" == typeof i) {
  585. if("undefined" == typeof e[i]) throw new TypeError('No method named "' + i + '"');
  586. e[i]()
  587. }
  588. })
  589. }, s(a, null, [{
  590. key: "VERSION",
  591. get: function() {
  592. return "4.3.1"
  593. }
  594. }, {
  595. key: "Default",
  596. get: function() {
  597. return dt
  598. }
  599. }]), a
  600. }();
  601. g(document).on(_t.CLICK_DATA_API, St, function(t) {
  602. "A" === t.currentTarget.tagName && t.preventDefault();
  603. var n = g(this),
  604. e = _.getSelectorFromElement(this),
  605. i = [].slice.call(document.querySelectorAll(e));
  606. g(i).each(function() {
  607. var t = g(this),
  608. e = t.data(ht) ? "toggle" : n.data();
  609. bt._jQueryInterface.call(t, e)
  610. })
  611. }), g.fn[ct] = bt._jQueryInterface, g.fn[ct].Constructor = bt, g.fn[ct].noConflict = function() {
  612. return g.fn[ct] = ft, bt._jQueryInterface
  613. };
  614. var It = "dropdown",
  615. Dt = "bs.dropdown",
  616. wt = "." + Dt,
  617. At = ".data-api",
  618. Nt = g.fn[It],
  619. Ot = new RegExp("38|40|27"),
  620. kt = {
  621. HIDE: "hide" + wt,
  622. HIDDEN: "hidden" + wt,
  623. SHOW: "show" + wt,
  624. SHOWN: "shown" + wt,
  625. CLICK: "click" + wt,
  626. CLICK_DATA_API: "click" + wt + At,
  627. KEYDOWN_DATA_API: "keydown" + wt + At,
  628. KEYUP_DATA_API: "keyup" + wt + At
  629. },
  630. Pt = "disabled",
  631. Lt = "show",
  632. jt = "dropup",
  633. Ht = "dropright",
  634. Rt = "dropleft",
  635. xt = "dropdown-menu-right",
  636. Ft = "position-static",
  637. Ut = '[data-toggle="dropdown"]',
  638. Wt = ".dropdown form",
  639. qt = ".dropdown-menu",
  640. Mt = ".navbar-nav",
  641. Kt = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",
  642. Qt = "top-start",
  643. Bt = "top-end",
  644. Vt = "bottom-start",
  645. Yt = "bottom-end",
  646. zt = "right-start",
  647. Xt = "left-start",
  648. $t = {
  649. offset: 0,
  650. flip: !0,
  651. boundary: "scrollParent",
  652. reference: "toggle",
  653. display: "dynamic"
  654. },
  655. Gt = {
  656. offset: "(number|string|function)",
  657. flip: "boolean",
  658. boundary: "(string|element)",
  659. reference: "(string|element)",
  660. display: "string"
  661. },
  662. Jt = function() {
  663. function c(t, e) {
  664. this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners()
  665. }
  666. var t = c.prototype;
  667. return t.toggle = function() {
  668. if(!this._element.disabled && !g(this._element).hasClass(Pt)) {
  669. var t = c._getParentFromElement(this._element),
  670. e = g(this._menu).hasClass(Lt);
  671. if(c._clearMenus(), !e) {
  672. var n = {
  673. relatedTarget: this._element
  674. },
  675. i = g.Event(kt.SHOW, n);
  676. if(g(t).trigger(i), !i.isDefaultPrevented()) {
  677. if(!this._inNavbar) {
  678. if("undefined" == typeof u) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");
  679. var o = this._element;
  680. "parent" === this._config.reference ? o = t : _.isElement(this._config.reference) && (o = this._config.reference, "undefined" != typeof this._config.reference.jquery && (o = this._config.reference[0])), "scrollParent" !== this._config.boundary && g(t).addClass(Ft), this._popper = new u(o, this._menu, this._getPopperConfig())
  681. }
  682. "ontouchstart" in document.documentElement && 0 === g(t).closest(Mt).length && g(document.body).children().on("mouseover", null, g.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), g(this._menu).toggleClass(Lt), g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN, n))
  683. }
  684. }
  685. }
  686. }, t.show = function() {
  687. if(!(this._element.disabled || g(this._element).hasClass(Pt) || g(this._menu).hasClass(Lt))) {
  688. var t = {
  689. relatedTarget: this._element
  690. },
  691. e = g.Event(kt.SHOW, t),
  692. n = c._getParentFromElement(this._element);
  693. g(n).trigger(e), e.isDefaultPrevented() || (g(this._menu).toggleClass(Lt), g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN, t)))
  694. }
  695. }, t.hide = function() {
  696. if(!this._element.disabled && !g(this._element).hasClass(Pt) && g(this._menu).hasClass(Lt)) {
  697. var t = {
  698. relatedTarget: this._element
  699. },
  700. e = g.Event(kt.HIDE, t),
  701. n = c._getParentFromElement(this._element);
  702. g(n).trigger(e), e.isDefaultPrevented() || (g(this._menu).toggleClass(Lt), g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN, t)))
  703. }
  704. }, t.dispose = function() {
  705. g.removeData(this._element, Dt), g(this._element).off(wt), this._element = null, (this._menu = null) !== this._popper && (this._popper.destroy(), this._popper = null)
  706. }, t.update = function() {
  707. this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate()
  708. }, t._addEventListeners = function() {
  709. var e = this;
  710. g(this._element).on(kt.CLICK, function(t) {
  711. t.preventDefault(), t.stopPropagation(), e.toggle()
  712. })
  713. }, t._getConfig = function(t) {
  714. return t = l({}, this.constructor.Default, g(this._element).data(), t), _.typeCheckConfig(It, t, this.constructor.DefaultType), t
  715. }, t._getMenuElement = function() {
  716. if(!this._menu) {
  717. var t = c._getParentFromElement(this._element);
  718. t && (this._menu = t.querySelector(qt))
  719. }
  720. return this._menu
  721. }, t._getPlacement = function() {
  722. var t = g(this._element.parentNode),
  723. e = Vt;
  724. return t.hasClass(jt) ? (e = Qt, g(this._menu).hasClass(xt) && (e = Bt)) : t.hasClass(Ht) ? e = zt : t.hasClass(Rt) ? e = Xt : g(this._menu).hasClass(xt) && (e = Yt), e
  725. }, t._detectNavbar = function() {
  726. return 0 < g(this._element).closest(".navbar").length
  727. }, t._getOffset = function() {
  728. var e = this,
  729. t = {};
  730. return "function" == typeof this._config.offset ? t.fn = function(t) {
  731. return t.offsets = l({}, t.offsets, e._config.offset(t.offsets, e._element) || {}), t
  732. } : t.offset = this._config.offset, t
  733. }, t._getPopperConfig = function() {
  734. var t = {
  735. placement: this._getPlacement(),
  736. modifiers: {
  737. offset: this._getOffset(),
  738. flip: {
  739. enabled: this._config.flip
  740. },
  741. preventOverflow: {
  742. boundariesElement: this._config.boundary
  743. }
  744. }
  745. };
  746. return "static" === this._config.display && (t.modifiers.applyStyle = {
  747. enabled: !1
  748. }), t
  749. }, c._jQueryInterface = function(e) {
  750. return this.each(function() {
  751. var t = g(this).data(Dt);
  752. if(t || (t = new c(this, "object" == typeof e ? e : null), g(this).data(Dt, t)), "string" == typeof e) {
  753. if("undefined" == typeof t[e]) throw new TypeError('No method named "' + e + '"');
  754. t[e]()
  755. }
  756. })
  757. }, c._clearMenus = function(t) {
  758. if(!t || 3 !== t.which && ("keyup" !== t.type || 9 === t.which))
  759. for(var e = [].slice.call(document.querySelectorAll(Ut)), n = 0, i = e.length; n < i; n++) {
  760. var o = c._getParentFromElement(e[n]),
  761. r = g(e[n]).data(Dt),
  762. s = {
  763. relatedTarget: e[n]
  764. };
  765. if(t && "click" === t.type && (s.clickEvent = t), r) {
  766. var a = r._menu;
  767. if(g(o).hasClass(Lt) && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && 9 === t.which) && g.contains(o, t.target))) {
  768. var l = g.Event(kt.HIDE, s);
  769. g(o).trigger(l), l.isDefaultPrevented() || ("ontouchstart" in document.documentElement && g(document.body).children().off("mouseover", null, g.noop), e[n].setAttribute("aria-expanded", "false"), g(a).removeClass(Lt), g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN, s)))
  770. }
  771. }
  772. }
  773. }, c._getParentFromElement = function(t) {
  774. var e, n = _.getSelectorFromElement(t);
  775. return n && (e = document.querySelector(n)), e || t.parentNode
  776. }, c._dataApiKeydownHandler = function(t) {
  777. if((/input|textarea/i.test(t.target.tagName) ? !(32 === t.which || 27 !== t.which && (40 !== t.which && 38 !== t.which || g(t.target).closest(qt).length)) : Ot.test(t.which)) && (t.preventDefault(), t.stopPropagation(), !this.disabled && !g(this).hasClass(Pt))) {
  778. var e = c._getParentFromElement(this),
  779. n = g(e).hasClass(Lt);
  780. if(n && (!n || 27 !== t.which && 32 !== t.which)) {
  781. var i = [].slice.call(e.querySelectorAll(Kt));
  782. if(0 !== i.length) {
  783. var o = i.indexOf(t.target);
  784. 38 === t.which && 0 < o && o--, 40 === t.which && o < i.length - 1 && o++, o < 0 && (o = 0), i[o].focus()
  785. }
  786. } else {
  787. if(27 === t.which) {
  788. var r = e.querySelector(Ut);
  789. g(r).trigger("focus")
  790. }
  791. g(this).trigger("click")
  792. }
  793. }
  794. }, s(c, null, [{
  795. key: "VERSION",
  796. get: function() {
  797. return "4.3.1"
  798. }
  799. }, {
  800. key: "Default",
  801. get: function() {
  802. return $t
  803. }
  804. }, {
  805. key: "DefaultType",
  806. get: function() {
  807. return Gt
  808. }
  809. }]), c
  810. }();
  811. g(document).on(kt.KEYDOWN_DATA_API, Ut, Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API, qt, Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API + " " + kt.KEYUP_DATA_API, Jt._clearMenus).on(kt.CLICK_DATA_API, Ut, function(t) {
  812. t.preventDefault(), t.stopPropagation(), Jt._jQueryInterface.call(g(this), "toggle")
  813. }).on(kt.CLICK_DATA_API, Wt, function(t) {
  814. t.stopPropagation()
  815. }), g.fn[It] = Jt._jQueryInterface, g.fn[It].Constructor = Jt, g.fn[It].noConflict = function() {
  816. return g.fn[It] = Nt, Jt._jQueryInterface
  817. };
  818. var Zt = "modal",
  819. te = "bs.modal",
  820. ee = "." + te,
  821. ne = g.fn[Zt],
  822. ie = {
  823. backdrop: !0,
  824. keyboard: !0,
  825. focus: !0,
  826. show: !0
  827. },
  828. oe = {
  829. backdrop: "(boolean|string)",
  830. keyboard: "boolean",
  831. focus: "boolean",
  832. show: "boolean"
  833. },
  834. re = {
  835. HIDE: "hide" + ee,
  836. HIDDEN: "hidden" + ee,
  837. SHOW: "show" + ee,
  838. SHOWN: "shown" + ee,
  839. FOCUSIN: "focusin" + ee,
  840. RESIZE: "resize" + ee,
  841. CLICK_DISMISS: "click.dismiss" + ee,
  842. KEYDOWN_DISMISS: "keydown.dismiss" + ee,
  843. MOUSEUP_DISMISS: "mouseup.dismiss" + ee,
  844. MOUSEDOWN_DISMISS: "mousedown.dismiss" + ee,
  845. CLICK_DATA_API: "click" + ee + ".data-api"
  846. },
  847. se = "modal-dialog-scrollable",
  848. ae = "modal-scrollbar-measure",
  849. le = "modal-backdrop",
  850. ce = "modal-open",
  851. he = "fade",
  852. ue = "show",
  853. fe = ".modal-dialog",
  854. de = ".modal-body",
  855. ge = '[data-toggle="modal"]',
  856. _e = '[data-dismiss="modal"]',
  857. me = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
  858. pe = ".sticky-top",
  859. ve = function() {
  860. function o(t, e) {
  861. this._config = this._getConfig(e), this._element = t, this._dialog = t.querySelector(fe), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0
  862. }
  863. var t = o.prototype;
  864. return t.toggle = function(t) {
  865. return this._isShown ? this.hide() : this.show(t)
  866. }, t.show = function(t) {
  867. var e = this;
  868. if(!this._isShown && !this._isTransitioning) {
  869. g(this._element).hasClass(he) && (this._isTransitioning = !0);
  870. var n = g.Event(re.SHOW, {
  871. relatedTarget: t
  872. });
  873. g(this._element).trigger(n), this._isShown || n.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), g(this._element).on(re.CLICK_DISMISS, _e, function(t) {
  874. return e.hide(t)
  875. }), g(this._dialog).on(re.MOUSEDOWN_DISMISS, function() {
  876. g(e._element).one(re.MOUSEUP_DISMISS, function(t) {
  877. g(t.target).is(e._element) && (e._ignoreBackdropClick = !0)
  878. })
  879. }), this._showBackdrop(function() {
  880. return e._showElement(t)
  881. }))
  882. }
  883. }, t.hide = function(t) {
  884. var e = this;
  885. if(t && t.preventDefault(), this._isShown && !this._isTransitioning) {
  886. var n = g.Event(re.HIDE);
  887. if(g(this._element).trigger(n), this._isShown && !n.isDefaultPrevented()) {
  888. this._isShown = !1;
  889. var i = g(this._element).hasClass(he);
  890. if(i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), g(document).off(re.FOCUSIN), g(this._element).removeClass(ue), g(this._element).off(re.CLICK_DISMISS), g(this._dialog).off(re.MOUSEDOWN_DISMISS), i) {
  891. var o = _.getTransitionDurationFromElement(this._element);
  892. g(this._element).one(_.TRANSITION_END, function(t) {
  893. return e._hideModal(t)
  894. }).emulateTransitionEnd(o)
  895. } else this._hideModal()
  896. }
  897. }
  898. }, t.dispose = function() {
  899. [window, this._element, this._dialog].forEach(function(t) {
  900. return g(t).off(ee)
  901. }), g(document).off(re.FOCUSIN), g.removeData(this._element, te), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null
  902. }, t.handleUpdate = function() {
  903. this._adjustDialog()
  904. }, t._getConfig = function(t) {
  905. return t = l({}, ie, t), _.typeCheckConfig(Zt, t, oe), t
  906. }, t._showElement = function(t) {
  907. var e = this,
  908. n = g(this._element).hasClass(he);
  909. this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), g(this._dialog).hasClass(se) ? this._dialog.querySelector(de).scrollTop = 0 : this._element.scrollTop = 0, n && _.reflow(this._element), g(this._element).addClass(ue), this._config.focus && this._enforceFocus();
  910. var i = g.Event(re.SHOWN, {
  911. relatedTarget: t
  912. }),
  913. o = function() {
  914. e._config.focus && e._element.focus(), e._isTransitioning = !1, g(e._element).trigger(i)
  915. };
  916. if(n) {
  917. var r = _.getTransitionDurationFromElement(this._dialog);
  918. g(this._dialog).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
  919. } else o()
  920. }, t._enforceFocus = function() {
  921. var e = this;
  922. g(document).off(re.FOCUSIN).on(re.FOCUSIN, function(t) {
  923. document !== t.target && e._element !== t.target && 0 === g(e._element).has(t.target).length && e._element.focus()
  924. })
  925. }, t._setEscapeEvent = function() {
  926. var e = this;
  927. this._isShown && this._config.keyboard ? g(this._element).on(re.KEYDOWN_DISMISS, function(t) {
  928. 27 === t.which && (t.preventDefault(), e.hide())
  929. }) : this._isShown || g(this._element).off(re.KEYDOWN_DISMISS)
  930. }, t._setResizeEvent = function() {
  931. var e = this;
  932. this._isShown ? g(window).on(re.RESIZE, function(t) {
  933. return e.handleUpdate(t)
  934. }) : g(window).off(re.RESIZE)
  935. }, t._hideModal = function() {
  936. var t = this;
  937. this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._isTransitioning = !1, this._showBackdrop(function() {
  938. g(document.body).removeClass(ce), t._resetAdjustments(), t._resetScrollbar(), g(t._element).trigger(re.HIDDEN)
  939. })
  940. }, t._removeBackdrop = function() {
  941. this._backdrop && (g(this._backdrop).remove(), this._backdrop = null)
  942. }, t._showBackdrop = function(t) {
  943. var e = this,
  944. n = g(this._element).hasClass(he) ? he : "";
  945. if(this._isShown && this._config.backdrop) {
  946. if(this._backdrop = document.createElement("div"), this._backdrop.className = le, n && this._backdrop.classList.add(n), g(this._backdrop).appendTo(document.body), g(this._element).on(re.CLICK_DISMISS, function(t) {
  947. e._ignoreBackdropClick ? e._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === e._config.backdrop ? e._element.focus() : e.hide())
  948. }), n && _.reflow(this._backdrop), g(this._backdrop).addClass(ue), !t) return;
  949. if(!n) return void t();
  950. var i = _.getTransitionDurationFromElement(this._backdrop);
  951. g(this._backdrop).one(_.TRANSITION_END, t).emulateTransitionEnd(i)
  952. } else if(!this._isShown && this._backdrop) {
  953. g(this._backdrop).removeClass(ue);
  954. var o = function() {
  955. e._removeBackdrop(), t && t()
  956. };
  957. if(g(this._element).hasClass(he)) {
  958. var r = _.getTransitionDurationFromElement(this._backdrop);
  959. g(this._backdrop).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
  960. } else o()
  961. } else t && t()
  962. }, t._adjustDialog = function() {
  963. var t = this._element.scrollHeight > document.documentElement.clientHeight;
  964. !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px")
  965. }, t._resetAdjustments = function() {
  966. this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
  967. }, t._checkScrollbar = function() {
  968. var t = document.body.getBoundingClientRect();
  969. this._isBodyOverflowing = t.left + t.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
  970. }, t._setScrollbar = function() {
  971. var o = this;
  972. if(this._isBodyOverflowing) {
  973. var t = [].slice.call(document.querySelectorAll(me)),
  974. e = [].slice.call(document.querySelectorAll(pe));
  975. g(t).each(function(t, e) {
  976. var n = e.style.paddingRight,
  977. i = g(e).css("padding-right");
  978. g(e).data("padding-right", n).css("padding-right", parseFloat(i) + o._scrollbarWidth + "px")
  979. }), g(e).each(function(t, e) {
  980. var n = e.style.marginRight,
  981. i = g(e).css("margin-right");
  982. g(e).data("margin-right", n).css("margin-right", parseFloat(i) - o._scrollbarWidth + "px")
  983. });
  984. var n = document.body.style.paddingRight,
  985. i = g(document.body).css("padding-right");
  986. g(document.body).data("padding-right", n).css("padding-right", parseFloat(i) + this._scrollbarWidth + "px")
  987. }
  988. g(document.body).addClass(ce)
  989. }, t._resetScrollbar = function() {
  990. var t = [].slice.call(document.querySelectorAll(me));
  991. g(t).each(function(t, e) {
  992. var n = g(e).data("padding-right");
  993. g(e).removeData("padding-right"), e.style.paddingRight = n || ""
  994. });
  995. var e = [].slice.call(document.querySelectorAll("" + pe));
  996. g(e).each(function(t, e) {
  997. var n = g(e).data("margin-right");
  998. "undefined" != typeof n && g(e).css("margin-right", n).removeData("margin-right")
  999. });
  1000. var n = g(document.body).data("padding-right");
  1001. g(document.body).removeData("padding-right"), document.body.style.paddingRight = n || ""
  1002. }, t._getScrollbarWidth = function() {
  1003. var t = document.createElement("div");
  1004. t.className = ae, document.body.appendChild(t);
  1005. var e = t.getBoundingClientRect().width - t.clientWidth;
  1006. return document.body.removeChild(t), e
  1007. }, o._jQueryInterface = function(n, i) {
  1008. return this.each(function() {
  1009. var t = g(this).data(te),
  1010. e = l({}, ie, g(this).data(), "object" == typeof n && n ? n : {});
  1011. if(t || (t = new o(this, e), g(this).data(te, t)), "string" == typeof n) {
  1012. if("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
  1013. t[n](i)
  1014. } else e.show && t.show(i)
  1015. })
  1016. }, s(o, null, [{
  1017. key: "VERSION",
  1018. get: function() {
  1019. return "4.3.1"
  1020. }
  1021. }, {
  1022. key: "Default",
  1023. get: function() {
  1024. return ie
  1025. }
  1026. }]), o
  1027. }();
  1028. g(document).on(re.CLICK_DATA_API, ge, function(t) {
  1029. var e, n = this,
  1030. i = _.getSelectorFromElement(this);
  1031. i && (e = document.querySelector(i));
  1032. var o = g(e).data(te) ? "toggle" : l({}, g(e).data(), g(this).data());
  1033. "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault();
  1034. var r = g(e).one(re.SHOW, function(t) {
  1035. t.isDefaultPrevented() || r.one(re.HIDDEN, function() {
  1036. g(n).is(":visible") && n.focus()
  1037. })
  1038. });
  1039. ve._jQueryInterface.call(g(e), o, this)
  1040. }), g.fn[Zt] = ve._jQueryInterface, g.fn[Zt].Constructor = ve, g.fn[Zt].noConflict = function() {
  1041. return g.fn[Zt] = ne, ve._jQueryInterface
  1042. };
  1043. var ye = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"],
  1044. Ee = {
  1045. "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
  1046. a: ["target", "href", "title", "rel"],
  1047. area: [],
  1048. b: [],
  1049. br: [],
  1050. col: [],
  1051. code: [],
  1052. div: [],
  1053. em: [],
  1054. hr: [],
  1055. h1: [],
  1056. h2: [],
  1057. h3: [],
  1058. h4: [],
  1059. h5: [],
  1060. h6: [],
  1061. i: [],
  1062. img: ["src", "alt", "title", "width", "height"],
  1063. li: [],
  1064. ol: [],
  1065. p: [],
  1066. pre: [],
  1067. s: [],
  1068. small: [],
  1069. span: [],
  1070. sub: [],
  1071. sup: [],
  1072. strong: [],
  1073. u: [],
  1074. ul: []
  1075. },
  1076. Ce = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,
  1077. Te = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
  1078. function Se(t, s, e) {
  1079. if(0 === t.length) return t;
  1080. if(e && "function" == typeof e) return e(t);
  1081. for(var n = (new window.DOMParser).parseFromString(t, "text/html"), a = Object.keys(s), l = [].slice.call(n.body.querySelectorAll("*")), i = function(t, e) {
  1082. var n = l[t],
  1083. i = n.nodeName.toLowerCase();
  1084. if(-1 === a.indexOf(n.nodeName.toLowerCase())) return n.parentNode.removeChild(n), "continue";
  1085. var o = [].slice.call(n.attributes),
  1086. r = [].concat(s["*"] || [], s[i] || []);
  1087. o.forEach(function(t) {
  1088. (function(t, e) {
  1089. var n = t.nodeName.toLowerCase();
  1090. if(-1 !== e.indexOf(n)) return -1 === ye.indexOf(n) || Boolean(t.nodeValue.match(Ce) || t.nodeValue.match(Te));
  1091. for(var i = e.filter(function(t) {
  1092. return t instanceof RegExp
  1093. }), o = 0, r = i.length; o < r; o++)
  1094. if(n.match(i[o])) return !0;
  1095. return !1
  1096. })(t, r) || n.removeAttribute(t.nodeName)
  1097. })
  1098. }, o = 0, r = l.length; o < r; o++) i(o);
  1099. return n.body.innerHTML
  1100. }
  1101. var be = "tooltip",
  1102. Ie = "bs.tooltip",
  1103. De = "." + Ie,
  1104. we = g.fn[be],
  1105. Ae = "bs-tooltip",
  1106. Ne = new RegExp("(^|\\s)" + Ae + "\\S+", "g"),
  1107. Oe = ["sanitize", "whiteList", "sanitizeFn"],
  1108. ke = {
  1109. animation: "boolean",
  1110. template: "string",
  1111. title: "(string|element|function)",
  1112. trigger: "string",
  1113. delay: "(number|object)",
  1114. html: "boolean",
  1115. selector: "(string|boolean)",
  1116. placement: "(string|function)",
  1117. offset: "(number|string|function)",
  1118. container: "(string|element|boolean)",
  1119. fallbackPlacement: "(string|array)",
  1120. boundary: "(string|element)",
  1121. sanitize: "boolean",
  1122. sanitizeFn: "(null|function)",
  1123. whiteList: "object"
  1124. },
  1125. Pe = {
  1126. AUTO: "auto",
  1127. TOP: "top",
  1128. RIGHT: "right",
  1129. BOTTOM: "bottom",
  1130. LEFT: "left"
  1131. },
  1132. Le = {
  1133. animation: !0,
  1134. template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
  1135. trigger: "hover focus",
  1136. title: "",
  1137. delay: 0,
  1138. html: !1,
  1139. selector: !1,
  1140. placement: "top",
  1141. offset: 0,
  1142. container: !1,
  1143. fallbackPlacement: "flip",
  1144. boundary: "scrollParent",
  1145. sanitize: !0,
  1146. sanitizeFn: null,
  1147. whiteList: Ee
  1148. },
  1149. je = "show",
  1150. He = "out",
  1151. Re = {
  1152. HIDE: "hide" + De,
  1153. HIDDEN: "hidden" + De,
  1154. SHOW: "show" + De,
  1155. SHOWN: "shown" + De,
  1156. INSERTED: "inserted" + De,
  1157. CLICK: "click" + De,
  1158. FOCUSIN: "focusin" + De,
  1159. FOCUSOUT: "focusout" + De,
  1160. MOUSEENTER: "mouseenter" + De,
  1161. MOUSELEAVE: "mouseleave" + De
  1162. },
  1163. xe = "fade",
  1164. Fe = "show",
  1165. Ue = ".tooltip-inner",
  1166. We = ".arrow",
  1167. qe = "hover",
  1168. Me = "focus",
  1169. Ke = "click",
  1170. Qe = "manual",
  1171. Be = function() {
  1172. function i(t, e) {
  1173. if("undefined" == typeof u) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");
  1174. this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners()
  1175. }
  1176. var t = i.prototype;
  1177. return t.enable = function() {
  1178. this._isEnabled = !0
  1179. }, t.disable = function() {
  1180. this._isEnabled = !1
  1181. }, t.toggleEnabled = function() {
  1182. this._isEnabled = !this._isEnabled
  1183. }, t.toggle = function(t) {
  1184. if(this._isEnabled)
  1185. if(t) {
  1186. var e = this.constructor.DATA_KEY,
  1187. n = g(t.currentTarget).data(e);
  1188. n || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(e, n)), n._activeTrigger.click = !n._activeTrigger.click, n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n)
  1189. } else {
  1190. if(g(this.getTipElement()).hasClass(Fe)) return void this._leave(null, this);
  1191. this._enter(null, this)
  1192. }
  1193. }, t.dispose = function() {
  1194. clearTimeout(this._timeout), g.removeData(this.element, this.constructor.DATA_KEY), g(this.element).off(this.constructor.EVENT_KEY), g(this.element).closest(".modal").off("hide.bs.modal"), this.tip && g(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, (this._activeTrigger = null) !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
  1195. }, t.show = function() {
  1196. var e = this;
  1197. if("none" === g(this.element).css("display")) throw new Error("Please use show on visible elements");
  1198. var t = g.Event(this.constructor.Event.SHOW);
  1199. if(this.isWithContent() && this._isEnabled) {
  1200. g(this.element).trigger(t);
  1201. var n = _.findShadowRoot(this.element),
  1202. i = g.contains(null !== n ? n : this.element.ownerDocument.documentElement, this.element);
  1203. if(t.isDefaultPrevented() || !i) return;
  1204. var o = this.getTipElement(),
  1205. r = _.getUID(this.constructor.NAME);
  1206. o.setAttribute("id", r), this.element.setAttribute("aria-describedby", r), this.setContent(), this.config.animation && g(o).addClass(xe);
  1207. var s = "function" == typeof this.config.placement ? this.config.placement.call(this, o, this.element) : this.config.placement,
  1208. a = this._getAttachment(s);
  1209. this.addAttachmentClass(a);
  1210. var l = this._getContainer();
  1211. g(o).data(this.constructor.DATA_KEY, this), g.contains(this.element.ownerDocument.documentElement, this.tip) || g(o).appendTo(l), g(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new u(this.element, o, {
  1212. placement: a,
  1213. modifiers: {
  1214. offset: this._getOffset(),
  1215. flip: {
  1216. behavior: this.config.fallbackPlacement
  1217. },
  1218. arrow: {
  1219. element: We
  1220. },
  1221. preventOverflow: {
  1222. boundariesElement: this.config.boundary
  1223. }
  1224. },
  1225. onCreate: function(t) {
  1226. t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t)
  1227. },
  1228. onUpdate: function(t) {
  1229. return e._handlePopperPlacementChange(t)
  1230. }
  1231. }), g(o).addClass(Fe), "ontouchstart" in document.documentElement && g(document.body).children().on("mouseover", null, g.noop);
  1232. var c = function() {
  1233. e.config.animation && e._fixTransition();
  1234. var t = e._hoverState;
  1235. e._hoverState = null, g(e.element).trigger(e.constructor.Event.SHOWN), t === He && e._leave(null, e)
  1236. };
  1237. if(g(this.tip).hasClass(xe)) {
  1238. var h = _.getTransitionDurationFromElement(this.tip);
  1239. g(this.tip).one(_.TRANSITION_END, c).emulateTransitionEnd(h)
  1240. } else c()
  1241. }
  1242. }, t.hide = function(t) {
  1243. var e = this,
  1244. n = this.getTipElement(),
  1245. i = g.Event(this.constructor.Event.HIDE),
  1246. o = function() {
  1247. e._hoverState !== je && n.parentNode && n.parentNode.removeChild(n), e._cleanTipClass(), e.element.removeAttribute("aria-describedby"), g(e.element).trigger(e.constructor.Event.HIDDEN), null !== e._popper && e._popper.destroy(), t && t()
  1248. };
  1249. if(g(this.element).trigger(i), !i.isDefaultPrevented()) {
  1250. if(g(n).removeClass(Fe), "ontouchstart" in document.documentElement && g(document.body).children().off("mouseover", null, g.noop), this._activeTrigger[Ke] = !1, this._activeTrigger[Me] = !1, this._activeTrigger[qe] = !1, g(this.tip).hasClass(xe)) {
  1251. var r = _.getTransitionDurationFromElement(n);
  1252. g(n).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
  1253. } else o();
  1254. this._hoverState = ""
  1255. }
  1256. }, t.update = function() {
  1257. null !== this._popper && this._popper.scheduleUpdate()
  1258. }, t.isWithContent = function() {
  1259. return Boolean(this.getTitle())
  1260. }, t.addAttachmentClass = function(t) {
  1261. g(this.getTipElement()).addClass(Ae + "-" + t)
  1262. }, t.getTipElement = function() {
  1263. return this.tip = this.tip || g(this.config.template)[0], this.tip
  1264. }, t.setContent = function() {
  1265. var t = this.getTipElement();
  1266. this.setElementContent(g(t.querySelectorAll(Ue)), this.getTitle()), g(t).removeClass(xe + " " + Fe)
  1267. }, t.setElementContent = function(t, e) {
  1268. "object" != typeof e || !e.nodeType && !e.jquery ? this.config.html ? (this.config.sanitize && (e = Se(e, this.config.whiteList, this.config.sanitizeFn)), t.html(e)) : t.text(e) : this.config.html ? g(e).parent().is(t) || t.empty().append(e) : t.text(g(e).text())
  1269. }, t.getTitle = function() {
  1270. var t = this.element.getAttribute("data-original-title");
  1271. return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t
  1272. }, t._getOffset = function() {
  1273. var e = this,
  1274. t = {};
  1275. return "function" == typeof this.config.offset ? t.fn = function(t) {
  1276. return t.offsets = l({}, t.offsets, e.config.offset(t.offsets, e.element) || {}), t
  1277. } : t.offset = this.config.offset, t
  1278. }, t._getContainer = function() {
  1279. return !1 === this.config.container ? document.body : _.isElement(this.config.container) ? g(this.config.container) : g(document).find(this.config.container)
  1280. }, t._getAttachment = function(t) {
  1281. return Pe[t.toUpperCase()]
  1282. }, t._setListeners = function() {
  1283. var i = this;
  1284. this.config.trigger.split(" ").forEach(function(t) {
  1285. if("click" === t) g(i.element).on(i.constructor.Event.CLICK, i.config.selector, function(t) {
  1286. return i.toggle(t)
  1287. });
  1288. else if(t !== Qe) {
  1289. var e = t === qe ? i.constructor.Event.MOUSEENTER : i.constructor.Event.FOCUSIN,
  1290. n = t === qe ? i.constructor.Event.MOUSELEAVE : i.constructor.Event.FOCUSOUT;
  1291. g(i.element).on(e, i.config.selector, function(t) {
  1292. return i._enter(t)
  1293. }).on(n, i.config.selector, function(t) {
  1294. return i._leave(t)
  1295. })
  1296. }
  1297. }), g(this.element).closest(".modal").on("hide.bs.modal", function() {
  1298. i.element && i.hide()
  1299. }), this.config.selector ? this.config = l({}, this.config, {
  1300. trigger: "manual",
  1301. selector: ""
  1302. }) : this._fixTitle()
  1303. }, t._fixTitle = function() {
  1304. var t = typeof this.element.getAttribute("data-original-title");
  1305. (this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
  1306. }, t._enter = function(t, e) {
  1307. var n = this.constructor.DATA_KEY;
  1308. (e = e || g(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(n, e)), t && (e._activeTrigger["focusin" === t.type ? Me : qe] = !0), g(e.getTipElement()).hasClass(Fe) || e._hoverState === je ? e._hoverState = je : (clearTimeout(e._timeout), e._hoverState = je, e.config.delay && e.config.delay.show ? e._timeout = setTimeout(function() {
  1309. e._hoverState === je && e.show()
  1310. }, e.config.delay.show) : e.show())
  1311. }, t._leave = function(t, e) {
  1312. var n = this.constructor.DATA_KEY;
  1313. (e = e || g(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(n, e)), t && (e._activeTrigger["focusout" === t.type ? Me : qe] = !1), e._isWithActiveTrigger() || (clearTimeout(e._timeout), e._hoverState = He, e.config.delay && e.config.delay.hide ? e._timeout = setTimeout(function() {
  1314. e._hoverState === He && e.hide()
  1315. }, e.config.delay.hide) : e.hide())
  1316. }, t._isWithActiveTrigger = function() {
  1317. for(var t in this._activeTrigger)
  1318. if(this._activeTrigger[t]) return !0;
  1319. return !1
  1320. }, t._getConfig = function(t) {
  1321. var e = g(this.element).data();
  1322. return Object.keys(e).forEach(function(t) {
  1323. -1 !== Oe.indexOf(t) && delete e[t]
  1324. }), "number" == typeof(t = l({}, this.constructor.Default, e, "object" == typeof t && t ? t : {})).delay && (t.delay = {
  1325. show: t.delay,
  1326. hide: t.delay
  1327. }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), _.typeCheckConfig(be, t, this.constructor.DefaultType), t.sanitize && (t.template = Se(t.template, t.whiteList, t.sanitizeFn)), t
  1328. }, t._getDelegateConfig = function() {
  1329. var t = {};
  1330. if(this.config)
  1331. for(var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);
  1332. return t
  1333. }, t._cleanTipClass = function() {
  1334. var t = g(this.getTipElement()),
  1335. e = t.attr("class").match(Ne);
  1336. null !== e && e.length && t.removeClass(e.join(""))
  1337. }, t._handlePopperPlacementChange = function(t) {
  1338. var e = t.instance;
  1339. this.tip = e.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement))
  1340. }, t._fixTransition = function() {
  1341. var t = this.getTipElement(),
  1342. e = this.config.animation;
  1343. null === t.getAttribute("x-placement") && (g(t).removeClass(xe), this.config.animation = !1, this.hide(), this.show(), this.config.animation = e)
  1344. }, i._jQueryInterface = function(n) {
  1345. return this.each(function() {
  1346. var t = g(this).data(Ie),
  1347. e = "object" == typeof n && n;
  1348. if((t || !/dispose|hide/.test(n)) && (t || (t = new i(this, e), g(this).data(Ie, t)), "string" == typeof n)) {
  1349. if("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
  1350. t[n]()
  1351. }
  1352. })
  1353. }, s(i, null, [{
  1354. key: "VERSION",
  1355. get: function() {
  1356. return "4.3.1"
  1357. }
  1358. }, {
  1359. key: "Default",
  1360. get: function() {
  1361. return Le
  1362. }
  1363. }, {
  1364. key: "NAME",
  1365. get: function() {
  1366. return be
  1367. }
  1368. }, {
  1369. key: "DATA_KEY",
  1370. get: function() {
  1371. return Ie
  1372. }
  1373. }, {
  1374. key: "Event",
  1375. get: function() {
  1376. return Re
  1377. }
  1378. }, {
  1379. key: "EVENT_KEY",
  1380. get: function() {
  1381. return De
  1382. }
  1383. }, {
  1384. key: "DefaultType",
  1385. get: function() {
  1386. return ke
  1387. }
  1388. }]), i
  1389. }();
  1390. g.fn[be] = Be._jQueryInterface, g.fn[be].Constructor = Be, g.fn[be].noConflict = function() {
  1391. return g.fn[be] = we, Be._jQueryInterface
  1392. };
  1393. var Ve = "popover",
  1394. Ye = "bs.popover",
  1395. ze = "." + Ye,
  1396. Xe = g.fn[Ve],
  1397. $e = "bs-popover",
  1398. Ge = new RegExp("(^|\\s)" + $e + "\\S+", "g"),
  1399. Je = l({}, Be.Default, {
  1400. placement: "right",
  1401. trigger: "click",
  1402. content: "",
  1403. template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
  1404. }),
  1405. Ze = l({}, Be.DefaultType, {
  1406. content: "(string|element|function)"
  1407. }),
  1408. tn = "fade",
  1409. en = "show",
  1410. nn = ".popover-header",
  1411. on = ".popover-body",
  1412. rn = {
  1413. HIDE: "hide" + ze,
  1414. HIDDEN: "hidden" + ze,
  1415. SHOW: "show" + ze,
  1416. SHOWN: "shown" + ze,
  1417. INSERTED: "inserted" + ze,
  1418. CLICK: "click" + ze,
  1419. FOCUSIN: "focusin" + ze,
  1420. FOCUSOUT: "focusout" + ze,
  1421. MOUSEENTER: "mouseenter" + ze,
  1422. MOUSELEAVE: "mouseleave" + ze
  1423. },
  1424. sn = function(t) {
  1425. var e, n;
  1426. function i() {
  1427. return t.apply(this, arguments) || this
  1428. }
  1429. n = t, (e = i).prototype = Object.create(n.prototype), (e.prototype.constructor = e).__proto__ = n;
  1430. var o = i.prototype;
  1431. return o.isWithContent = function() {
  1432. return this.getTitle() || this._getContent()
  1433. }, o.addAttachmentClass = function(t) {
  1434. g(this.getTipElement()).addClass($e + "-" + t)
  1435. }, o.getTipElement = function() {
  1436. return this.tip = this.tip || g(this.config.template)[0], this.tip
  1437. }, o.setContent = function() {
  1438. var t = g(this.getTipElement());
  1439. this.setElementContent(t.find(nn), this.getTitle());
  1440. var e = this._getContent();
  1441. "function" == typeof e && (e = e.call(this.element)), this.setElementContent(t.find(on), e), t.removeClass(tn + " " + en)
  1442. }, o._getContent = function() {
  1443. return this.element.getAttribute("data-content") || this.config.content
  1444. }, o._cleanTipClass = function() {
  1445. var t = g(this.getTipElement()),
  1446. e = t.attr("class").match(Ge);
  1447. null !== e && 0 < e.length && t.removeClass(e.join(""))
  1448. }, i._jQueryInterface = function(n) {
  1449. return this.each(function() {
  1450. var t = g(this).data(Ye),
  1451. e = "object" == typeof n ? n : null;
  1452. if((t || !/dispose|hide/.test(n)) && (t || (t = new i(this, e), g(this).data(Ye, t)), "string" == typeof n)) {
  1453. if("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
  1454. t[n]()
  1455. }
  1456. })
  1457. }, s(i, null, [{
  1458. key: "VERSION",
  1459. get: function() {
  1460. return "4.3.1"
  1461. }
  1462. }, {
  1463. key: "Default",
  1464. get: function() {
  1465. return Je
  1466. }
  1467. }, {
  1468. key: "NAME",
  1469. get: function() {
  1470. return Ve
  1471. }
  1472. }, {
  1473. key: "DATA_KEY",
  1474. get: function() {
  1475. return Ye
  1476. }
  1477. }, {
  1478. key: "Event",
  1479. get: function() {
  1480. return rn
  1481. }
  1482. }, {
  1483. key: "EVENT_KEY",
  1484. get: function() {
  1485. return ze
  1486. }
  1487. }, {
  1488. key: "DefaultType",
  1489. get: function() {
  1490. return Ze
  1491. }
  1492. }]), i
  1493. }(Be);
  1494. g.fn[Ve] = sn._jQueryInterface, g.fn[Ve].Constructor = sn, g.fn[Ve].noConflict = function() {
  1495. return g.fn[Ve] = Xe, sn._jQueryInterface
  1496. };
  1497. var an = "scrollspy",
  1498. ln = "bs.scrollspy",
  1499. cn = "." + ln,
  1500. hn = g.fn[an],
  1501. un = {
  1502. offset: 10,
  1503. method: "auto",
  1504. target: ""
  1505. },
  1506. fn = {
  1507. offset: "number",
  1508. method: "string",
  1509. target: "(string|element)"
  1510. },
  1511. dn = {
  1512. ACTIVATE: "activate" + cn,
  1513. SCROLL: "scroll" + cn,
  1514. LOAD_DATA_API: "load" + cn + ".data-api"
  1515. },
  1516. gn = "dropdown-item",
  1517. _n = "active",
  1518. mn = '[data-spy="scroll"]',
  1519. pn = ".nav, .list-group",
  1520. vn = ".nav-link",
  1521. yn = ".nav-item",
  1522. En = ".list-group-item",
  1523. Cn = ".dropdown",
  1524. Tn = ".dropdown-item",
  1525. Sn = ".dropdown-toggle",
  1526. bn = "offset",
  1527. In = "position",
  1528. Dn = function() {
  1529. function n(t, e) {
  1530. var n = this;
  1531. this._element = t, this._scrollElement = "BODY" === t.tagName ? window : t, this._config = this._getConfig(e), this._selector = this._config.target + " " + vn + "," + this._config.target + " " + En + "," + this._config.target + " " + Tn, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, g(this._scrollElement).on(dn.SCROLL, function(t) {
  1532. return n._process(t)
  1533. }), this.refresh(), this._process()
  1534. }
  1535. var t = n.prototype;
  1536. return t.refresh = function() {
  1537. var e = this,
  1538. t = this._scrollElement === this._scrollElement.window ? bn : In,
  1539. o = "auto" === this._config.method ? t : this._config.method,
  1540. r = o === In ? this._getScrollTop() : 0;
  1541. this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), [].slice.call(document.querySelectorAll(this._selector)).map(function(t) {
  1542. var e, n = _.getSelectorFromElement(t);
  1543. if(n && (e = document.querySelector(n)), e) {
  1544. var i = e.getBoundingClientRect();
  1545. if(i.width || i.height) return [g(e)[o]().top + r, n]
  1546. }
  1547. return null
  1548. }).filter(function(t) {
  1549. return t
  1550. }).sort(function(t, e) {
  1551. return t[0] - e[0]
  1552. }).forEach(function(t) {
  1553. e._offsets.push(t[0]), e._targets.push(t[1])
  1554. })
  1555. }, t.dispose = function() {
  1556. g.removeData(this._element, ln), g(this._scrollElement).off(cn), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
  1557. }, t._getConfig = function(t) {
  1558. if("string" != typeof(t = l({}, un, "object" == typeof t && t ? t : {})).target) {
  1559. var e = g(t.target).attr("id");
  1560. e || (e = _.getUID(an), g(t.target).attr("id", e)), t.target = "#" + e
  1561. }
  1562. return _.typeCheckConfig(an, t, fn), t
  1563. }, t._getScrollTop = function() {
  1564. return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
  1565. }, t._getScrollHeight = function() {
  1566. return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
  1567. }, t._getOffsetHeight = function() {
  1568. return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
  1569. }, t._process = function() {
  1570. var t = this._getScrollTop() + this._config.offset,
  1571. e = this._getScrollHeight(),
  1572. n = this._config.offset + e - this._getOffsetHeight();
  1573. if(this._scrollHeight !== e && this.refresh(), n <= t) {
  1574. var i = this._targets[this._targets.length - 1];
  1575. this._activeTarget !== i && this._activate(i)
  1576. } else {
  1577. if(this._activeTarget && t < this._offsets[0] && 0 < this._offsets[0]) return this._activeTarget = null, void this._clear();
  1578. for(var o = this._offsets.length; o--;) {
  1579. this._activeTarget !== this._targets[o] && t >= this._offsets[o] && ("undefined" == typeof this._offsets[o + 1] || t < this._offsets[o + 1]) && this._activate(this._targets[o])
  1580. }
  1581. }
  1582. }, t._activate = function(e) {
  1583. this._activeTarget = e, this._clear();
  1584. var t = this._selector.split(",").map(function(t) {
  1585. return t + '[data-target="' + e + '"],' + t + '[href="' + e + '"]'
  1586. }),
  1587. n = g([].slice.call(document.querySelectorAll(t.join(","))));
  1588. n.hasClass(gn) ? (n.closest(Cn).find(Sn).addClass(_n), n.addClass(_n)) : (n.addClass(_n), n.parents(pn).prev(vn + ", " + En).addClass(_n), n.parents(pn).prev(yn).children(vn).addClass(_n)), g(this._scrollElement).trigger(dn.ACTIVATE, {
  1589. relatedTarget: e
  1590. })
  1591. }, t._clear = function() {
  1592. [].slice.call(document.querySelectorAll(this._selector)).filter(function(t) {
  1593. return t.classList.contains(_n)
  1594. }).forEach(function(t) {
  1595. return t.classList.remove(_n)
  1596. })
  1597. }, n._jQueryInterface = function(e) {
  1598. return this.each(function() {
  1599. var t = g(this).data(ln);
  1600. if(t || (t = new n(this, "object" == typeof e && e), g(this).data(ln, t)), "string" == typeof e) {
  1601. if("undefined" == typeof t[e]) throw new TypeError('No method named "' + e + '"');
  1602. t[e]()
  1603. }
  1604. })
  1605. }, s(n, null, [{
  1606. key: "VERSION",
  1607. get: function() {
  1608. return "4.3.1"
  1609. }
  1610. }, {
  1611. key: "Default",
  1612. get: function() {
  1613. return un
  1614. }
  1615. }]), n
  1616. }();
  1617. g(window).on(dn.LOAD_DATA_API, function() {
  1618. for(var t = [].slice.call(document.querySelectorAll(mn)), e = t.length; e--;) {
  1619. var n = g(t[e]);
  1620. Dn._jQueryInterface.call(n, n.data())
  1621. }
  1622. }), g.fn[an] = Dn._jQueryInterface, g.fn[an].Constructor = Dn, g.fn[an].noConflict = function() {
  1623. return g.fn[an] = hn, Dn._jQueryInterface
  1624. };
  1625. var wn = "bs.tab",
  1626. An = "." + wn,
  1627. Nn = g.fn.tab,
  1628. On = {
  1629. HIDE: "hide" + An,
  1630. HIDDEN: "hidden" + An,
  1631. SHOW: "show" + An,
  1632. SHOWN: "shown" + An,
  1633. CLICK_DATA_API: "click" + An + ".data-api"
  1634. },
  1635. kn = "dropdown-menu",
  1636. Pn = "active",
  1637. Ln = "disabled",
  1638. jn = "fade",
  1639. Hn = "show",
  1640. Rn = ".dropdown",
  1641. xn = ".nav, .list-group",
  1642. Fn = ".active",
  1643. Un = "> li > .active",
  1644. Wn = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
  1645. qn = ".dropdown-toggle",
  1646. Mn = "> .dropdown-menu .active",
  1647. Kn = function() {
  1648. function i(t) {
  1649. this._element = t
  1650. }
  1651. var t = i.prototype;
  1652. return t.show = function() {
  1653. var n = this;
  1654. if(!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && g(this._element).hasClass(Pn) || g(this._element).hasClass(Ln))) {
  1655. var t, i, e = g(this._element).closest(xn)[0],
  1656. o = _.getSelectorFromElement(this._element);
  1657. if(e) {
  1658. var r = "UL" === e.nodeName || "OL" === e.nodeName ? Un : Fn;
  1659. i = (i = g.makeArray(g(e).find(r)))[i.length - 1]
  1660. }
  1661. var s = g.Event(On.HIDE, {
  1662. relatedTarget: this._element
  1663. }),
  1664. a = g.Event(On.SHOW, {
  1665. relatedTarget: i
  1666. });
  1667. if(i && g(i).trigger(s), g(this._element).trigger(a), !a.isDefaultPrevented() && !s.isDefaultPrevented()) {
  1668. o && (t = document.querySelector(o)), this._activate(this._element, e);
  1669. var l = function() {
  1670. var t = g.Event(On.HIDDEN, {
  1671. relatedTarget: n._element
  1672. }),
  1673. e = g.Event(On.SHOWN, {
  1674. relatedTarget: i
  1675. });
  1676. g(i).trigger(t), g(n._element).trigger(e)
  1677. };
  1678. t ? this._activate(t, t.parentNode, l) : l()
  1679. }
  1680. }
  1681. }, t.dispose = function() {
  1682. g.removeData(this._element, wn), this._element = null
  1683. }, t._activate = function(t, e, n) {
  1684. var i = this,
  1685. o = (!e || "UL" !== e.nodeName && "OL" !== e.nodeName ? g(e).children(Fn) : g(e).find(Un))[0],
  1686. r = n && o && g(o).hasClass(jn),
  1687. s = function() {
  1688. return i._transitionComplete(t, o, n)
  1689. };
  1690. if(o && r) {
  1691. var a = _.getTransitionDurationFromElement(o);
  1692. g(o).removeClass(Hn).one(_.TRANSITION_END, s).emulateTransitionEnd(a)
  1693. } else s()
  1694. }, t._transitionComplete = function(t, e, n) {
  1695. if(e) {
  1696. g(e).removeClass(Pn);
  1697. var i = g(e.parentNode).find(Mn)[0];
  1698. i && g(i).removeClass(Pn), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !1)
  1699. }
  1700. if(g(t).addClass(Pn), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), _.reflow(t), t.classList.contains(jn) && t.classList.add(Hn), t.parentNode && g(t.parentNode).hasClass(kn)) {
  1701. var o = g(t).closest(Rn)[0];
  1702. if(o) {
  1703. var r = [].slice.call(o.querySelectorAll(qn));
  1704. g(r).addClass(Pn)
  1705. }
  1706. t.setAttribute("aria-expanded", !0)
  1707. }
  1708. n && n()
  1709. }, i._jQueryInterface = function(n) {
  1710. return this.each(function() {
  1711. var t = g(this),
  1712. e = t.data(wn);
  1713. if(e || (e = new i(this), t.data(wn, e)), "string" == typeof n) {
  1714. if("undefined" == typeof e[n]) throw new TypeError('No method named "' + n + '"');
  1715. e[n]()
  1716. }
  1717. })
  1718. }, s(i, null, [{
  1719. key: "VERSION",
  1720. get: function() {
  1721. return "4.3.1"
  1722. }
  1723. }]), i
  1724. }();
  1725. g(document).on(On.CLICK_DATA_API, Wn, function(t) {
  1726. t.preventDefault(), Kn._jQueryInterface.call(g(this), "show")
  1727. }), g.fn.tab = Kn._jQueryInterface, g.fn.tab.Constructor = Kn, g.fn.tab.noConflict = function() {
  1728. return g.fn.tab = Nn, Kn._jQueryInterface
  1729. };
  1730. var Qn = "toast",
  1731. Bn = "bs.toast",
  1732. Vn = "." + Bn,
  1733. Yn = g.fn[Qn],
  1734. zn = {
  1735. CLICK_DISMISS: "click.dismiss" + Vn,
  1736. HIDE: "hide" + Vn,
  1737. HIDDEN: "hidden" + Vn,
  1738. SHOW: "show" + Vn,
  1739. SHOWN: "shown" + Vn
  1740. },
  1741. Xn = "fade",
  1742. $n = "hide",
  1743. Gn = "show",
  1744. Jn = "showing",
  1745. Zn = {
  1746. animation: "boolean",
  1747. autohide: "boolean",
  1748. delay: "number"
  1749. },
  1750. ti = {
  1751. animation: !0,
  1752. autohide: !0,
  1753. delay: 500
  1754. },
  1755. ei = '[data-dismiss="toast"]',
  1756. ni = function() {
  1757. function i(t, e) {
  1758. this._element = t, this._config = this._getConfig(e), this._timeout = null, this._setListeners()
  1759. }
  1760. var t = i.prototype;
  1761. return t.show = function() {
  1762. var t = this;
  1763. g(this._element).trigger(zn.SHOW), this._config.animation && this._element.classList.add(Xn);
  1764. var e = function() {
  1765. t._element.classList.remove(Jn), t._element.classList.add(Gn), g(t._element).trigger(zn.SHOWN), t._config.autohide && t.hide()
  1766. };
  1767. if(this._element.classList.remove($n), this._element.classList.add(Jn), this._config.animation) {
  1768. var n = _.getTransitionDurationFromElement(this._element);
  1769. g(this._element).one(_.TRANSITION_END, e).emulateTransitionEnd(n)
  1770. } else e()
  1771. }, t.hide = function(t) {
  1772. var e = this;
  1773. this._element.classList.contains(Gn) && (g(this._element).trigger(zn.HIDE), t ? this._close() : this._timeout = setTimeout(function() {
  1774. e._close()
  1775. }, this._config.delay))
  1776. }, t.dispose = function() {
  1777. clearTimeout(this._timeout), this._timeout = null, this._element.classList.contains(Gn) && this._element.classList.remove(Gn), g(this._element).off(zn.CLICK_DISMISS), g.removeData(this._element, Bn), this._element = null, this._config = null
  1778. }, t._getConfig = function(t) {
  1779. return t = l({}, ti, g(this._element).data(), "object" == typeof t && t ? t : {}), _.typeCheckConfig(Qn, t, this.constructor.DefaultType), t
  1780. }, t._setListeners = function() {
  1781. var t = this;
  1782. g(this._element).on(zn.CLICK_DISMISS, ei, function() {
  1783. return t.hide(!0)
  1784. })
  1785. }, t._close = function() {
  1786. var t = this,
  1787. e = function() {
  1788. t._element.classList.add($n), g(t._element).trigger(zn.HIDDEN)
  1789. };
  1790. if(this._element.classList.remove(Gn), this._config.animation) {
  1791. var n = _.getTransitionDurationFromElement(this._element);
  1792. g(this._element).one(_.TRANSITION_END, e).emulateTransitionEnd(n)
  1793. } else e()
  1794. }, i._jQueryInterface = function(n) {
  1795. return this.each(function() {
  1796. var t = g(this),
  1797. e = t.data(Bn);
  1798. if(e || (e = new i(this, "object" == typeof n && n), t.data(Bn, e)), "string" == typeof n) {
  1799. if("undefined" == typeof e[n]) throw new TypeError('No method named "' + n + '"');
  1800. e[n](this)
  1801. }
  1802. })
  1803. }, s(i, null, [{
  1804. key: "VERSION",
  1805. get: function() {
  1806. return "4.3.1"
  1807. }
  1808. }, {
  1809. key: "DefaultType",
  1810. get: function() {
  1811. return Zn
  1812. }
  1813. }, {
  1814. key: "Default",
  1815. get: function() {
  1816. return ti
  1817. }
  1818. }]), i
  1819. }();
  1820. g.fn[Qn] = ni._jQueryInterface, g.fn[Qn].Constructor = ni, g.fn[Qn].noConflict = function() {
  1821. return g.fn[Qn] = Yn, ni._jQueryInterface
  1822. },
  1823. function() {
  1824. if("undefined" == typeof g) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");
  1825. var t = g.fn.jquery.split(" ")[0].split(".");
  1826. if(t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || 4 <= t[0]) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")
  1827. }(), t.Util = _, t.Alert = p, t.Button = P, t.Carousel = lt, t.Collapse = bt, t.Dropdown = Jt, t.Modal = ve, t.Popover = sn, t.Scrollspy = Dn, t.Tab = Kn, t.Toast = ni, t.Tooltip = Be, Object.defineProperty(t, "__esModule", {
  1828. value: !0
  1829. })
  1830. });
  1831. //# sourceMappingURL=bootstrap.min.js.map