Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Bootstrap
bootstrap
Commits
f97dd5af
Commit
f97dd5af
authored
11 years ago
by
fat
Browse files
Options
Download
Email Patches
Plain Diff
rebuild doe
parent
13cad506
main
cleanup-floating-forms
cssvar-function
dependabot/npm_and_yarn/stylelint-and-stylelint-config-twbs-bootstrap-15.3.0
extend-snippets
feat/data-target
floating-always-visible
floating-labels-icons
fod-main-banner
form-controls-with-icons
gh-pages
gh-pages-530-alpha2
github/fork/719media/patch-13
github/fork/719media/patch-14
github/fork/719media/patch-9
github/fork/ChellyAhmed/fix-typo-reboot.md
github/fork/ChellyAhmed/offcanvas-scroll-back
github/fork/CtrlAltLilith/main
github/fork/Elysiome/offcanvas-optional-window-resizing
github/fork/JanSargsyan/main
github/fork/LunicLynx/support-different-line-height-for-buttons
github/fork/Psixodelik/main
github/fork/Ronid1/ronid1/offcanvas_static_backdrop
github/fork/RyanBerliner/tooltip-accessibility
github/fork/SantiagoPVazquez/Feature-default-border-bottom-to-dropdown-item
github/fork/Sir-Genius/utils
github/fork/Sumit-Singh-8/main
github/fork/Viktor-VERA2020/offcanvas-slide
github/fork/Zivangu9/input-group-for-form-control-plaintext
github/fork/alpadev/alpadev/call-dispose-on-component-reinstantiation
github/fork/astagi/fix/tree-shake-modules
github/fork/compnerd/dark-accordion-icon
github/fork/derSascha/dropdown-dont-close-on-input-click
github/fork/dev-ph1l/main
github/fork/donquixote/issue-33861-utl-mixin
github/fork/florianlacreuse/mixin-make-row-gutter-y
github/fork/gregorw/main
github/fork/iteggmbh/transitionend-dispose-race
github/fork/jdelStrother/patch-1
github/fork/jonnysp/form-floating
github/fork/jonnysp/independent-offcanvas
github/fork/jonnysp/theme-dark-on-card-and-modal-fix
github/fork/josefdlange/floating-label-placeholder-opacity
github/fork/julien-deramond/enhance-change-version.js
github/fork/julien-deramond/main-jd-fix-offset-content
github/fork/julien-deramond/main-jd-issue-with-utitlies
github/fork/julien-deramond/main-xmr-pa11y-ci-jd-add-hideElements
github/fork/kyletsang/fix-tooltip-padding
github/fork/lacutah/CheckboxCenteringDocumentation
github/fork/lekoala/patch-3
github/fork/louismaximepiton/main-kld-lmp-collapse-proposal
github/fork/louismaximepiton/main-lmp-card-inner-border-radius-fix
github/fork/louismaximepiton/main-lmp-carousel-multiple-images
github/fork/louismaximepiton/main-lmp-css-var-init
github/fork/louismaximepiton/main-lmp-disabled-floating-label-fix
github/fork/louismaximepiton/main-lmp-input-range-fix
github/fork/louismaximepiton/main-lmp-shift-color
github/fork/louismaximepiton/main-lmp-table-active-tr-fix
github/fork/maciek-szn/switch
github/fork/michael-roth/feature/19964-multiple-tab-targets
github/fork/mistic100/dom-utils
github/fork/nkdas91/accordion
github/fork/nstungcom/fix-missing-modal-open-class
github/fork/oraliahdz/animation-utilities
github/fork/pine3ree/patch-7
github/fork/pouwerkerk/unindent-scss-docs-shortcode
github/fork/smares/smares-no-scolling-on-modal-close
github/fork/tgm-git/patch-1
gs-forms
gs-toasts-with-animated-progress-bar
gs/add-history-helper
gs/change-version-dir-on-docs
gs/data-must-set-onlu-one-instance
gs/docs/fix-drop-down-error
gs/event-handler-2
gs/make-docs-js-build
gs/make-simple-attribute-toggler
gs/popover-fix-doc
gs/provide-steConfig-method
gs/scrollspy-smoothscroll-option-use-browser-history
gs/streamline-jqueryInterface
gs/support-drop-down-in-navbar
gs/test-js-generic-trigger
gs/try-web-components
gs/tweak-collapse-js-selector
gs/use-event-handler-in-cocmponent
gs/use-rollup-replace-for-version
jo-docs-thanks-page
jo-ssr-friendly
logical-props-spacing-utils
main-fod-disabled-form-check-label
main-fod-nested-accordion
main-fod-simpler-table-structure
main-fod-table-separator
main-fod-utilities-contrast
main-jd-abbr-title
main-jd-add-chips
main-jd-add-doc-for-sass-custom-colors
main-jd-add-enable-host-to-handle-web-components
main-jd-browserstack-fine-tune
main-jd-browserstack-updates
main-jd-docs-consistent-usage-of-css-sections-step-2
main-jd-fix-docs-headers-in-white
main-jd-fix-highlight-docs-border-radius
main-jd-fix-placeholder-color-background-params-for-img-markup
main-jd-glossary-experiment
main-jd-postcss-drop-empty-css-vars
main-jd-proto-doc-astro
main-jd-skip-navigation-component
main-jd-stackblitz-for-examples
main-jd-upgrade-browserlistrc
main-jd-use-host
main-lmp-dark-theme-customization
main-lmp-handle-scroll-target
main-lmp-tab-fix
main-mc-opensearch
main-xmr-bundlewatch-action
main-xmr-eslint-plugin-compat
main-xmr-hugo-docs-vendor
main-xmr-hugo-rm-ver
main-xmr-linkinator-prod
main-xmr-min-mangle
main-xmr-pa11y-ci
more-darkmode-examples
nested-dropdowns
patrickhlauke-issue37428
patrickhlauke-use-of-color-tweaks
pr/34102
pr/37590
previous-next-docs-links
sticky-thead
utilities-functions-mixin
v3-dev
v4-dev
v4-dev-dropdown-hide-method
v530-dev
v6-postcss-custom-media
v6-spinner-dots
v6/gs/use-floating-ui-in-place-of-popper
xmr/dev
xmr/docs-png
xmr/docs-svgs
xmr/hugo-reorg-files
xmr/js-2
xmr/markdownlint
xmr/prepare-530-alpha2
xmr/xo
v5.3.0-alpha1
v5.2.3
v5.2.2
v5.2.1
v5.2.0
v5.2.0-beta1
v5.1.3
v5.1.2
v5.1.1
v5.1.0
v5.0.2
v5.0.1
v5.0.0
v5.0.0-beta3
v5.0.0-beta2
v5.0.0-beta1
v5.0.0-alpha3
v5.0.0-alpha2
v5.0.0-alpha1
v4.6.2
v4.6.1
v4.6.0
v4.5.3
v4.5.2
v4.5.1
v4.5.0
v4.4.1
v4.4.0
v4.3.1
v4.3.0
v4.2.1
v4.2.0
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.0
v4.0.0-beta.3
v4.0.0-beta.2
v4.0.0-beta
v4.0.0-alpha.6
v4.0.0-alpha.5
v4.0.0-alpha.4
v4.0.0-alpha.3
v4.0.0-alpha.2
v4.0.0-alpha
v3.4.1
v3.4.0
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.2
v3.3.1
v3.3.0
v3.2.0
v3.1.1
v3.1.0
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.2
v3.0.0-rc1
3 merge requests
!8635
ignore Gruntfile.js in jekyll
,
!8656
Added rel="stylesheet" to CDN-Examples
,
!8527
Inner properties move 1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
docs/assets/js/bootstrap.js
+13
-8
docs/assets/js/bootstrap.js
docs/assets/js/bootstrap.min.js
+1
-1
docs/assets/js/bootstrap.min.js
with
14 additions
and
9 deletions
+14
-9
docs/assets/js/bootstrap.js
+
13
-
8
View file @
f97dd5af
...
...
@@ -502,6 +502,10 @@
Collapse
.
prototype
.
show
=
function
()
{
if
(
this
.
transitioning
||
this
.
$element
.
hasClass
(
'
in
'
))
return
var
startEvent
=
$
.
Event
(
'
show.bs.collapse
'
)
this
.
$element
.
trigger
(
startEvent
)
if
(
startEvent
.
isDefaultPrevented
())
return
var
dimension
=
this
.
dimension
()
var
scroll
=
$
.
camelCase
([
'
scroll
'
,
dimension
].
join
(
'
-
'
))
var
actives
=
this
.
$parent
&&
this
.
$parent
.
find
(
'
> .accordion-group > .in
'
)
...
...
@@ -514,16 +518,21 @@
}
this
.
$element
[
dimension
](
0
)
this
.
transition
(
'
addClass
'
,
$
.
Event
(
'
show.bs.collapse
'
),
'
shown.bs.collapse
'
)
this
.
transition
(
'
addClass
'
,
'
shown.bs.collapse
'
)
if
(
$
.
support
.
transition
)
this
.
$element
[
dimension
](
this
.
$element
[
0
][
scroll
])
}
Collapse
.
prototype
.
hide
=
function
()
{
if
(
this
.
transitioning
||
!
this
.
$element
.
hasClass
(
'
in
'
))
return
var
startEvent
=
$
.
Event
(
'
hide.bs.collapse
'
)
this
.
$element
.
trigger
(
startEvent
)
if
(
startEvent
.
isDefaultPrevented
())
return
var
dimension
=
this
.
dimension
()
this
.
reset
(
this
.
$element
[
dimension
]())
this
.
transition
(
'
removeClass
'
,
$
.
Event
(
'
hide.bs.collapse
'
),
'
hidden
'
)
this
.
transition
(
'
removeClass
'
,
'
shown.bs.
hidden
'
)
this
.
$element
[
dimension
](
0
)
}
...
...
@@ -540,18 +549,14 @@
return
this
}
Collapse
.
prototype
.
transition
=
function
(
method
,
startEvent
,
completeEvent
)
{
Collapse
.
prototype
.
transition
=
function
(
method
,
completeEvent
)
{
var
that
=
this
var
complete
=
function
()
{
if
(
startEvent
.
type
==
'
show
'
)
that
.
reset
()
if
(
completeEvent
==
'
shown.bs.collapse
'
)
that
.
reset
()
that
.
transitioning
=
0
that
.
$element
.
trigger
(
completeEvent
)
}
this
.
$element
.
trigger
(
startEvent
)
if
(
startEvent
.
isDefaultPrevented
())
return
this
.
transitioning
=
1
this
.
$element
[
method
](
'
in
'
)
...
...
This diff is collapsed.
Click to expand it.
docs/assets/js/bootstrap.min.js
+
1
-
1
View file @
f97dd5af
...
...
@@ -3,4 +3,4 @@
* Copyright 2012 Twitter, Inc.
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
+
function
(
e
){
"
use strict
"
;
function
t
(){
var
e
=
document
.
createElement
(
"
bootstrap
"
),
t
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
n
in
t
)
if
(
e
.
style
[
n
]
!==
undefined
)
return
{
end
:
t
[
n
]}}
e
(
function
(){
e
.
support
.
transition
=
t
()})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
'
[data-dismiss="alert"]
'
,
n
=
function
(
n
){
e
(
n
).
on
(
"
click
"
,
t
,
this
.
close
)};
n
.
prototype
.
close
=
function
(
t
){
function
s
(){
i
.
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
n
=
e
(
this
),
r
=
n
.
attr
(
"
data-target
"
);
r
||
(
r
=
n
.
attr
(
"
href
"
),
r
=
r
&&
r
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
i
=
e
(
r
);
t
&&
t
.
preventDefault
(),
i
.
length
||
(
i
=
n
.
hasClass
(
"
alert
"
)?
n
:
n
.
parent
()),
i
.
trigger
(
t
=
e
.
Event
(
"
close.bs.alert
"
));
if
(
t
.
isDefaultPrevented
())
return
;
i
.
removeClass
(
"
in
"
),
e
.
support
.
transition
&&
i
.
hasClass
(
"
fade
"
)?
i
.
on
(
e
.
support
.
transition
.
end
,
s
):
s
()};
var
r
=
e
.
fn
.
alert
;
e
.
fn
.
alert
=
function
(
t
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.alert
"
);
i
||
r
.
data
(
"
bs.alert
"
,
i
=
new
n
(
this
)),
typeof
t
==
"
string
"
&&
i
[
t
].
call
(
r
)})},
e
.
fn
.
alert
.
Constructor
=
n
,
e
.
fn
.
alert
.
noConflict
=
function
(){
return
e
.
fn
.
alert
=
r
,
this
},
e
(
document
).
on
(
"
click.bs.alert.data-api
"
,
t
,
n
.
prototype
.
close
)}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
n
,
r
){
this
.
$element
=
e
(
n
),
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
)};
t
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
t
.
prototype
.
setState
=
function
(
e
){
var
t
=
"
disabled
"
,
n
=
this
.
$element
,
r
=
n
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
i
=
n
.
data
();
e
+=
"
Text
"
,
i
.
resetText
||
n
.
data
(
"
resetText
"
,
n
[
r
]()),
n
[
r
](
i
[
e
]
||
this
.
options
[
e
]),
setTimeout
(
function
(){
e
==
"
loadingText
"
?
n
.
addClass
(
t
).
attr
(
t
,
t
):
n
.
removeClass
(
t
).
removeAttr
(
t
)},
0
)},
t
.
prototype
.
toggle
=
function
(){
var
e
=
this
.
$element
.
closest
(
'
[data-toggle="buttons-radio"]
'
);
e
&&
e
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
toggleClass
(
"
active
"
)};
var
n
=
e
.
fn
.
button
;
e
.
fn
.
button
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
button
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.button
"
,
i
=
new
t
(
this
,
s
)),
n
==
"
toggle
"
?
i
.
toggle
():
n
&&
i
.
setState
(
n
)})},
e
.
fn
.
button
.
Constructor
=
t
,
e
.
fn
.
button
.
noConflict
=
function
(){
return
e
.
fn
.
button
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
t
){
var
n
=
e
(
t
.
target
);
n
.
hasClass
(
"
btn
"
)
||
(
n
=
n
.
closest
(
"
.btn
"
)),
n
.
button
(
"
toggle
"
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
t
,
n
){
this
.
$element
=
e
(
t
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
n
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
this
.
options
.
pause
==
"
hover
"
&&
this
.
$element
.
on
(
"
mouseenter
"
,
e
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
e
.
proxy
(
this
.
cycle
,
this
))};
t
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
},
t
.
prototype
.
cycle
=
function
(
t
){
return
t
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
e
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
t
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(),
this
.
$items
.
index
(
this
.
$active
)},
t
.
prototype
.
to
=
function
(
t
){
var
n
=
this
,
r
=
this
.
getActiveIndex
();
if
(
t
>
this
.
$items
.
length
-
1
||
t
<
0
)
return
;
return
this
.
sliding
?
this
.
$element
.
one
(
"
slid
"
,
function
(){
n
.
to
(
t
)}):
r
==
t
?
this
.
pause
().
cycle
():
this
.
slide
(
t
>
r
?
"
next
"
:
"
prev
"
,
e
(
this
.
$items
[
t
]))},
t
.
prototype
.
pause
=
function
(
t
){
return
t
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
e
.
support
.
transition
.
end
&&
(
this
.
$element
.
trigger
(
e
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
t
.
prototype
.
next
=
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
next
"
)},
t
.
prototype
.
prev
=
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
prev
"
)},
t
.
prototype
.
slide
=
function
(
t
,
n
){
var
r
=
this
.
$element
.
find
(
"
.item.active
"
),
i
=
n
||
r
[
t
](),
s
=
this
.
interval
,
o
=
t
==
"
next
"
?
"
left
"
:
"
right
"
,
u
=
t
==
"
next
"
?
"
first
"
:
"
last
"
,
a
=
this
;
this
.
sliding
=!
0
,
s
&&
this
.
pause
(),
i
=
i
.
length
?
i
:
this
.
$element
.
find
(
"
.item
"
)[
u
]();
var
f
=
e
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
i
[
0
],
direction
:
o
});
if
(
i
.
hasClass
(
"
active
"
))
return
;
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
one
(
"
slid
"
,
function
(){
var
t
=
e
(
a
.
$indicators
.
children
()[
a
.
getActiveIndex
()]);
t
&&
t
.
addClass
(
"
active
"
)}));
if
(
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)){
this
.
$element
.
trigger
(
f
);
if
(
f
.
isDefaultPrevented
())
return
;
i
.
addClass
(
t
),
i
[
0
].
offsetWidth
,
r
.
addClass
(
o
),
i
.
addClass
(
o
),
this
.
$element
.
one
(
e
.
support
.
transition
.
end
,
function
(){
i
.
removeClass
([
t
,
o
].
join
(
"
"
)).
addClass
(
"
active
"
),
r
.
removeClass
([
"
active
"
,
o
].
join
(
"
"
)),
a
.
sliding
=!
1
,
setTimeout
(
function
(){
a
.
$element
.
trigger
(
"
slid
"
)},
0
)})}
else
{
this
.
$element
.
trigger
(
f
);
if
(
f
.
isDefaultPrevented
())
return
;
r
.
removeClass
(
"
active
"
),
i
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid
"
)}
return
s
&&
this
.
cycle
(),
this
};
var
n
=
e
.
fn
.
carousel
;
e
.
fn
.
carousel
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.carousel
"
),
s
=
e
.
extend
({},
t
.
DEFAULTS
,
typeof
n
==
"
object
"
&&
n
),
o
=
typeof
n
==
"
string
"
?
n
:
s
.
slide
;
i
||
r
.
data
(
"
bs.carousel
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
number
"
?
i
.
to
(
n
):
o
?
i
[
o
]():
s
.
interval
&&
i
.
pause
().
cycle
()})},
e
.
fn
.
carousel
.
Constructor
=
t
,
e
.
fn
.
carousel
.
noConflict
=
function
(){
return
e
.
fn
.
carousel
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide], [data-slide-to]
"
,
function
(
t
){
var
n
=
e
(
this
),
r
,
i
=
e
(
n
.
attr
(
"
data-target
"
)
||
(
r
=
n
.
attr
(
"
href
"
))
&&
r
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
s
=
e
.
extend
({},
i
.
data
(),
n
.
data
()),
o
;
i
.
carousel
(
s
),(
o
=
n
.
attr
(
"
data-slide-to
"
))
&&
i
.
data
(
"
bs.carousel
"
).
pause
().
to
(
o
).
cycle
(),
t
.
preventDefault
()}),
e
(
window
).
on
(
"
load
"
,
function
(){
e
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
t
=
e
(
this
);
t
.
carousel
(
t
.
data
())})})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
n
,
r
){
this
.
$element
=
e
(
n
),
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
e
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
t
.
DEFAULTS
=
{
toggle
:
!
0
},
t
.
prototype
.
dimension
=
function
(){
var
e
=
this
.
$element
.
hasClass
(
"
width
"
);
return
e
?
"
width
"
:
"
height
"
},
t
.
prototype
.
show
=
function
(){
if
(
this
.
transitioning
||
this
.
$element
.
hasClass
(
"
in
"
))
return
;
var
t
=
this
.
dimension
(),
n
=
e
.
camelCase
([
"
scroll
"
,
t
].
join
(
"
-
"
)),
r
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .accordion-group > .in
"
);
if
(
r
&&
r
.
length
){
var
i
=
r
.
data
(
"
collapse
"
);
if
(
i
&&
i
.
transitioning
)
return
;
r
.
collapse
(
"
hide
"
),
i
||
r
.
data
(
"
collapse
"
,
null
)}
this
.
$element
[
t
](
0
),
this
.
transition
(
"
addClass
"
,
e
.
Event
(
"
show.bs.collapse
"
),
"
shown.bs.collapse
"
),
e
.
support
.
transition
&&
this
.
$element
[
t
](
this
.
$element
[
0
][
n
])},
t
.
prototype
.
hide
=
function
(){
if
(
this
.
transitioning
||!
this
.
$element
.
hasClass
(
"
in
"
))
return
;
var
t
=
this
.
dimension
();
this
.
reset
(
this
.
$element
[
t
]()),
this
.
transition
(
"
removeClass
"
,
e
.
Event
(
"
hide.bs.collapse
"
),
"
hidden
"
),
this
.
$element
[
t
](
0
)},
t
.
prototype
.
reset
=
function
(
e
){
var
t
=
this
.
dimension
();
return
this
.
$element
.
removeClass
(
"
collapse
"
)[
t
](
e
||
"
auto
"
)[
0
].
offsetWidth
,
this
.
$element
[
e
!=
null
?
"
addClass
"
:
"
removeClass
"
](
"
collapse
"
),
this
},
t
.
prototype
.
transition
=
function
(
t
,
n
,
r
){
var
i
=
this
,
s
=
function
(){
n
.
type
==
"
show
"
&&
i
.
reset
(),
i
.
transitioning
=
0
,
i
.
$element
.
trigger
(
r
)};
this
.
$element
.
trigger
(
n
);
if
(
n
.
isDefaultPrevented
())
return
;
this
.
transitioning
=
1
,
this
.
$element
[
t
](
"
in
"
),
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
collapse
"
)?
this
.
$element
.
one
(
e
.
support
.
transition
.
end
,
s
):
s
()},
t
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()};
var
n
=
e
.
fn
.
collapse
;
e
.
fn
.
collapse
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
collapse
"
),
s
=
e
.
extend
({},
t
.
DEFAULTS
,
r
.
data
(),
typeof
n
==
"
object
"
&&
n
);
i
||
r
.
data
(
"
collapse
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
collapse
.
Constructor
=
t
,
e
.
fn
.
collapse
.
noConflict
=
function
(){
return
e
.
fn
.
collapse
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
"
[data-toggle=collapse]
"
,
function
(
t
){
var
n
=
e
(
this
),
r
,
i
=
n
.
attr
(
"
data-target
"
)
||
t
.
preventDefault
()
||
(
r
=
n
.
attr
(
"
href
"
))
&&
r
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
s
=
e
(
i
).
data
(
"
collapse
"
)?
"
toggle
"
:
n
.
data
(),
o
=
n
.
attr
(
"
data-parent
"
),
u
=
o
&&
e
(
o
);
u
&&
u
.
find
(
"
[data-toggle=collapse][data-parent=
"
+
o
+
"
]
"
).
not
(
n
).
addClass
(
"
collapsed
"
),
n
[
e
(
i
).
hasClass
(
"
in
"
)?
"
addClass
"
:
"
removeClass
"
](
"
collapsed
"
),
e
(
i
).
collapse
(
s
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
function
i
(){
e
(
t
).
remove
(),
e
(
n
).
each
(
function
(
t
){
var
n
=
s
(
e
(
this
));
if
(
!
n
.
hasClass
(
"
open
"
))
return
;
n
.
trigger
(
t
=
e
.
Event
(
"
hide.bs.dropdown
"
));
if
(
t
.
isDefaultPrevented
())
return
;
n
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
)})}
function
s
(
t
){
var
n
=
t
.
attr
(
"
data-target
"
);
n
||
(
n
=
t
.
attr
(
"
href
"
),
n
=
n
&&
/#/
.
test
(
n
)
&&
n
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
r
=
n
&&
e
(
n
);
return
r
&&
r
.
length
?
r
:
t
.
parent
()}
var
t
=
"
.dropdown-backdrop
"
,
n
=
"
[data-toggle=dropdown]
"
,
r
=
function
(
t
){
var
n
=
e
(
t
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
r
.
prototype
.
toggle
=
function
(
t
){
var
n
=
e
(
this
);
if
(
n
.
is
(
"
.disabled, :disabled
"
))
return
;
var
r
=
s
(
n
),
o
=
r
.
hasClass
(
"
open
"
);
i
();
if
(
!
o
){
"
ontouchstart
"
in
document
.
documentElement
&&
e
(
'
<div class="dropdown-backdrop"/>
'
).
insertBefore
(
e
(
this
)).
on
(
"
click
"
,
i
),
r
.
trigger
(
t
=
e
.
Event
(
"
show.bs.dropdown
"
));
if
(
t
.
isDefaultPrevented
())
return
;
r
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
)}
return
n
.
focus
(),
!
1
},
r
.
prototype
.
keydown
=
function
(
t
){
if
(
!
/
(
38|40|27
)
/
.
test
(
t
.
keyCode
))
return
;
var
r
=
e
(
this
);
t
.
preventDefault
(),
t
.
stopPropagation
();
if
(
r
.
is
(
"
.disabled, :disabled
"
))
return
;
var
i
=
s
(
r
),
o
=
i
.
hasClass
(
"
open
"
);
if
(
!
o
||
o
&&
t
.
keyCode
==
27
)
return
t
.
which
==
27
&&
i
.
find
(
n
).
focus
(),
r
.
click
();
var
u
=
e
(
"
[role=menu] li:not(.divider):visible a
"
,
i
);
if
(
!
u
.
length
)
return
;
var
a
=
u
.
index
(
u
.
filter
(
"
:focus
"
));
t
.
keyCode
==
38
&&
a
>
0
&&
a
--
,
t
.
keyCode
==
40
&&
a
<
u
.
length
-
1
&&
a
++
,
~
a
||
(
a
=
0
),
u
.
eq
(
a
).
focus
()};
var
o
=
e
.
fn
.
dropdown
;
e
.
fn
.
dropdown
=
function
(
t
){
return
this
.
each
(
function
(){
var
n
=
e
(
this
),
i
=
n
.
data
(
"
dropdown
"
);
i
||
n
.
data
(
"
dropdown
"
,
i
=
new
r
(
this
)),
typeof
t
==
"
string
"
&&
i
[
t
].
call
(
n
)})},
e
.
fn
.
dropdown
.
Constructor
=
r
,
e
.
fn
.
dropdown
.
noConflict
=
function
(){
return
e
.
fn
.
dropdown
=
o
,
this
},
e
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
i
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
e
){
e
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
n
,
r
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
n
+
"
, [role=menu]
"
,
r
.
prototype
.
keydown
)}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
t
,
n
){
this
.
options
=
n
,
this
.
$element
=
e
(
t
).
delegate
(
'
[data-dismiss="modal"]
'
,
"
click.dismiss.modal
"
,
e
.
proxy
(
this
.
hide
,
this
)),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-body
"
).
load
(
this
.
options
.
remote
)};
t
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
t
.
prototype
.
toggle
=
function
(){
return
this
[
this
.
isShown
?
"
hide
"
:
"
show
"
]()},
t
.
prototype
.
show
=
function
(){
var
t
=
this
,
n
=
e
.
Event
(
"
show.bs.modal
"
);
this
.
$element
.
trigger
(
n
);
if
(
this
.
isShown
||
n
.
isDefaultPrevented
())
return
;
this
.
isShown
=!
0
,
this
.
escape
(),
this
.
backdrop
(
function
(){
var
n
=
e
.
support
.
transition
&&
t
.
$element
.
hasClass
(
"
fade
"
);
t
.
$element
.
parent
().
length
||
t
.
$element
.
appendTo
(
document
.
body
),
t
.
$element
.
show
(),
n
&&
t
.
$element
[
0
].
offsetWidth
,
t
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
t
.
enforceFocus
(),
n
?
t
.
$element
.
one
(
e
.
support
.
transition
.
end
,
function
(){
t
.
$element
.
focus
().
trigger
(
"
shown.bs.modal
"
)}):
t
.
$element
.
focus
().
trigger
(
"
shown.bs.modal
"
)})},
t
.
prototype
.
hide
=
function
(
t
){
t
&&
t
.
preventDefault
(),
t
=
e
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
t
);
if
(
!
this
.
isShown
||
t
.
isDefaultPrevented
())
return
;
this
.
isShown
=!
1
,
this
.
escape
(),
e
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
),
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
hideWithTransition
():
this
.
hideModal
()},
t
.
prototype
.
enforceFocus
=
function
(){
e
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
e
.
proxy
(
function
(
e
){
this
.
$element
[
0
]
!==
e
.
target
&&!
this
.
$element
.
has
(
e
.
target
).
length
&&
this
.
$element
.
focus
()},
this
))},
t
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keyup.dismiss.bs.modal
"
,
e
.
proxy
(
function
(
e
){
e
.
which
==
27
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keyup.dismiss.bs.modal
"
)},
t
.
prototype
.
hideWithTransition
=
function
(){
var
t
=
this
,
n
=
setTimeout
(
function
(){
t
.
$element
.
off
(
e
.
support
.
transition
.
end
),
t
.
hideModal
()},
500
);
this
.
$element
.
one
(
e
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
n
),
t
.
hideModal
()})},
t
.
prototype
.
hideModal
=
function
(){
var
e
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
e
.
removeBackdrop
(),
e
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
t
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
t
.
prototype
.
backdrop
=
function
(
t
){
var
n
=
this
,
r
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
i
=
e
.
support
.
transition
&&
r
;
this
.
$backdrop
=
e
(
'
<div class="modal-backdrop
'
+
r
+
'
" />
'
).
appendTo
(
document
.
body
),
this
.
$backdrop
.
click
(
this
.
options
.
backdrop
==
"
static
"
?
e
.
proxy
(
this
.
$element
[
0
].
focus
,
this
.
$element
[
0
]):
e
.
proxy
(
this
.
hide
,
this
)),
i
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
);
if
(
!
t
)
return
;
i
?
this
.
$backdrop
.
one
(
e
.
support
.
transition
.
end
,
t
):
t
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
e
.
support
.
transition
.
end
,
t
):
t
()):
t
&&
t
()};
var
n
=
e
.
fn
.
modal
;
e
.
fn
.
modal
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.modal
"
),
s
=
e
.
extend
({},
t
.
DEFAULTS
,
r
.
data
(),
typeof
n
==
"
object
"
&&
n
);
i
||
r
.
data
(
"
bs.modal
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
?
i
[
n
]():
s
.
show
&&
i
.
show
()})},
e
.
fn
.
modal
.
Constructor
=
t
,
e
.
fn
.
modal
.
noConflict
=
function
(){
return
e
.
fn
.
modal
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
t
){
var
n
=
e
(
this
),
r
=
n
.
attr
(
"
href
"
),
i
=
e
(
n
.
attr
(
"
data-target
"
)
||
r
&&
r
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
s
=
i
.
data
(
"
modal
"
)?
"
toggle
"
:
e
.
extend
({
remote
:
!
/#/
.
test
(
r
)
&&
r
},
i
.
data
(),
n
.
data
());
t
.
preventDefault
(),
i
.
modal
(
s
).
one
(
"
hide
"
,
function
(){
n
.
focus
()})});
var
r
=
e
(
document
.
body
).
on
(
"
bs.modal.shown
"
,
"
.modal
"
,
function
(){
r
.
addClass
(
"
modal-open
"
)}).
on
(
"
bs.modal.hidden
"
,
"
.modal
"
,
function
(){
r
.
removeClass
(
"
modal-open
"
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
e
,
t
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
e
,
t
)};
t
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
},
t
.
prototype
.
init
=
function
(
t
,
n
,
r
){
this
.
enabled
=!
0
,
this
.
type
=
t
,
this
.
$element
=
e
(
n
),
this
.
options
=
this
.
getOptions
(
r
);
var
i
=
this
.
options
.
trigger
.
split
(
"
"
);
for
(
var
s
=
i
.
length
;
s
--
;){
var
o
=
i
[
s
];
if
(
o
==
"
click
"
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
e
.
proxy
(
this
.
toggle
,
this
));
else
if
(
o
!=
"
manual
"
){
var
u
=
o
==
"
hover
"
?
"
mouseenter
"
:
"
focus
"
,
a
=
o
==
"
hover
"
?
"
mouseleave
"
:
"
blur
"
;
this
.
$element
.
on
(
u
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
e
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
a
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
e
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
e
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
t
.
prototype
.
getDefaults
=
function
(){
return
t
.
DEFAULTS
},
t
.
prototype
.
getOptions
=
function
(
t
){
return
t
=
e
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
t
),
t
.
delay
&&
typeof
t
.
delay
==
"
number
"
&&
(
t
.
delay
=
{
show
:
t
.
delay
,
hide
:
t
.
delay
}),
t
},
t
.
prototype
.
enter
=
function
(
t
){
var
n
=
this
.
getDefaults
(),
r
=
{};
this
.
_options
&&
e
.
each
(
this
.
_options
,
function
(
e
,
t
){
n
[
e
]
!=
t
&&
(
r
[
e
]
=
t
)});
var
i
=
t
instanceof
this
.
constructor
?
t
:
e
(
t
.
currentTarget
)[
this
.
type
](
r
).
data
(
"
bs.
"
+
this
.
type
);
if
(
!
i
.
options
.
delay
||!
i
.
options
.
delay
.
show
)
return
i
.
show
();
clearTimeout
(
this
.
timeout
),
i
.
hoverState
=
"
in
"
,
this
.
timeout
=
setTimeout
(
function
(){
i
.
hoverState
==
"
in
"
&&
i
.
show
()},
i
.
options
.
delay
.
show
)},
t
.
prototype
.
leave
=
function
(
t
){
var
n
=
t
instanceof
this
.
constructor
?
t
:
e
(
t
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"
bs.
"
+
this
.
type
);
clearTimeout
(
this
.
timeout
);
if
(
!
n
.
options
.
delay
||!
n
.
options
.
delay
.
hide
)
return
n
.
hide
();
n
.
hoverState
=
"
out
"
,
this
.
timeout
=
setTimeout
(
function
(){
n
.
hoverState
==
"
out
"
&&
n
.
hide
()},
n
.
options
.
delay
.
hide
)},
t
.
prototype
.
show
=
function
(){
var
t
=
e
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
this
.
$element
.
trigger
(
t
);
if
(
t
.
isDefaultPrevented
())
return
;
var
n
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
n
.
addClass
(
"
fade
"
);
var
r
=
typeof
this
.
options
.
placement
==
"
function
"
?
this
.
options
.
placement
.
call
(
this
,
n
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
;
n
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}),
this
.
options
.
container
?
n
.
appendTo
(
this
.
options
.
container
):
n
.
insertAfter
(
this
.
$element
);
var
i
,
s
=
this
.
getPosition
(),
o
=
n
[
0
].
offsetWidth
,
u
=
n
[
0
].
offsetHeight
;
switch
(
r
){
case
"
bottom
"
:
i
=
{
top
:
s
.
top
+
s
.
height
,
left
:
s
.
left
+
s
.
width
/
2
-
o
/
2
};
break
;
case
"
top
"
:
i
=
{
top
:
s
.
top
-
u
,
left
:
s
.
left
+
s
.
width
/
2
-
o
/
2
};
break
;
case
"
left
"
:
i
=
{
top
:
s
.
top
+
s
.
height
/
2
-
u
/
2
,
left
:
s
.
left
-
o
};
break
;
case
"
right
"
:
i
=
{
top
:
s
.
top
+
s
.
height
/
2
-
u
/
2
,
left
:
s
.
left
+
s
.
width
}}
this
.
applyPlacement
(
i
,
r
),
this
.
$element
.
trigger
(
"
shown.bs.
"
+
this
.
type
)}},
t
.
prototype
.
applyPlacement
=
function
(
e
,
t
){
var
n
,
r
=
this
.
tip
(),
i
=
r
[
0
].
offsetWidth
,
s
=
r
[
0
].
offsetHeight
;
r
.
offset
(
e
).
addClass
(
t
).
addClass
(
"
in
"
);
var
o
=
r
[
0
].
offsetWidth
,
u
=
r
[
0
].
offsetHeight
;
t
==
"
top
"
&&
u
!=
s
&&
(
n
=!
0
,
e
.
top
=
e
.
top
+
s
-
u
);
if
(
t
==
"
bottom
"
||
t
==
"
top
"
){
var
a
=
0
;
e
.
left
<
0
&&
(
a
=
e
.
left
*-
2
,
e
.
left
=
0
,
r
.
offset
(
e
),
o
=
r
[
0
].
offsetWidth
,
u
=
r
[
0
].
offsetHeight
),
this
.
replaceArrow
(
a
-
i
+
o
,
o
,
"
left
"
)}
else
this
.
replaceArrow
(
u
-
s
,
u
,
"
top
"
);
n
&&
r
.
offset
(
e
)},
t
.
prototype
.
replaceArrow
=
function
(
e
,
t
,
n
){
this
.
arrow
().
css
(
n
,
e
?
50
*
(
1
-
e
/
t
)
+
"
%
"
:
""
)},
t
.
prototype
.
setContent
=
function
(){
var
e
=
this
.
tip
(),
t
=
this
.
getTitle
();
e
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
t
),
e
.
removeClass
(
"
fade in top bottom left right
"
)},
t
.
prototype
.
hide
=
function
(){
function
i
(){
var
t
=
setTimeout
(
function
(){
n
.
off
(
e
.
support
.
transition
.
end
).
detach
()},
500
);
n
.
one
(
e
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
t
),
n
.
detach
()})}
var
t
=
this
,
n
=
this
.
tip
(),
r
=
e
.
Event
(
"
hide.bs.
"
+
this
.
type
);
this
.
$element
.
trigger
(
r
);
if
(
r
.
isDefaultPrevented
())
return
;
return
n
.
removeClass
(
"
in
"
),
e
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
i
():
n
.
detach
(),
this
.
$element
.
trigger
(
"
hidden.bs.
"
+
this
.
type
),
this
},
t
.
prototype
.
fixTitle
=
function
(){
var
e
=
this
.
$element
;(
e
.
attr
(
"
title
"
)
||
typeof
e
.
attr
(
"
data-original-title
"
)
!=
"
string
"
)
&&
e
.
attr
(
"
data-original-title
"
,
e
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
t
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
t
.
prototype
.
getPosition
=
function
(){
var
t
=
this
.
$element
[
0
];
return
e
.
extend
({},
typeof
t
.
getBoundingClientRect
==
"
function
"
?
t
.
getBoundingClientRect
():{
width
:
t
.
offsetWidth
,
height
:
t
.
offsetHeight
},
this
.
$element
.
offset
())},
t
.
prototype
.
getTitle
=
function
(){
var
e
,
t
=
this
.
$element
,
n
=
this
.
options
;
return
e
=
t
.
attr
(
"
data-original-title
"
)
||
(
typeof
n
.
title
==
"
function
"
?
n
.
title
.
call
(
t
[
0
]):
n
.
title
),
e
},
t
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
e
(
this
.
options
.
template
)},
t
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
t
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
t
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
t
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
t
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
t
.
prototype
.
toggle
=
function
(
t
){
var
n
=
t
?
e
(
t
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"
bs.
"
+
this
.
type
):
this
;
n
.
tip
().
hasClass
(
"
in
"
)?
n
.
leave
(
n
):
n
.
enter
(
n
)},
t
.
prototype
.
destroy
=
function
(){
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
"
bs.
"
+
this
.
type
)};
var
n
=
e
.
fn
.
tooltip
;
e
.
fn
.
tooltip
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.tooltip
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.tooltip
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
tooltip
.
Constructor
=
t
,
e
.
fn
.
tooltip
.
noConflict
=
function
(){
return
e
.
fn
.
tooltip
=
n
,
this
}}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
e
,
t
){
this
.
init
(
"
popover
"
,
e
,
t
)};
t
.
DEFAULTS
=
e
.
extend
({},
e
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
t
.
prototype
=
e
.
extend
({},
e
.
fn
.
tooltip
.
Constructor
.
prototype
),
t
.
prototype
.
constructor
=
t
,
t
.
prototype
.
getDefaults
=
function
(){
return
t
.
DEFAULTS
},
t
.
prototype
.
setContent
=
function
(){
var
e
=
this
.
tip
(),
t
=
this
.
getTitle
(),
n
=
this
.
getContent
();
e
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
t
),
e
.
find
(
"
.popover-content
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
n
),
e
.
removeClass
(
"
fade top bottom left right in
"
),
e
.
find
(
"
.popover-title:empty
"
).
hide
()},
t
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
t
.
prototype
.
getContent
=
function
(){
var
e
=
typeof
this
.
options
.
content
==
"
function
"
?
this
.
options
.
content
.
call
(
this
.
$element
[
0
]):
this
.
options
.
content
;
return
e
||
this
.
$element
.
attr
(
"
data-content
"
)},
t
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
e
(
this
.
options
.
template
)),
this
.
$tip
},
t
.
prototype
.
destroy
=
function
(){
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
this
.
type
)};
var
n
=
e
.
fn
.
popover
;
e
.
fn
.
popover
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.popover
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.popover
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
popover
.
Constructor
=
t
,
e
.
fn
.
popover
.
noConflict
=
function
(){
return
e
.
fn
.
popover
=
n
,
this
}}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
function
t
(
n
,
r
){
var
i
,
s
=
e
.
proxy
(
this
.
process
,
this
),
o
=
e
(
n
).
is
(
"
body
"
)?
e
(
window
):
e
(
n
);
this
.
$body
=
e
(
"
body
"
),
this
.
$scrollElement
=
o
.
on
(
"
scroll.bs.scroll-spy.data-api
"
,
s
),
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
),
this
.
selector
=
(
this
.
options
.
target
||
(
i
=
e
(
n
).
attr
(
"
href
"
))
&&
i
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
e
([]),
this
.
targets
=
e
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
t
.
DEFAULTS
=
{
offset
:
10
},
t
.
prototype
.
refresh
=
function
(){
this
.
offsets
=
e
([]),
this
.
targets
=
e
([]);
var
t
=
this
,
n
=
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
n
=
e
(
this
),
r
=
n
.
data
(
"
target
"
)
||
n
.
attr
(
"
href
"
),
i
=
/^#
\w
/
.
test
(
r
)
&&
e
(
r
);
return
i
&&
i
.
length
&&
[[
i
.
position
().
top
+
(
!
e
.
isWindow
(
t
.
$scrollElement
.
get
(
0
))
&&
t
.
$scrollElement
.
scrollTop
()),
r
]]
||
null
}).
sort
(
function
(
e
,
t
){
return
e
[
0
]
-
t
[
0
]}).
each
(
function
(){
t
.
offsets
.
push
(
this
[
0
]),
t
.
targets
.
push
(
this
[
1
])})},
t
.
prototype
.
process
=
function
(){
var
e
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
t
=
this
.
$scrollElement
[
0
].
scrollHeight
||
this
.
$body
[
0
].
scrollHeight
,
n
=
t
-
this
.
$scrollElement
.
height
(),
r
=
this
.
offsets
,
i
=
this
.
targets
,
s
=
this
.
activeTarget
,
o
;
if
(
e
>=
n
)
return
s
!=
(
o
=
i
.
last
()[
0
])
&&
this
.
activate
(
o
);
for
(
o
=
r
.
length
;
o
--
;)
s
!=
i
[
o
]
&&
e
>=
r
[
o
]
&&
(
!
r
[
o
+
1
]
||
e
<=
r
[
o
+
1
])
&&
this
.
activate
(
i
[
o
])},
t
.
prototype
.
activate
=
function
(
t
){
this
.
activeTarget
=
t
,
e
(
this
.
selector
).
parents
(
"
.active
"
).
removeClass
(
"
active
"
);
var
n
=
this
.
selector
+
'
[data-target="
'
+
t
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
t
+
'
"]
'
,
r
=
e
(
n
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
r
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
r
=
r
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
r
.
trigger
(
"
activate
"
)};
var
n
=
e
.
fn
.
scrollspy
;
e
.
fn
.
scrollspy
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.scrollspy
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.scrollspy
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
scrollspy
.
Constructor
=
t
,
e
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
e
.
fn
.
scrollspy
=
n
,
this
},
e
(
window
).
on
(
"
load
"
,
function
(){
e
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
t
=
e
(
this
);
t
.
scrollspy
(
t
.
data
())})})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
t
){
this
.
element
=
e
(
t
)};
t
.
prototype
.
show
=
function
(){
var
t
=
this
.
element
,
n
=
t
.
closest
(
"
ul:not(.dropdown-menu)
"
),
r
=
t
.
attr
(
"
data-target
"
);
r
||
(
r
=
t
.
attr
(
"
href
"
),
r
=
r
&&
r
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
if
(
t
.
parent
(
"
li
"
).
hasClass
(
"
active
"
))
return
;
var
i
=
n
.
find
(
"
.active:last a
"
)[
0
],
s
=
e
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
i
});
t
.
trigger
(
s
);
if
(
s
.
isDefaultPrevented
())
return
;
var
o
=
e
(
r
);
this
.
activate
(
t
.
parent
(
"
li
"
),
n
),
this
.
activate
(
o
,
o
.
parent
(),
function
(){
t
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
i
})})},
t
.
prototype
.
activate
=
function
(
t
,
n
,
r
){
function
o
(){
i
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
t
.
addClass
(
"
active
"
),
s
?(
t
[
0
].
offsetWidth
,
t
.
addClass
(
"
in
"
)):
t
.
removeClass
(
"
fade
"
),
t
.
parent
(
"
.dropdown-menu
"
)
&&
t
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
r
&&
r
()}
var
i
=
n
.
find
(
"
> .active
"
),
s
=
r
&&
e
.
support
.
transition
&&
i
.
hasClass
(
"
fade
"
);
s
?
i
.
one
(
e
.
support
.
transition
.
end
,
o
):
o
(),
i
.
removeClass
(
"
in
"
)};
var
n
=
e
.
fn
.
tab
;
e
.
fn
.
tab
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.tab
"
);
i
||
r
.
data
(
"
bs.tab
"
,
i
=
new
t
(
this
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
tab
.
Constructor
=
t
,
e
.
fn
.
tab
.
noConflict
=
function
(){
return
e
.
fn
.
tab
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
t
){
t
.
preventDefault
(),
e
(
this
).
tab
(
"
show
"
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
n
,
r
){
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
),
this
.
$window
=
e
(
window
).
on
(
"
scroll.bs.affix.data-api
"
,
e
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
e
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
e
(
n
),
this
.
affixed
=
this
.
unpin
=
null
,
this
.
checkPosition
()};
t
.
DEFAULTS
=
{
offset
:
0
},
t
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
e
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
t
.
prototype
.
checkPosition
=
function
(){
if
(
!
this
.
$element
.
is
(
"
:visible
"
))
return
;
var
t
=
e
(
document
).
height
(),
n
=
this
.
$window
.
scrollTop
(),
r
=
this
.
$element
.
offset
(),
i
=
this
.
options
.
offset
,
s
=
i
.
top
,
o
=
i
.
bottom
,
u
=
"
affix affix-top affix-bottom
"
;
typeof
i
!=
"
object
"
&&
(
o
=
s
=
i
),
typeof
s
==
"
function
"
&&
(
s
=
i
.
top
()),
typeof
o
==
"
function
"
&&
(
o
=
i
.
bottom
());
var
a
=
this
.
unpin
!=
null
&&
n
+
this
.
unpin
<=
r
.
top
?
!
1
:
o
!=
null
&&
r
.
top
+
this
.
$element
.
height
()
>=
t
-
o
?
"
bottom
"
:
s
!=
null
&&
n
<=
s
?
"
top
"
:
!
1
;
if
(
this
.
affixed
===
a
)
return
;
this
.
affixed
=
a
,
this
.
unpin
=
a
==
"
bottom
"
?
r
.
top
-
n
:
null
,
this
.
$element
.
removeClass
(
u
).
addClass
(
"
affix
"
+
(
a
?
"
-
"
+
a
:
""
))};
var
n
=
e
.
fn
.
affix
;
e
.
fn
.
affix
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.affix
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.affix
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
affix
.
Constructor
=
t
,
e
.
fn
.
affix
.
noConflict
=
function
(){
return
e
.
fn
.
affix
=
n
,
this
},
e
(
window
).
on
(
"
load
"
,
function
(){
e
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
t
=
e
(
this
),
n
=
t
.
data
();
n
.
offset
=
n
.
offset
||
{},
n
.
offsetBottom
&&
(
n
.
offset
.
bottom
=
n
.
offsetBottom
),
n
.
offsetTop
&&
(
n
.
offset
.
top
=
n
.
offsetTop
),
t
.
affix
(
n
)})})}(
window
.
jQuery
);
\ No newline at end of file
+
function
(
e
){
"
use strict
"
;
function
t
(){
var
e
=
document
.
createElement
(
"
bootstrap
"
),
t
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
n
in
t
)
if
(
e
.
style
[
n
]
!==
undefined
)
return
{
end
:
t
[
n
]}}
e
(
function
(){
e
.
support
.
transition
=
t
()})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
'
[data-dismiss="alert"]
'
,
n
=
function
(
n
){
e
(
n
).
on
(
"
click
"
,
t
,
this
.
close
)};
n
.
prototype
.
close
=
function
(
t
){
function
s
(){
i
.
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
n
=
e
(
this
),
r
=
n
.
attr
(
"
data-target
"
);
r
||
(
r
=
n
.
attr
(
"
href
"
),
r
=
r
&&
r
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
i
=
e
(
r
);
t
&&
t
.
preventDefault
(),
i
.
length
||
(
i
=
n
.
hasClass
(
"
alert
"
)?
n
:
n
.
parent
()),
i
.
trigger
(
t
=
e
.
Event
(
"
close.bs.alert
"
));
if
(
t
.
isDefaultPrevented
())
return
;
i
.
removeClass
(
"
in
"
),
e
.
support
.
transition
&&
i
.
hasClass
(
"
fade
"
)?
i
.
on
(
e
.
support
.
transition
.
end
,
s
):
s
()};
var
r
=
e
.
fn
.
alert
;
e
.
fn
.
alert
=
function
(
t
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.alert
"
);
i
||
r
.
data
(
"
bs.alert
"
,
i
=
new
n
(
this
)),
typeof
t
==
"
string
"
&&
i
[
t
].
call
(
r
)})},
e
.
fn
.
alert
.
Constructor
=
n
,
e
.
fn
.
alert
.
noConflict
=
function
(){
return
e
.
fn
.
alert
=
r
,
this
},
e
(
document
).
on
(
"
click.bs.alert.data-api
"
,
t
,
n
.
prototype
.
close
)}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
n
,
r
){
this
.
$element
=
e
(
n
),
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
)};
t
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
t
.
prototype
.
setState
=
function
(
e
){
var
t
=
"
disabled
"
,
n
=
this
.
$element
,
r
=
n
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
i
=
n
.
data
();
e
+=
"
Text
"
,
i
.
resetText
||
n
.
data
(
"
resetText
"
,
n
[
r
]()),
n
[
r
](
i
[
e
]
||
this
.
options
[
e
]),
setTimeout
(
function
(){
e
==
"
loadingText
"
?
n
.
addClass
(
t
).
attr
(
t
,
t
):
n
.
removeClass
(
t
).
removeAttr
(
t
)},
0
)},
t
.
prototype
.
toggle
=
function
(){
var
e
=
this
.
$element
.
closest
(
'
[data-toggle="buttons-radio"]
'
);
e
&&
e
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
toggleClass
(
"
active
"
)};
var
n
=
e
.
fn
.
button
;
e
.
fn
.
button
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
button
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.button
"
,
i
=
new
t
(
this
,
s
)),
n
==
"
toggle
"
?
i
.
toggle
():
n
&&
i
.
setState
(
n
)})},
e
.
fn
.
button
.
Constructor
=
t
,
e
.
fn
.
button
.
noConflict
=
function
(){
return
e
.
fn
.
button
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
t
){
var
n
=
e
(
t
.
target
);
n
.
hasClass
(
"
btn
"
)
||
(
n
=
n
.
closest
(
"
.btn
"
)),
n
.
button
(
"
toggle
"
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
t
,
n
){
this
.
$element
=
e
(
t
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
n
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
this
.
options
.
pause
==
"
hover
"
&&
this
.
$element
.
on
(
"
mouseenter
"
,
e
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
e
.
proxy
(
this
.
cycle
,
this
))};
t
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
},
t
.
prototype
.
cycle
=
function
(
t
){
return
t
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
e
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
t
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(),
this
.
$items
.
index
(
this
.
$active
)},
t
.
prototype
.
to
=
function
(
t
){
var
n
=
this
,
r
=
this
.
getActiveIndex
();
if
(
t
>
this
.
$items
.
length
-
1
||
t
<
0
)
return
;
return
this
.
sliding
?
this
.
$element
.
one
(
"
slid
"
,
function
(){
n
.
to
(
t
)}):
r
==
t
?
this
.
pause
().
cycle
():
this
.
slide
(
t
>
r
?
"
next
"
:
"
prev
"
,
e
(
this
.
$items
[
t
]))},
t
.
prototype
.
pause
=
function
(
t
){
return
t
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
e
.
support
.
transition
.
end
&&
(
this
.
$element
.
trigger
(
e
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
t
.
prototype
.
next
=
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
next
"
)},
t
.
prototype
.
prev
=
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
prev
"
)},
t
.
prototype
.
slide
=
function
(
t
,
n
){
var
r
=
this
.
$element
.
find
(
"
.item.active
"
),
i
=
n
||
r
[
t
](),
s
=
this
.
interval
,
o
=
t
==
"
next
"
?
"
left
"
:
"
right
"
,
u
=
t
==
"
next
"
?
"
first
"
:
"
last
"
,
a
=
this
;
this
.
sliding
=!
0
,
s
&&
this
.
pause
(),
i
=
i
.
length
?
i
:
this
.
$element
.
find
(
"
.item
"
)[
u
]();
var
f
=
e
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
i
[
0
],
direction
:
o
});
if
(
i
.
hasClass
(
"
active
"
))
return
;
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
one
(
"
slid
"
,
function
(){
var
t
=
e
(
a
.
$indicators
.
children
()[
a
.
getActiveIndex
()]);
t
&&
t
.
addClass
(
"
active
"
)}));
if
(
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)){
this
.
$element
.
trigger
(
f
);
if
(
f
.
isDefaultPrevented
())
return
;
i
.
addClass
(
t
),
i
[
0
].
offsetWidth
,
r
.
addClass
(
o
),
i
.
addClass
(
o
),
this
.
$element
.
one
(
e
.
support
.
transition
.
end
,
function
(){
i
.
removeClass
([
t
,
o
].
join
(
"
"
)).
addClass
(
"
active
"
),
r
.
removeClass
([
"
active
"
,
o
].
join
(
"
"
)),
a
.
sliding
=!
1
,
setTimeout
(
function
(){
a
.
$element
.
trigger
(
"
slid
"
)},
0
)})}
else
{
this
.
$element
.
trigger
(
f
);
if
(
f
.
isDefaultPrevented
())
return
;
r
.
removeClass
(
"
active
"
),
i
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid
"
)}
return
s
&&
this
.
cycle
(),
this
};
var
n
=
e
.
fn
.
carousel
;
e
.
fn
.
carousel
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.carousel
"
),
s
=
e
.
extend
({},
t
.
DEFAULTS
,
typeof
n
==
"
object
"
&&
n
),
o
=
typeof
n
==
"
string
"
?
n
:
s
.
slide
;
i
||
r
.
data
(
"
bs.carousel
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
number
"
?
i
.
to
(
n
):
o
?
i
[
o
]():
s
.
interval
&&
i
.
pause
().
cycle
()})},
e
.
fn
.
carousel
.
Constructor
=
t
,
e
.
fn
.
carousel
.
noConflict
=
function
(){
return
e
.
fn
.
carousel
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide], [data-slide-to]
"
,
function
(
t
){
var
n
=
e
(
this
),
r
,
i
=
e
(
n
.
attr
(
"
data-target
"
)
||
(
r
=
n
.
attr
(
"
href
"
))
&&
r
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
s
=
e
.
extend
({},
i
.
data
(),
n
.
data
()),
o
;
i
.
carousel
(
s
),(
o
=
n
.
attr
(
"
data-slide-to
"
))
&&
i
.
data
(
"
bs.carousel
"
).
pause
().
to
(
o
).
cycle
(),
t
.
preventDefault
()}),
e
(
window
).
on
(
"
load
"
,
function
(){
e
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
t
=
e
(
this
);
t
.
carousel
(
t
.
data
())})})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
n
,
r
){
this
.
$element
=
e
(
n
),
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
e
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
t
.
DEFAULTS
=
{
toggle
:
!
0
},
t
.
prototype
.
dimension
=
function
(){
var
e
=
this
.
$element
.
hasClass
(
"
width
"
);
return
e
?
"
width
"
:
"
height
"
},
t
.
prototype
.
show
=
function
(){
if
(
this
.
transitioning
||
this
.
$element
.
hasClass
(
"
in
"
))
return
;
var
t
=
e
.
Event
(
"
show.bs.collapse
"
);
this
.
$element
.
trigger
(
t
);
if
(
t
.
isDefaultPrevented
())
return
;
var
n
=
this
.
dimension
(),
r
=
e
.
camelCase
([
"
scroll
"
,
n
].
join
(
"
-
"
)),
i
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .accordion-group > .in
"
);
if
(
i
&&
i
.
length
){
var
s
=
i
.
data
(
"
collapse
"
);
if
(
s
&&
s
.
transitioning
)
return
;
i
.
collapse
(
"
hide
"
),
s
||
i
.
data
(
"
collapse
"
,
null
)}
this
.
$element
[
n
](
0
),
this
.
transition
(
"
addClass
"
,
"
shown.bs.collapse
"
),
e
.
support
.
transition
&&
this
.
$element
[
n
](
this
.
$element
[
0
][
r
])},
t
.
prototype
.
hide
=
function
(){
if
(
this
.
transitioning
||!
this
.
$element
.
hasClass
(
"
in
"
))
return
;
var
t
=
e
.
Event
(
"
hide.bs.collapse
"
);
this
.
$element
.
trigger
(
t
);
if
(
t
.
isDefaultPrevented
())
return
;
var
n
=
this
.
dimension
();
this
.
reset
(
this
.
$element
[
n
]()),
this
.
transition
(
"
removeClass
"
,
"
shown.bs.hidden
"
),
this
.
$element
[
n
](
0
)},
t
.
prototype
.
reset
=
function
(
e
){
var
t
=
this
.
dimension
();
return
this
.
$element
.
removeClass
(
"
collapse
"
)[
t
](
e
||
"
auto
"
)[
0
].
offsetWidth
,
this
.
$element
[
e
!=
null
?
"
addClass
"
:
"
removeClass
"
](
"
collapse
"
),
this
},
t
.
prototype
.
transition
=
function
(
t
,
n
){
var
r
=
this
,
i
=
function
(){
n
==
"
shown.bs.collapse
"
&&
r
.
reset
(),
r
.
transitioning
=
0
,
r
.
$element
.
trigger
(
n
)};
this
.
transitioning
=
1
,
this
.
$element
[
t
](
"
in
"
),
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
collapse
"
)?
this
.
$element
.
one
(
e
.
support
.
transition
.
end
,
i
):
i
()},
t
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()};
var
n
=
e
.
fn
.
collapse
;
e
.
fn
.
collapse
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
collapse
"
),
s
=
e
.
extend
({},
t
.
DEFAULTS
,
r
.
data
(),
typeof
n
==
"
object
"
&&
n
);
i
||
r
.
data
(
"
collapse
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
collapse
.
Constructor
=
t
,
e
.
fn
.
collapse
.
noConflict
=
function
(){
return
e
.
fn
.
collapse
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
"
[data-toggle=collapse]
"
,
function
(
t
){
var
n
=
e
(
this
),
r
,
i
=
n
.
attr
(
"
data-target
"
)
||
t
.
preventDefault
()
||
(
r
=
n
.
attr
(
"
href
"
))
&&
r
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
s
=
e
(
i
).
data
(
"
collapse
"
)?
"
toggle
"
:
n
.
data
(),
o
=
n
.
attr
(
"
data-parent
"
),
u
=
o
&&
e
(
o
);
u
&&
u
.
find
(
"
[data-toggle=collapse][data-parent=
"
+
o
+
"
]
"
).
not
(
n
).
addClass
(
"
collapsed
"
),
n
[
e
(
i
).
hasClass
(
"
in
"
)?
"
addClass
"
:
"
removeClass
"
](
"
collapsed
"
),
e
(
i
).
collapse
(
s
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
function
i
(){
e
(
t
).
remove
(),
e
(
n
).
each
(
function
(
t
){
var
n
=
s
(
e
(
this
));
if
(
!
n
.
hasClass
(
"
open
"
))
return
;
n
.
trigger
(
t
=
e
.
Event
(
"
hide.bs.dropdown
"
));
if
(
t
.
isDefaultPrevented
())
return
;
n
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
)})}
function
s
(
t
){
var
n
=
t
.
attr
(
"
data-target
"
);
n
||
(
n
=
t
.
attr
(
"
href
"
),
n
=
n
&&
/#/
.
test
(
n
)
&&
n
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
r
=
n
&&
e
(
n
);
return
r
&&
r
.
length
?
r
:
t
.
parent
()}
var
t
=
"
.dropdown-backdrop
"
,
n
=
"
[data-toggle=dropdown]
"
,
r
=
function
(
t
){
var
n
=
e
(
t
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
r
.
prototype
.
toggle
=
function
(
t
){
var
n
=
e
(
this
);
if
(
n
.
is
(
"
.disabled, :disabled
"
))
return
;
var
r
=
s
(
n
),
o
=
r
.
hasClass
(
"
open
"
);
i
();
if
(
!
o
){
"
ontouchstart
"
in
document
.
documentElement
&&
e
(
'
<div class="dropdown-backdrop"/>
'
).
insertBefore
(
e
(
this
)).
on
(
"
click
"
,
i
),
r
.
trigger
(
t
=
e
.
Event
(
"
show.bs.dropdown
"
));
if
(
t
.
isDefaultPrevented
())
return
;
r
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
)}
return
n
.
focus
(),
!
1
},
r
.
prototype
.
keydown
=
function
(
t
){
if
(
!
/
(
38|40|27
)
/
.
test
(
t
.
keyCode
))
return
;
var
r
=
e
(
this
);
t
.
preventDefault
(),
t
.
stopPropagation
();
if
(
r
.
is
(
"
.disabled, :disabled
"
))
return
;
var
i
=
s
(
r
),
o
=
i
.
hasClass
(
"
open
"
);
if
(
!
o
||
o
&&
t
.
keyCode
==
27
)
return
t
.
which
==
27
&&
i
.
find
(
n
).
focus
(),
r
.
click
();
var
u
=
e
(
"
[role=menu] li:not(.divider):visible a
"
,
i
);
if
(
!
u
.
length
)
return
;
var
a
=
u
.
index
(
u
.
filter
(
"
:focus
"
));
t
.
keyCode
==
38
&&
a
>
0
&&
a
--
,
t
.
keyCode
==
40
&&
a
<
u
.
length
-
1
&&
a
++
,
~
a
||
(
a
=
0
),
u
.
eq
(
a
).
focus
()};
var
o
=
e
.
fn
.
dropdown
;
e
.
fn
.
dropdown
=
function
(
t
){
return
this
.
each
(
function
(){
var
n
=
e
(
this
),
i
=
n
.
data
(
"
dropdown
"
);
i
||
n
.
data
(
"
dropdown
"
,
i
=
new
r
(
this
)),
typeof
t
==
"
string
"
&&
i
[
t
].
call
(
n
)})},
e
.
fn
.
dropdown
.
Constructor
=
r
,
e
.
fn
.
dropdown
.
noConflict
=
function
(){
return
e
.
fn
.
dropdown
=
o
,
this
},
e
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
i
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
e
){
e
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
n
,
r
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
n
+
"
, [role=menu]
"
,
r
.
prototype
.
keydown
)}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
t
,
n
){
this
.
options
=
n
,
this
.
$element
=
e
(
t
).
delegate
(
'
[data-dismiss="modal"]
'
,
"
click.dismiss.modal
"
,
e
.
proxy
(
this
.
hide
,
this
)),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-body
"
).
load
(
this
.
options
.
remote
)};
t
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
t
.
prototype
.
toggle
=
function
(){
return
this
[
this
.
isShown
?
"
hide
"
:
"
show
"
]()},
t
.
prototype
.
show
=
function
(){
var
t
=
this
,
n
=
e
.
Event
(
"
show.bs.modal
"
);
this
.
$element
.
trigger
(
n
);
if
(
this
.
isShown
||
n
.
isDefaultPrevented
())
return
;
this
.
isShown
=!
0
,
this
.
escape
(),
this
.
backdrop
(
function
(){
var
n
=
e
.
support
.
transition
&&
t
.
$element
.
hasClass
(
"
fade
"
);
t
.
$element
.
parent
().
length
||
t
.
$element
.
appendTo
(
document
.
body
),
t
.
$element
.
show
(),
n
&&
t
.
$element
[
0
].
offsetWidth
,
t
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
t
.
enforceFocus
(),
n
?
t
.
$element
.
one
(
e
.
support
.
transition
.
end
,
function
(){
t
.
$element
.
focus
().
trigger
(
"
shown.bs.modal
"
)}):
t
.
$element
.
focus
().
trigger
(
"
shown.bs.modal
"
)})},
t
.
prototype
.
hide
=
function
(
t
){
t
&&
t
.
preventDefault
(),
t
=
e
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
t
);
if
(
!
this
.
isShown
||
t
.
isDefaultPrevented
())
return
;
this
.
isShown
=!
1
,
this
.
escape
(),
e
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
),
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
hideWithTransition
():
this
.
hideModal
()},
t
.
prototype
.
enforceFocus
=
function
(){
e
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
e
.
proxy
(
function
(
e
){
this
.
$element
[
0
]
!==
e
.
target
&&!
this
.
$element
.
has
(
e
.
target
).
length
&&
this
.
$element
.
focus
()},
this
))},
t
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keyup.dismiss.bs.modal
"
,
e
.
proxy
(
function
(
e
){
e
.
which
==
27
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keyup.dismiss.bs.modal
"
)},
t
.
prototype
.
hideWithTransition
=
function
(){
var
t
=
this
,
n
=
setTimeout
(
function
(){
t
.
$element
.
off
(
e
.
support
.
transition
.
end
),
t
.
hideModal
()},
500
);
this
.
$element
.
one
(
e
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
n
),
t
.
hideModal
()})},
t
.
prototype
.
hideModal
=
function
(){
var
e
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
e
.
removeBackdrop
(),
e
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
t
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
t
.
prototype
.
backdrop
=
function
(
t
){
var
n
=
this
,
r
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
i
=
e
.
support
.
transition
&&
r
;
this
.
$backdrop
=
e
(
'
<div class="modal-backdrop
'
+
r
+
'
" />
'
).
appendTo
(
document
.
body
),
this
.
$backdrop
.
click
(
this
.
options
.
backdrop
==
"
static
"
?
e
.
proxy
(
this
.
$element
[
0
].
focus
,
this
.
$element
[
0
]):
e
.
proxy
(
this
.
hide
,
this
)),
i
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
);
if
(
!
t
)
return
;
i
?
this
.
$backdrop
.
one
(
e
.
support
.
transition
.
end
,
t
):
t
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
e
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
e
.
support
.
transition
.
end
,
t
):
t
()):
t
&&
t
()};
var
n
=
e
.
fn
.
modal
;
e
.
fn
.
modal
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.modal
"
),
s
=
e
.
extend
({},
t
.
DEFAULTS
,
r
.
data
(),
typeof
n
==
"
object
"
&&
n
);
i
||
r
.
data
(
"
bs.modal
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
?
i
[
n
]():
s
.
show
&&
i
.
show
()})},
e
.
fn
.
modal
.
Constructor
=
t
,
e
.
fn
.
modal
.
noConflict
=
function
(){
return
e
.
fn
.
modal
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
t
){
var
n
=
e
(
this
),
r
=
n
.
attr
(
"
href
"
),
i
=
e
(
n
.
attr
(
"
data-target
"
)
||
r
&&
r
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
s
=
i
.
data
(
"
modal
"
)?
"
toggle
"
:
e
.
extend
({
remote
:
!
/#/
.
test
(
r
)
&&
r
},
i
.
data
(),
n
.
data
());
t
.
preventDefault
(),
i
.
modal
(
s
).
one
(
"
hide
"
,
function
(){
n
.
focus
()})});
var
r
=
e
(
document
.
body
).
on
(
"
bs.modal.shown
"
,
"
.modal
"
,
function
(){
r
.
addClass
(
"
modal-open
"
)}).
on
(
"
bs.modal.hidden
"
,
"
.modal
"
,
function
(){
r
.
removeClass
(
"
modal-open
"
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
e
,
t
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
e
,
t
)};
t
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
},
t
.
prototype
.
init
=
function
(
t
,
n
,
r
){
this
.
enabled
=!
0
,
this
.
type
=
t
,
this
.
$element
=
e
(
n
),
this
.
options
=
this
.
getOptions
(
r
);
var
i
=
this
.
options
.
trigger
.
split
(
"
"
);
for
(
var
s
=
i
.
length
;
s
--
;){
var
o
=
i
[
s
];
if
(
o
==
"
click
"
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
e
.
proxy
(
this
.
toggle
,
this
));
else
if
(
o
!=
"
manual
"
){
var
u
=
o
==
"
hover
"
?
"
mouseenter
"
:
"
focus
"
,
a
=
o
==
"
hover
"
?
"
mouseleave
"
:
"
blur
"
;
this
.
$element
.
on
(
u
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
e
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
a
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
e
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
e
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
t
.
prototype
.
getDefaults
=
function
(){
return
t
.
DEFAULTS
},
t
.
prototype
.
getOptions
=
function
(
t
){
return
t
=
e
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
t
),
t
.
delay
&&
typeof
t
.
delay
==
"
number
"
&&
(
t
.
delay
=
{
show
:
t
.
delay
,
hide
:
t
.
delay
}),
t
},
t
.
prototype
.
enter
=
function
(
t
){
var
n
=
this
.
getDefaults
(),
r
=
{};
this
.
_options
&&
e
.
each
(
this
.
_options
,
function
(
e
,
t
){
n
[
e
]
!=
t
&&
(
r
[
e
]
=
t
)});
var
i
=
t
instanceof
this
.
constructor
?
t
:
e
(
t
.
currentTarget
)[
this
.
type
](
r
).
data
(
"
bs.
"
+
this
.
type
);
if
(
!
i
.
options
.
delay
||!
i
.
options
.
delay
.
show
)
return
i
.
show
();
clearTimeout
(
this
.
timeout
),
i
.
hoverState
=
"
in
"
,
this
.
timeout
=
setTimeout
(
function
(){
i
.
hoverState
==
"
in
"
&&
i
.
show
()},
i
.
options
.
delay
.
show
)},
t
.
prototype
.
leave
=
function
(
t
){
var
n
=
t
instanceof
this
.
constructor
?
t
:
e
(
t
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"
bs.
"
+
this
.
type
);
clearTimeout
(
this
.
timeout
);
if
(
!
n
.
options
.
delay
||!
n
.
options
.
delay
.
hide
)
return
n
.
hide
();
n
.
hoverState
=
"
out
"
,
this
.
timeout
=
setTimeout
(
function
(){
n
.
hoverState
==
"
out
"
&&
n
.
hide
()},
n
.
options
.
delay
.
hide
)},
t
.
prototype
.
show
=
function
(){
var
t
=
e
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
this
.
$element
.
trigger
(
t
);
if
(
t
.
isDefaultPrevented
())
return
;
var
n
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
n
.
addClass
(
"
fade
"
);
var
r
=
typeof
this
.
options
.
placement
==
"
function
"
?
this
.
options
.
placement
.
call
(
this
,
n
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
;
n
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}),
this
.
options
.
container
?
n
.
appendTo
(
this
.
options
.
container
):
n
.
insertAfter
(
this
.
$element
);
var
i
,
s
=
this
.
getPosition
(),
o
=
n
[
0
].
offsetWidth
,
u
=
n
[
0
].
offsetHeight
;
switch
(
r
){
case
"
bottom
"
:
i
=
{
top
:
s
.
top
+
s
.
height
,
left
:
s
.
left
+
s
.
width
/
2
-
o
/
2
};
break
;
case
"
top
"
:
i
=
{
top
:
s
.
top
-
u
,
left
:
s
.
left
+
s
.
width
/
2
-
o
/
2
};
break
;
case
"
left
"
:
i
=
{
top
:
s
.
top
+
s
.
height
/
2
-
u
/
2
,
left
:
s
.
left
-
o
};
break
;
case
"
right
"
:
i
=
{
top
:
s
.
top
+
s
.
height
/
2
-
u
/
2
,
left
:
s
.
left
+
s
.
width
}}
this
.
applyPlacement
(
i
,
r
),
this
.
$element
.
trigger
(
"
shown.bs.
"
+
this
.
type
)}},
t
.
prototype
.
applyPlacement
=
function
(
e
,
t
){
var
n
,
r
=
this
.
tip
(),
i
=
r
[
0
].
offsetWidth
,
s
=
r
[
0
].
offsetHeight
;
r
.
offset
(
e
).
addClass
(
t
).
addClass
(
"
in
"
);
var
o
=
r
[
0
].
offsetWidth
,
u
=
r
[
0
].
offsetHeight
;
t
==
"
top
"
&&
u
!=
s
&&
(
n
=!
0
,
e
.
top
=
e
.
top
+
s
-
u
);
if
(
t
==
"
bottom
"
||
t
==
"
top
"
){
var
a
=
0
;
e
.
left
<
0
&&
(
a
=
e
.
left
*-
2
,
e
.
left
=
0
,
r
.
offset
(
e
),
o
=
r
[
0
].
offsetWidth
,
u
=
r
[
0
].
offsetHeight
),
this
.
replaceArrow
(
a
-
i
+
o
,
o
,
"
left
"
)}
else
this
.
replaceArrow
(
u
-
s
,
u
,
"
top
"
);
n
&&
r
.
offset
(
e
)},
t
.
prototype
.
replaceArrow
=
function
(
e
,
t
,
n
){
this
.
arrow
().
css
(
n
,
e
?
50
*
(
1
-
e
/
t
)
+
"
%
"
:
""
)},
t
.
prototype
.
setContent
=
function
(){
var
e
=
this
.
tip
(),
t
=
this
.
getTitle
();
e
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
t
),
e
.
removeClass
(
"
fade in top bottom left right
"
)},
t
.
prototype
.
hide
=
function
(){
function
i
(){
var
t
=
setTimeout
(
function
(){
n
.
off
(
e
.
support
.
transition
.
end
).
detach
()},
500
);
n
.
one
(
e
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
t
),
n
.
detach
()})}
var
t
=
this
,
n
=
this
.
tip
(),
r
=
e
.
Event
(
"
hide.bs.
"
+
this
.
type
);
this
.
$element
.
trigger
(
r
);
if
(
r
.
isDefaultPrevented
())
return
;
return
n
.
removeClass
(
"
in
"
),
e
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
i
():
n
.
detach
(),
this
.
$element
.
trigger
(
"
hidden.bs.
"
+
this
.
type
),
this
},
t
.
prototype
.
fixTitle
=
function
(){
var
e
=
this
.
$element
;(
e
.
attr
(
"
title
"
)
||
typeof
e
.
attr
(
"
data-original-title
"
)
!=
"
string
"
)
&&
e
.
attr
(
"
data-original-title
"
,
e
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
t
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
t
.
prototype
.
getPosition
=
function
(){
var
t
=
this
.
$element
[
0
];
return
e
.
extend
({},
typeof
t
.
getBoundingClientRect
==
"
function
"
?
t
.
getBoundingClientRect
():{
width
:
t
.
offsetWidth
,
height
:
t
.
offsetHeight
},
this
.
$element
.
offset
())},
t
.
prototype
.
getTitle
=
function
(){
var
e
,
t
=
this
.
$element
,
n
=
this
.
options
;
return
e
=
t
.
attr
(
"
data-original-title
"
)
||
(
typeof
n
.
title
==
"
function
"
?
n
.
title
.
call
(
t
[
0
]):
n
.
title
),
e
},
t
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
e
(
this
.
options
.
template
)},
t
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
t
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
t
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
t
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
t
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
t
.
prototype
.
toggle
=
function
(
t
){
var
n
=
t
?
e
(
t
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"
bs.
"
+
this
.
type
):
this
;
n
.
tip
().
hasClass
(
"
in
"
)?
n
.
leave
(
n
):
n
.
enter
(
n
)},
t
.
prototype
.
destroy
=
function
(){
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
"
bs.
"
+
this
.
type
)};
var
n
=
e
.
fn
.
tooltip
;
e
.
fn
.
tooltip
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.tooltip
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.tooltip
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
tooltip
.
Constructor
=
t
,
e
.
fn
.
tooltip
.
noConflict
=
function
(){
return
e
.
fn
.
tooltip
=
n
,
this
}}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
e
,
t
){
this
.
init
(
"
popover
"
,
e
,
t
)};
t
.
DEFAULTS
=
e
.
extend
({},
e
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
t
.
prototype
=
e
.
extend
({},
e
.
fn
.
tooltip
.
Constructor
.
prototype
),
t
.
prototype
.
constructor
=
t
,
t
.
prototype
.
getDefaults
=
function
(){
return
t
.
DEFAULTS
},
t
.
prototype
.
setContent
=
function
(){
var
e
=
this
.
tip
(),
t
=
this
.
getTitle
(),
n
=
this
.
getContent
();
e
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
t
),
e
.
find
(
"
.popover-content
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
n
),
e
.
removeClass
(
"
fade top bottom left right in
"
),
e
.
find
(
"
.popover-title:empty
"
).
hide
()},
t
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
t
.
prototype
.
getContent
=
function
(){
var
e
=
typeof
this
.
options
.
content
==
"
function
"
?
this
.
options
.
content
.
call
(
this
.
$element
[
0
]):
this
.
options
.
content
;
return
e
||
this
.
$element
.
attr
(
"
data-content
"
)},
t
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
e
(
this
.
options
.
template
)),
this
.
$tip
},
t
.
prototype
.
destroy
=
function
(){
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
this
.
type
)};
var
n
=
e
.
fn
.
popover
;
e
.
fn
.
popover
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.popover
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.popover
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
popover
.
Constructor
=
t
,
e
.
fn
.
popover
.
noConflict
=
function
(){
return
e
.
fn
.
popover
=
n
,
this
}}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
function
t
(
n
,
r
){
var
i
,
s
=
e
.
proxy
(
this
.
process
,
this
),
o
=
e
(
n
).
is
(
"
body
"
)?
e
(
window
):
e
(
n
);
this
.
$body
=
e
(
"
body
"
),
this
.
$scrollElement
=
o
.
on
(
"
scroll.bs.scroll-spy.data-api
"
,
s
),
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
),
this
.
selector
=
(
this
.
options
.
target
||
(
i
=
e
(
n
).
attr
(
"
href
"
))
&&
i
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
e
([]),
this
.
targets
=
e
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
t
.
DEFAULTS
=
{
offset
:
10
},
t
.
prototype
.
refresh
=
function
(){
this
.
offsets
=
e
([]),
this
.
targets
=
e
([]);
var
t
=
this
,
n
=
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
n
=
e
(
this
),
r
=
n
.
data
(
"
target
"
)
||
n
.
attr
(
"
href
"
),
i
=
/^#
\w
/
.
test
(
r
)
&&
e
(
r
);
return
i
&&
i
.
length
&&
[[
i
.
position
().
top
+
(
!
e
.
isWindow
(
t
.
$scrollElement
.
get
(
0
))
&&
t
.
$scrollElement
.
scrollTop
()),
r
]]
||
null
}).
sort
(
function
(
e
,
t
){
return
e
[
0
]
-
t
[
0
]}).
each
(
function
(){
t
.
offsets
.
push
(
this
[
0
]),
t
.
targets
.
push
(
this
[
1
])})},
t
.
prototype
.
process
=
function
(){
var
e
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
t
=
this
.
$scrollElement
[
0
].
scrollHeight
||
this
.
$body
[
0
].
scrollHeight
,
n
=
t
-
this
.
$scrollElement
.
height
(),
r
=
this
.
offsets
,
i
=
this
.
targets
,
s
=
this
.
activeTarget
,
o
;
if
(
e
>=
n
)
return
s
!=
(
o
=
i
.
last
()[
0
])
&&
this
.
activate
(
o
);
for
(
o
=
r
.
length
;
o
--
;)
s
!=
i
[
o
]
&&
e
>=
r
[
o
]
&&
(
!
r
[
o
+
1
]
||
e
<=
r
[
o
+
1
])
&&
this
.
activate
(
i
[
o
])},
t
.
prototype
.
activate
=
function
(
t
){
this
.
activeTarget
=
t
,
e
(
this
.
selector
).
parents
(
"
.active
"
).
removeClass
(
"
active
"
);
var
n
=
this
.
selector
+
'
[data-target="
'
+
t
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
t
+
'
"]
'
,
r
=
e
(
n
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
r
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
r
=
r
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
r
.
trigger
(
"
activate
"
)};
var
n
=
e
.
fn
.
scrollspy
;
e
.
fn
.
scrollspy
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.scrollspy
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.scrollspy
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
scrollspy
.
Constructor
=
t
,
e
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
e
.
fn
.
scrollspy
=
n
,
this
},
e
(
window
).
on
(
"
load
"
,
function
(){
e
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
t
=
e
(
this
);
t
.
scrollspy
(
t
.
data
())})})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
t
){
this
.
element
=
e
(
t
)};
t
.
prototype
.
show
=
function
(){
var
t
=
this
.
element
,
n
=
t
.
closest
(
"
ul:not(.dropdown-menu)
"
),
r
=
t
.
attr
(
"
data-target
"
);
r
||
(
r
=
t
.
attr
(
"
href
"
),
r
=
r
&&
r
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
if
(
t
.
parent
(
"
li
"
).
hasClass
(
"
active
"
))
return
;
var
i
=
n
.
find
(
"
.active:last a
"
)[
0
],
s
=
e
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
i
});
t
.
trigger
(
s
);
if
(
s
.
isDefaultPrevented
())
return
;
var
o
=
e
(
r
);
this
.
activate
(
t
.
parent
(
"
li
"
),
n
),
this
.
activate
(
o
,
o
.
parent
(),
function
(){
t
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
i
})})},
t
.
prototype
.
activate
=
function
(
t
,
n
,
r
){
function
o
(){
i
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
t
.
addClass
(
"
active
"
),
s
?(
t
[
0
].
offsetWidth
,
t
.
addClass
(
"
in
"
)):
t
.
removeClass
(
"
fade
"
),
t
.
parent
(
"
.dropdown-menu
"
)
&&
t
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
r
&&
r
()}
var
i
=
n
.
find
(
"
> .active
"
),
s
=
r
&&
e
.
support
.
transition
&&
i
.
hasClass
(
"
fade
"
);
s
?
i
.
one
(
e
.
support
.
transition
.
end
,
o
):
o
(),
i
.
removeClass
(
"
in
"
)};
var
n
=
e
.
fn
.
tab
;
e
.
fn
.
tab
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.tab
"
);
i
||
r
.
data
(
"
bs.tab
"
,
i
=
new
t
(
this
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
tab
.
Constructor
=
t
,
e
.
fn
.
tab
.
noConflict
=
function
(){
return
e
.
fn
.
tab
=
n
,
this
},
e
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
t
){
t
.
preventDefault
(),
e
(
this
).
tab
(
"
show
"
)})}(
window
.
jQuery
),
+
function
(
e
){
"
use strict
"
;
var
t
=
function
(
n
,
r
){
this
.
options
=
e
.
extend
({},
t
.
DEFAULTS
,
r
),
this
.
$window
=
e
(
window
).
on
(
"
scroll.bs.affix.data-api
"
,
e
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
e
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
e
(
n
),
this
.
affixed
=
this
.
unpin
=
null
,
this
.
checkPosition
()};
t
.
DEFAULTS
=
{
offset
:
0
},
t
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
e
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
t
.
prototype
.
checkPosition
=
function
(){
if
(
!
this
.
$element
.
is
(
"
:visible
"
))
return
;
var
t
=
e
(
document
).
height
(),
n
=
this
.
$window
.
scrollTop
(),
r
=
this
.
$element
.
offset
(),
i
=
this
.
options
.
offset
,
s
=
i
.
top
,
o
=
i
.
bottom
,
u
=
"
affix affix-top affix-bottom
"
;
typeof
i
!=
"
object
"
&&
(
o
=
s
=
i
),
typeof
s
==
"
function
"
&&
(
s
=
i
.
top
()),
typeof
o
==
"
function
"
&&
(
o
=
i
.
bottom
());
var
a
=
this
.
unpin
!=
null
&&
n
+
this
.
unpin
<=
r
.
top
?
!
1
:
o
!=
null
&&
r
.
top
+
this
.
$element
.
height
()
>=
t
-
o
?
"
bottom
"
:
s
!=
null
&&
n
<=
s
?
"
top
"
:
!
1
;
if
(
this
.
affixed
===
a
)
return
;
this
.
affixed
=
a
,
this
.
unpin
=
a
==
"
bottom
"
?
r
.
top
-
n
:
null
,
this
.
$element
.
removeClass
(
u
).
addClass
(
"
affix
"
+
(
a
?
"
-
"
+
a
:
""
))};
var
n
=
e
.
fn
.
affix
;
e
.
fn
.
affix
=
function
(
n
){
return
this
.
each
(
function
(){
var
r
=
e
(
this
),
i
=
r
.
data
(
"
bs.affix
"
),
s
=
typeof
n
==
"
object
"
&&
n
;
i
||
r
.
data
(
"
bs.affix
"
,
i
=
new
t
(
this
,
s
)),
typeof
n
==
"
string
"
&&
i
[
n
]()})},
e
.
fn
.
affix
.
Constructor
=
t
,
e
.
fn
.
affix
.
noConflict
=
function
(){
return
e
.
fn
.
affix
=
n
,
this
},
e
(
window
).
on
(
"
load
"
,
function
(){
e
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
t
=
e
(
this
),
n
=
t
.
data
();
n
.
offset
=
n
.
offset
||
{},
n
.
offsetBottom
&&
(
n
.
offset
.
bottom
=
n
.
offsetBottom
),
n
.
offsetTop
&&
(
n
.
offset
.
top
=
n
.
offsetTop
),
t
.
affix
(
n
)})})}(
window
.
jQuery
);
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets