Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bootstrap
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bootstrap
Commits
62a0f5fd
Commit
62a0f5fd
authored
Apr 18, 2012
by
Mark Otto
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.0.3-wip' of github.com:twitter/bootstrap into 2.0.3-wip
parents
178a9f3b
48e6d888
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
172 additions
and
188 deletions
+172
-188
docs/assets/css/bootstrap-responsive.css
docs/assets/css/bootstrap-responsive.css
+2
-18
docs/assets/css/bootstrap.css
docs/assets/css/bootstrap.css
+81
-91
docs/assets/js/bootstrap-typeahead.js
docs/assets/js/bootstrap-typeahead.js
+6
-1
docs/assets/js/bootstrap.js
docs/assets/js/bootstrap.js
+6
-1
docs/assets/js/bootstrap.min.js
docs/assets/js/bootstrap.min.js
+1
-1
js/bootstrap-typeahead.js
js/bootstrap-typeahead.js
+6
-1
less/buttons.less
less/buttons.less
+8
-12
less/close.less
less/close.less
+1
-1
less/code.less
less/code.less
+4
-4
less/component-animations.less
less/component-animations.less
+3
-3
less/dropdowns.less
less/dropdowns.less
+7
-7
less/forms.less
less/forms.less
+18
-18
less/layouts.less
less/layouts.less
+1
-1
less/mixins.less
less/mixins.less
+12
-13
less/reset.less
less/reset.less
+2
-2
less/sprites.less
less/sprites.less
+1
-1
less/tables.less
less/tables.less
+6
-6
less/type.less
less/type.less
+7
-7
No files found.
docs/assets/css/bootstrap-responsive.css
View file @
62a0f5fd
...
...
@@ -19,20 +19,16 @@
clear
:
both
;
}
.hide-text
{
border
:
0
;
font
:
0
/
0
a
;
text-shadow
:
none
;
color
:
transparent
;
text-shadow
:
none
;
background-color
:
transparent
;
border
:
0
;
}
.input-block-level
{
display
:
block
;
width
:
100%
;
min-height
:
28px
;
/* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-ms-box-sizing
:
border-box
;
...
...
@@ -175,10 +171,6 @@
display
:
block
;
width
:
100%
;
min-height
:
28px
;
/* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-ms-box-sizing
:
border-box
;
...
...
@@ -302,10 +294,6 @@
display
:
block
;
width
:
100%
;
min-height
:
28px
;
/* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-ms-box-sizing
:
border-box
;
...
...
@@ -504,10 +492,6 @@
display
:
block
;
width
:
100%
;
min-height
:
28px
;
/* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-ms-box-sizing
:
border-box
;
...
...
docs/assets/css/bootstrap.css
View file @
62a0f5fd
...
...
@@ -58,9 +58,9 @@ sub {
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
-ms-interpolation-mode
:
bicubic
;
vertical-align
:
middle
;
}
button
,
input
,
...
...
@@ -88,10 +88,10 @@ input[type="submit"] {
-webkit-appearance
:
button
;
}
input
[
type
=
"search"
]
{
-webkit-appearance
:
textfield
;
-webkit-box-sizing
:
content-box
;
-moz-box-sizing
:
content-box
;
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
;
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
...
...
@@ -113,20 +113,16 @@ textarea {
clear
:
both
;
}
.hide-text
{
border
:
0
;
font
:
0
/
0
a
;
text-shadow
:
none
;
color
:
transparent
;
text-shadow
:
none
;
background-color
:
transparent
;
border
:
0
;
}
.input-block-level
{
display
:
block
;
width
:
100%
;
min-height
:
28px
;
/* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-ms-box-sizing
:
border-box
;
...
...
@@ -257,10 +253,6 @@ a:hover {
display
:
block
;
width
:
100%
;
min-height
:
28px
;
/* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-ms-box-sizing
:
border-box
;
...
...
@@ -308,8 +300,8 @@ a:hover {
width
:
6.382978723%
;
}
.container
{
margin-left
:
auto
;
margin-right
:
auto
;
margin-left
:
auto
;
*
zoom
:
1
;
}
.container
:before
,
...
...
@@ -321,8 +313,8 @@ a:hover {
clear
:
both
;
}
.container-fluid
{
padding-left
:
20px
;
padding-right
:
20px
;
padding-left
:
20px
;
*
zoom
:
1
;
}
.container-fluid
:before
,
...
...
@@ -385,8 +377,8 @@ h2 small {
font-size
:
18px
;
}
h3
{
line-height
:
27px
;
font-size
:
18px
;
line-height
:
27px
;
}
h3
small
{
font-size
:
14px
;
...
...
@@ -458,13 +450,13 @@ dd {
margin-left
:
9px
;
}
.dl-horizontal
dt
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
float
:
left
;
clear
:
left
;
width
:
120px
;
clear
:
left
;
text-align
:
right
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.dl-horizontal
dd
{
margin-left
:
130px
;
...
...
@@ -485,8 +477,8 @@ em {
color
:
#999999
;
}
abbr
[
title
]
{
border-bottom
:
1px
dotted
#ddd
;
cursor
:
help
;
border-bottom
:
1px
dotted
#ddd
;
}
abbr
.initialism
{
font-size
:
90%
;
...
...
@@ -513,10 +505,10 @@ blockquote small:before {
}
blockquote
.pull-right
{
float
:
right
;
padding-left
:
0
;
padding-right
:
15px
;
border
-left
:
0
;
padding
-left
:
0
;
border-right
:
5px
solid
#eeeeee
;
border-left
:
0
;
}
blockquote
.pull-right
p
,
blockquote
.pull-right
small
{
...
...
@@ -531,8 +523,8 @@ blockquote:after {
address
{
display
:
block
;
margin-bottom
:
18px
;
line-height
:
18px
;
font-style
:
normal
;
line-height
:
18px
;
}
small
{
font-size
:
100%
;
...
...
@@ -562,16 +554,16 @@ pre {
margin
:
0
0
9px
;
font-size
:
12.025px
;
line-height
:
18px
;
word-break
:
break-all
;
word-wrap
:
break-word
;
white-space
:
pre
;
white-space
:
pre-wrap
;
background-color
:
#f5f5f5
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.15
);
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
white-space
:
pre
;
white-space
:
pre-wrap
;
word-break
:
break-all
;
word-wrap
:
break-word
;
}
pre
.prettyprint
{
margin-bottom
:
18px
;
...
...
@@ -668,12 +660,12 @@ input[type="radio"] {
line-height
:
normal
;
cursor
:
pointer
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
;
border
:
0
\
9
;
/* IE9 and down */
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
;
}
input
[
type
=
"image"
]
{
border
:
0
;
...
...
@@ -682,9 +674,9 @@ input[type="file"] {
width
:
auto
;
padding
:
initial
;
line-height
:
initial
;
border
:
initial
;
background-color
:
#ffffff
;
background-color
:
initial
;
border
:
initial
;
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
;
...
...
@@ -729,8 +721,8 @@ input[type="hidden"] {
}
.radio
,
.checkbox
{
overflow
:
auto
;
padding-left
:
18px
;
overflow
:
auto
;
}
.radio
input
[
type
=
"radio"
],
.checkbox
input
[
type
=
"checkbox"
]
{
...
...
@@ -766,24 +758,24 @@ textarea {
input
:focus
,
textarea
:focus
{
border-color
:
rgba
(
82
,
168
,
236
,
0.8
);
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
.6
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
.6
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
.6
);
outline
:
0
;
outline
:
thin
dotted
\
9
;
/* IE6-9 */
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
.6
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
.6
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
.6
);
}
input
[
type
=
"file"
]
:focus
,
input
[
type
=
"radio"
]
:focus
,
input
[
type
=
"checkbox"
]
:focus
,
select
:focus
{
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
;
outline
:
thin
dotted
#333
;
outline
:
5px
auto
-webkit-focus-ring-color
;
outline-offset
:
-2px
;
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
;
}
.input-mini
{
width
:
60px
;
...
...
@@ -861,9 +853,9 @@ textarea[disabled],
input
[
readonly
],
select
[
readonly
],
textarea
[
readonly
]
{
cursor
:
not-allowed
;
background-color
:
#eeeeee
;
border-color
:
#ddd
;
cursor
:
not-allowed
;
}
.control-group.warning
>
label
,
.control-group.warning
.help-block
,
...
...
@@ -971,14 +963,14 @@ select:focus:required:invalid:focus {
clear
:
both
;
}
.uneditable-input
{
overflow
:
hidden
;
white-space
:
nowrap
;
cursor
:
not-allowed
;
background-color
:
#ffffff
;
border-color
:
#eee
;
-webkit-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.025
);
-moz-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.025
);
box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.025
);
cursor
:
not-allowed
;
overflow
:
hidden
;
white-space
:
nowrap
;
}
:-moz-placeholder
{
color
:
#999999
;
...
...
@@ -1037,8 +1029,8 @@ select:focus:required:invalid:focus {
.input-append
.add-on
{
display
:
inline-block
;
width
:
auto
;
min-width
:
16px
;
height
:
18px
;
min-width
:
16px
;
padding
:
4px
5px
;
font-weight
:
normal
;
line-height
:
18px
;
...
...
@@ -1080,8 +1072,8 @@ select:focus:required:invalid:focus {
border-radius
:
3px
0
0
3px
;
}
.input-append
.uneditable-input
{
border-left-color
:
#eee
;
border-right-color
:
#ccc
;
border-left-color
:
#eee
;
}
.input-append
.add-on
:last-child
,
.input-append
.btn
:last-child
{
...
...
@@ -1111,12 +1103,12 @@ select:focus:required:invalid:focus {
border-radius
:
0
3px
3px
0
;
}
.search-query
{
padding-left
:
14px
;
padding-right
:
14px
;
padding-right
:
4px
\
9
;
padding-left
:
14px
;
padding-left
:
4px
\
9
;
/* IE7-8 doesn't have border-radius, so don't indent the padding */
padding-right
:
4px
\
9
;
margin-bottom
:
0
;
-webkit-border-radius
:
14px
;
-moz-border-radius
:
14px
;
...
...
@@ -1178,8 +1170,8 @@ select:focus:required:invalid:focus {
.form-inline
.radio
input
[
type
=
"radio"
],
.form-inline
.checkbox
input
[
type
=
"checkbox"
]
{
float
:
left
;
margin-left
:
0
;
margin-right
:
3px
;
margin-left
:
0
;
}
.control-group
{
margin-bottom
:
9px
;
...
...
@@ -1207,10 +1199,10 @@ legend + .control-group {
text-align
:
right
;
}
.form-horizontal
.controls
{
margin-left
:
160px
;
*
display
:
inline-block
;
*
margin-left
:
0
;
*
padding-left
:
20px
;
margin-left
:
160px
;
*
margin-left
:
0
;
}
.form-horizontal
.controls
:first-child
{
*
padding-left
:
160px
;
...
...
@@ -1224,9 +1216,9 @@ legend + .control-group {
}
table
{
max-width
:
100%
;
background-color
:
transparent
;
border-collapse
:
collapse
;
border-spacing
:
0
;
background-color
:
transparent
;
}
.table
{
width
:
100%
;
...
...
@@ -1263,9 +1255,9 @@ table {
}
.table-bordered
{
border
:
1px
solid
#dddddd
;
border-left
:
0
;
border-collapse
:
separate
;
*
border-collapse
:
collapsed
;
border-left
:
0
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
...
...
@@ -1288,14 +1280,14 @@ table {
.table-bordered
thead
:first-child
tr
:first-child
th
:first-child
,
.table-bordered
tbody
:first-child
tr
:first-child
td
:first-child
{
-webkit-border-top-left-radius
:
4px
;
-moz-border-radius-topleft
:
4px
;
border-top-left-radius
:
4px
;
-moz-border-radius-topleft
:
4px
;
}
.table-bordered
thead
:first-child
tr
:first-child
th
:last-child
,
.table-bordered
tbody
:first-child
tr
:first-child
td
:last-child
{
-webkit-border-top-right-radius
:
4px
;
-moz-border-radius-topright
:
4px
;
border-top-right-radius
:
4px
;
-moz-border-radius-topright
:
4px
;
}
.table-bordered
thead
:last-child
tr
:last-child
th
:first-child
,
.table-bordered
tbody
:last-child
tr
:last-child
td
:first-child
{
...
...
@@ -1303,14 +1295,14 @@ table {
-moz-border-radius
:
0
0
0
4px
;
border-radius
:
0
0
0
4px
;
-webkit-border-bottom-left-radius
:
4px
;
-moz-border-radius-bottomleft
:
4px
;
border-bottom-left-radius
:
4px
;
-moz-border-radius-bottomleft
:
4px
;
}
.table-bordered
thead
:last-child
tr
:last-child
th
:last-child
,
.table-bordered
tbody
:last-child
tr
:last-child
td
:last-child
{
-webkit-border-bottom-right-radius
:
4px
;
-moz-border-radius-bottomright
:
4px
;
border-bottom-right-radius
:
4px
;
-moz-border-radius-bottomright
:
4px
;
}
.table-striped
tbody
tr
:nth-child
(
odd
)
td
,
.table-striped
tbody
tr
:nth-child
(
odd
)
th
{
...
...
@@ -1445,12 +1437,12 @@ table .span24 {
display
:
inline-block
;
width
:
14px
;
height
:
14px
;
*
margin-right
:
.3em
;
line-height
:
14px
;
vertical-align
:
text-top
;
background-image
:
url("../img/glyphicons-halflings.png")
;
background-position
:
14px
14px
;
background-repeat
:
no-repeat
;
*
margin-right
:
.3em
;
}
[
class
^=
"icon-"
]
:last-child
,
[
class
*=
" icon-"
]
:last-child
{
...
...
@@ -1895,12 +1887,12 @@ table .span24 {
width
:
0
;
height
:
0
;
vertical-align
:
top
;
border-left
:
4px
solid
transparent
;
border-right
:
4px
solid
transparent
;
border-top
:
4px
solid
#000000
;
border-right
:
4px
solid
transparent
;
border-left
:
4px
solid
transparent
;
content
:
""
;
opacity
:
0.3
;
filter
:
alpha
(
opacity
=
30
);
content
:
""
;
}
.dropdown
.caret
{
margin-top
:
8px
;
...
...
@@ -1916,8 +1908,8 @@ table .span24 {
top
:
100%
;
left
:
0
;
z-index
:
1000
;
float
:
left
;
display
:
none
;
float
:
left
;
min-width
:
160px
;
padding
:
4px
0
;
margin
:
1px
0
0
;
...
...
@@ -1925,6 +1917,8 @@ table .span24 {
background-color
:
#ffffff
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.2
);
*
border-right-width
:
2px
;
*
border-bottom-width
:
2px
;
-webkit-border-radius
:
5px
;
-moz-border-radius
:
5px
;
border-radius
:
5px
;
...
...
@@ -1934,21 +1928,19 @@ table .span24 {
-webkit-background-clip
:
padding-box
;
-moz-background-clip
:
padding
;
background-clip
:
padding-box
;
*
border-right-width
:
2px
;
*
border-bottom-width
:
2px
;
}
.dropdown-menu.pull-right
{
right
:
0
;
left
:
auto
;
}
.dropdown-menu
.divider
{
*
width
:
100%
;
height
:
1px
;
margin
:
8px
1px
;
*
margin
:
-5px
0
5px
;
overflow
:
hidden
;
background-color
:
#e5e5e5
;
border-bottom
:
1px
solid
#ffffff
;
*
width
:
100%
;
*
margin
:
-5px
0
5px
;
}
.dropdown-menu
a
{
display
:
block
;
...
...
@@ -1973,8 +1965,8 @@ table .span24 {
display
:
block
;
}
.pull-right
.dropdown-menu
{
left
:
auto
;
right
:
0
;
left
:
auto
;
}
.dropup
.caret
,
.navbar-fixed-bottom
.dropdown
.caret
{
...
...
@@ -2025,25 +2017,25 @@ table .span24 {
border-radius
:
3px
;
}
.fade
{
opacity
:
0
;
-webkit-transition
:
opacity
0.15s
linear
;
-moz-transition
:
opacity
0.15s
linear
;
-ms-transition
:
opacity
0.15s
linear
;
-o-transition
:
opacity
0.15s
linear
;
transition
:
opacity
0.15s
linear
;
opacity
:
0
;
}
.fade.in
{
opacity
:
1
;
}
.collapse
{
position
:
relative
;
height
:
0
;
overflow
:
hidden
;
-webkit-transition
:
height
0.35s
ease
;
-moz-transition
:
height
0.35s
ease
;
-ms-transition
:
height
0.35s
ease
;
-o-transition
:
height
0.35s
ease
;
transition
:
height
0.35s
ease
;
position
:
relative
;
overflow
:
hidden
;
height
:
0
;
}
.collapse.in
{
height
:
auto
;
...
...
@@ -2061,9 +2053,9 @@ table .span24 {
.close
:hover
{
color
:
#000000
;
text-decoration
:
none
;
cursor
:
pointer
;
opacity
:
0.4
;
filter
:
alpha
(
opacity
=
40
);
cursor
:
pointer
;
}
button
.close
{
padding
:
0
;
...
...
@@ -2082,10 +2074,12 @@ button.close {
margin-bottom
:
0
;
font-size
:
13px
;
line-height
:
18px
;
*
line-height
:
20px
;
color
:
#333333
;
text-align
:
center
;
text-shadow
:
0
1px
1px
rgba
(
255
,
255
,
255
,
0.75
);
vertical-align
:
middle
;
cursor
:
pointer
;
background-color
:
#f5f5f5
;
background-image
:
-moz-linear-gradient
(
top
,
#ffffff
,
#e6e6e6
);
background-image
:
-ms-linear-gradient
(
top
,
#ffffff
,
#e6e6e6
);
...
...
@@ -2097,24 +2091,20 @@ button.close {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffff'
,
endColorstr
=
'#e6e6e6'
,
GradientType
=
0
);
border-color
:
#e6e6e6
#e6e6e6
#bfbfbf
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#e6e6e6
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
border
:
1px
solid
#cccccc
;
*
border
:
0
;
border-bottom-color
:
#b3b3b3
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
*
margin-left
:
.3em
;
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
-moz-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
cursor
:
pointer
;
*
margin-left
:
.3em
;
/* Remove the border to prevent IE7's black border on input:focus */
*
border
:
0
;
*
line-height
:
20px
;
}
.btn
:hover
,
.btn
:active
,
...
...
@@ -2152,19 +2142,19 @@ button.close {
}
.btn.active
,
.btn
:active
{
background-color
:
#e6e6e6
;
background-color
:
#d9d9d9
\
9
;
background-image
:
none
;
outline
:
0
;
-webkit-box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
-moz-box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
background-color
:
#e6e6e6
;
background-color
:
#d9d9d9
\
9
;
outline
:
0
;
}
.btn.disabled
,
.btn
[
disabled
]
{
cursor
:
default
;
background-image
:
none
;
background-color
:
#e6e6e6
;
background-image
:
none
;
opacity
:
0.65
;
filter
:
alpha
(
opacity
=
65
);
-webkit-box-shadow
:
none
;
...
...
@@ -2207,8 +2197,8 @@ button.close {
.btn-info
:hover
,
.btn-inverse
,
.btn-inverse
:hover
{
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
color
:
#ffffff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
}
.btn-primary.active
,
.btn-warning.active
,
...
...
@@ -2230,10 +2220,10 @@ button.close {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#0088cc'
,
endColorstr
=
'#0055cc'
,
GradientType
=
0
);
border-color
:
#0055cc
#0055cc
#003580
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#0055cc
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
}
.btn-primary
:hover
,
.btn-primary
:active
,
...
...
@@ -2259,10 +2249,10 @@ button.close {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fbb450'
,
endColorstr
=
'#f89406'
,
GradientType
=
0
);
border-color
:
#f89406
#f89406
#ad6704
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#f89406
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
}
.btn-warning
:hover
,
.btn-warning
:active
,
...
...
@@ -2288,10 +2278,10 @@ button.close {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ee5f5b'
,
endColorstr
=
'#bd362f'
,
GradientType
=
0
);
border-color
:
#bd362f
#bd362f
#802420
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#bd362f
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
}
.btn-danger
:hover
,
.btn-danger
:active
,
...
...
@@ -2317,10 +2307,10 @@ button.close {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#62c462'
,
endColorstr
=
'#51a351'
,
GradientType
=
0
);
border-color
:
#51a351
#51a351
#387038
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#51a351
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
}
.btn-success
:hover
,
.btn-success
:active
,
...
...
@@ -2346,10 +2336,10 @@ button.close {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#5bc0de'
,
endColorstr
=
'#2f96b4'
,
GradientType
=
0
);
border-color
:
#2f96b4
#2f96b4
#1f6377
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#2f96b4
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
}
.btn-info
:hover
,
.btn-info
:active
,
...
...
@@ -2375,10 +2365,10 @@ button.close {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#555555'
,
endColorstr
=
'#222222'
,
GradientType
=
0
);
border-color
:
#222222
#222222
#000000
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#222222
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
}
.btn-inverse
:hover
,
.btn-inverse
:active
,
...
...
@@ -2686,13 +2676,13 @@ input[type="submit"].btn.btn-mini {
margin-right
:
2px
;
}
.nav-list
.divider
{
*
width
:
100%
;
height
:
1px
;
margin
:
8px
1px
;
*
margin
:
-5px
0
5px
;
overflow
:
hidden
;
background-color
:
#e5e5e5
;
border-bottom
:
1px
solid
#ffffff
;
*
width
:
100%
;
*
margin
:
-5px
0
5px
;
}
.nav-tabs
,
.nav-pills
{
...
...
@@ -3180,10 +3170,10 @@ input[type="submit"].btn.btn-mini {
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#333333'
,
endColorstr
=
'#222222'
,
GradientType
=
0
);
border-color
:
#222222
#222222
#000000
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
*
background-color
:
#222222
;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
.075
);
-moz-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
.075
);
...
...
docs/assets/js/bootstrap-typeahead.js
View file @
62a0f5fd
...
...
@@ -32,6 +32,7 @@
this
.
matcher
=
this
.
options
.
matcher
||
this
.
matcher
this
.
sorter
=
this
.
options
.
sorter
||
this
.
sorter
this
.
highlighter
=
this
.
options
.
highlighter
||
this
.
highlighter
this
.
updater
=
this
.
options
.
updater
||
this
.
updater
this
.
$menu
=
$
(
this
.
options
.
menu
).
appendTo
(
'
body
'
)
this
.
source
=
this
.
options
.
source
this
.
shown
=
false
...
...
@@ -45,11 +46,15 @@
,
select
:
function
()
{
var
val
=
this
.
$menu
.
find
(
'
.active
'
).
attr
(
'
data-value
'
)
this
.
$element
.
val
(
val
)
.
val
(
this
.
updater
(
val
)
)
.
change
()
return
this
.
hide
()
}
,
updater
:
function
(
item
)
{
return
item
}
,
show
:
function
()
{
var
pos
=
$
.
extend
({},
this
.
$element
.
offset
(),
{
height
:
this
.
$element
[
0
].
offsetHeight
...
...
docs/assets/js/bootstrap.js
View file @
62a0f5fd
...
...
@@ -1565,6 +1565,7 @@
this
.
matcher
=
this
.
options
.
matcher
||
this
.
matcher
this
.
sorter
=
this
.
options
.
sorter
||
this
.
sorter
this
.
highlighter
=
this
.
options
.
highlighter
||
this
.
highlighter
this
.
updater
=
this
.
options
.
updater
||
this
.
updater
this
.
$menu
=
$
(
this
.
options
.
menu
).
appendTo
(
'
body
'
)
this
.
source
=
this
.
options
.
source
this
.
shown
=
false
...
...
@@ -1578,11 +1579,15 @@
,
select
:
function
()
{
var
val
=
this
.
$menu
.
find
(
'
.active
'
).
attr
(
'
data-value
'
)
this
.
$element
.
val
(
val
)
.
val
(
this
.
updater
(
val
)
)
.
change
()
return
this
.
hide
()
}
,
updater
:
function
(
item
)
{
return
item
}
,
show
:
function
()
{
var
pos
=
$
.
extend
({},
this
.
$element
.
offset
(),
{
height
:
this
.
$element
[
0
].
offsetHeight
...
...
docs/assets/js/bootstrap.min.js
View file @
62a0f5fd
...
...
@@ -3,4 +3,4 @@
* Copyright 2012 Twitter, Inc.
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
!
function
(
a
){
a
(
function
(){
"
use strict
"
,
a
.
support
.
transition
=
function
(){
var
a
=
function
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd
"
,
msTransition
:
"
MSTransitionEnd
"
,
transition
:
"
transitionend
"
},
c
;
for
(
c
in
b
)
if
(
a
.
style
[
c
]
!==
undefined
)
return
b
[
c
]}();
return
a
&&
{
end
:
a
}}()})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
'
[data-dismiss="alert"]
'
,
c
=
function
(
c
){
a
(
c
).
on
(
"
click
"
,
b
,
this
.
close
)};
c
.
prototype
.
close
=
function
(
b
){
function
f
(){
e
.
trigger
(
"
closed
"
).
remove
()}
var
c
=
a
(
this
),
d
=
c
.
attr
(
"
data-target
"
),
e
;
d
||
(
d
=
c
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
e
=
a
(
d
),
b
&&
b
.
preventDefault
(),
e
.
length
||
(
e
=
c
.
hasClass
(
"
alert
"
)?
c
:
c
.
parent
()),
e
.
trigger
(
b
=
a
.
Event
(
"
close
"
));
if
(
b
.
isDefaultPrevented
())
return
;
e
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
e
.
hasClass
(
"
fade
"
)?
e
.
on
(
a
.
support
.
transition
.
end
,
f
):
f
()},
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
alert
"
);
e
||
d
.
data
(
"
alert
"
,
e
=
new
c
(
this
)),
typeof
b
==
"
string
"
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.alert.data-api
"
,
b
,
c
.
prototype
.
close
)})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
a
.
fn
.
button
.
defaults
,
c
)};
b
.
prototype
.
setState
=
function
(
a
){
var
b
=
"
disabled
"
,
c
=
this
.
$element
,
d
=
c
.
data
(),
e
=
c
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
;
a
+=
"
Text
"
,
d
.
resetText
||
c
.
data
(
"
resetText
"
,
c
[
e
]()),
c
[
e
](
d
[
a
]
||
this
.
options
[
a
]),
setTimeout
(
function
(){
a
==
"
loadingText
"
?
c
.
addClass
(
b
).
attr
(
b
,
b
):
c
.
removeClass
(
b
).
removeAttr
(
b
)},
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=
this
.
$element
.
parent
(
'
[data-toggle="buttons-radio"]
'
);
a
&&
a
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
toggleClass
(
"
active
"
)},
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
button
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
button
"
,
e
=
new
b
(
this
,
f
)),
c
==
"
toggle
"
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
defaults
=
{
loadingText
:
"
loading...
"
},
a
.
fn
.
button
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"
btn
"
)
||
(
c
=
c
.
closest
(
"
.btn
"
)),
c
.
button
(
"
toggle
"
)})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
c
,
this
.
options
.
slide
&&
this
.
slide
(
this
.
options
.
slide
),
this
.
options
.
pause
==
"
hover
"
&&
this
.
$element
.
on
(
"
mouseenter
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
prototype
=
{
cycle
:
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
to
:
function
(
b
){
var
c
=
this
.
$element
.
find
(
"
.active
"
),
d
=
c
.
parent
().
children
(),
e
=
d
.
index
(
c
),
f
=
this
;
if
(
b
>
d
.
length
-
1
||
b
<
0
)
return
;
return
this
.
sliding
?
this
.
$element
.
one
(
"
slid
"
,
function
(){
f
.
to
(
b
)}):
e
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
e
?
"
next
"
:
"
prev
"
,
a
(
d
[
b
]))},
pause
:
function
(
a
){
return
a
||
(
this
.
paused
=!
0
),
clearInterval
(
this
.
interval
),
this
.
interval
=
null
,
this
},
next
:
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
next
"
)},
prev
:
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
prev
"
)},
slide
:
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
"
.active
"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
b
==
"
next
"
?
"
left
"
:
"
right
"
,
h
=
b
==
"
next
"
?
"
first
"
:
"
last
"
,
i
=
this
,
j
=
a
.
Event
(
"
slide
"
);
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
e
=
e
.
length
?
e
:
this
.
$element
.
find
(
"
.item
"
)[
h
]();
if
(
e
.
hasClass
(
"
active
"
))
return
;
if
(
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)){
this
.
$element
.
trigger
(
j
);
if
(
j
.
isDefaultPrevented
())
return
;
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
e
.
removeClass
([
b
,
g
].
join
(
"
"
)).
addClass
(
"
active
"
),
d
.
removeClass
([
"
active
"
,
g
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
"
slid
"
)},
0
)})}
else
{
this
.
$element
.
trigger
(
j
);
if
(
j
.
isDefaultPrevented
())
return
;
d
.
removeClass
(
"
active
"
),
e
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid
"
)}
return
f
&&
this
.
cycle
(),
this
}},
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
carousel
"
),
f
=
a
.
extend
({},
a
.
fn
.
carousel
.
defaults
,
typeof
c
==
"
object
"
&&
c
);
e
||
d
.
data
(
"
carousel
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
number
"
?
e
.
to
(
c
):
typeof
c
==
"
string
"
||
(
c
=
f
.
slide
)?
e
[
c
]():
f
.
interval
&&
e
.
cycle
()})},
a
.
fn
.
carousel
.
defaults
=
{
interval
:
5
e3
,
pause
:
"
hover
"
},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.carousel.data-api
"
,
"
[data-slide]
"
,
function
(
b
){
var
c
=
a
(
this
),
d
,
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
(
d
=
c
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=!
e
.
data
(
"
modal
"
)
&&
a
.
extend
({},
e
.
data
(),
c
.
data
());
e
.
carousel
(
f
),
b
.
preventDefault
()})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
a
.
fn
.
collapse
.
defaults
,
c
),
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
prototype
=
{
constructor
:
b
,
dimension
:
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
show
:
function
(){
var
b
,
c
,
d
,
e
;
if
(
this
.
transitioning
)
return
;
b
=
this
.
dimension
(),
c
=
a
.
camelCase
([
"
scroll
"
,
b
].
join
(
"
-
"
)),
d
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .accordion-group > .in
"
);
if
(
d
&&
d
.
length
){
e
=
d
.
data
(
"
collapse
"
);
if
(
e
&&
e
.
transitioning
)
return
;
d
.
collapse
(
"
hide
"
),
e
||
d
.
data
(
"
collapse
"
,
null
)}
this
.
$element
[
b
](
0
),
this
.
transition
(
"
addClass
"
,
a
.
Event
(
"
show
"
),
"
shown
"
),
this
.
$element
[
b
](
this
.
$element
[
0
][
c
])},
hide
:
function
(){
var
b
;
if
(
this
.
transitioning
)
return
;
b
=
this
.
dimension
(),
this
.
reset
(
this
.
$element
[
b
]()),
this
.
transition
(
"
removeClass
"
,
a
.
Event
(
"
hide
"
),
"
hidden
"
),
this
.
$element
[
b
](
0
)},
reset
:
function
(
a
){
var
b
=
this
.
dimension
();
return
this
.
$element
.
removeClass
(
"
collapse
"
)[
b
](
a
||
"
auto
"
)[
0
].
offsetWidth
,
this
.
$element
[
a
!==
null
?
"
addClass
"
:
"
removeClass
"
](
"
collapse
"
),
this
},
transition
:
function
(
b
,
c
,
d
){
var
e
=
this
,
f
=
function
(){
c
==
"
show
"
&&
e
.
reset
(),
e
.
transitioning
=
0
,
e
.
$element
.
trigger
(
d
)};
this
.
$element
.
trigger
(
c
);
if
(
c
.
isDefaultPrevented
())
return
;
this
.
transitioning
=
1
,
this
.
$element
[
b
](
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
collapse
"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
f
):
f
()},
toggle
:
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()}},
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
collapse
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
collapse
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
defaults
=
{
toggle
:
!
0
},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.collapse.data-api
"
,
"
[data-toggle=collapse]
"
,
function
(
b
){
var
c
=
a
(
this
),
d
,
e
=
c
.
attr
(
"
data-target
"
)
||
b
.
preventDefault
()
||
(
d
=
c
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
).
data
(
"
collapse
"
)?
"
toggle
"
:
c
.
data
();
a
(
e
).
collapse
(
f
)})})}(
window
.
jQuery
),
!
function
(
a
){
function
d
(){
a
(
b
).
parent
().
removeClass
(
"
open
"
)}
"
use strict
"
;
var
b
=
'
[data-toggle="dropdown"]
'
,
c
=
function
(
b
){
var
c
=
a
(
b
).
on
(
"
click.dropdown.data-api
"
,
this
.
toggle
);
a
(
"
html
"
).
on
(
"
click.dropdown.data-api
"
,
function
(){
c
.
parent
().
removeClass
(
"
open
"
)})};
c
.
prototype
=
{
constructor
:
c
,
toggle
:
function
(
b
){
var
c
=
a
(
this
),
e
,
f
,
g
;
if
(
c
.
is
(
"
.disabled, :disabled
"
))
return
;
return
f
=
c
.
attr
(
"
data-target
"
),
f
||
(
f
=
c
.
attr
(
"
href
"
),
f
=
f
&&
f
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
e
=
a
(
f
),
e
.
length
||
(
e
=
c
.
parent
()),
g
=
e
.
hasClass
(
"
open
"
),
d
(),
g
||
e
.
toggleClass
(
"
open
"
),
!
1
}},
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
dropdown
"
);
e
||
d
.
data
(
"
dropdown
"
,
e
=
new
c
(
this
)),
typeof
b
==
"
string
"
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
dropdown
.
Constructor
=
c
,
a
(
function
(){
a
(
"
html
"
).
on
(
"
click.dropdown.data-api
"
,
d
),
a
(
"
body
"
).
on
(
"
click.dropdown
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.dropdown.data-api
"
,
b
,
c
.
prototype
.
toggle
)})}(
window
.
jQuery
),
!
function
(
a
){
function
c
(){
var
b
=
this
,
c
=
setTimeout
(
function
(){
b
.
$element
.
off
(
a
.
support
.
transition
.
end
),
d
.
call
(
b
)},
500
);
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
c
),
d
.
call
(
b
)})}
function
d
(
a
){
this
.
$element
.
hide
().
trigger
(
"
hidden
"
),
e
.
call
(
this
)}
function
e
(
b
){
var
c
=
this
,
d
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
e
=
a
.
support
.
transition
&&
d
;
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
d
+
'
" />
'
).
appendTo
(
document
.
body
),
this
.
options
.
backdrop
!=
"
static
"
&&
this
.
$backdrop
.
click
(
a
.
proxy
(
this
.
hide
,
this
)),
e
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
e
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
f
,
this
)):
f
.
call
(
this
)):
b
&&
b
()}
function
f
(){
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
}
function
g
(){
var
b
=
this
;
this
.
isShown
&&
this
.
options
.
keyboard
?
a
(
document
).
on
(
"
keyup.dismiss.modal
"
,
function
(
a
){
a
.
which
==
27
&&
b
.
hide
()}):
this
.
isShown
||
a
(
document
).
off
(
"
keyup.dismiss.modal
"
)}
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$element
=
a
(
b
).
delegate
(
'
[data-dismiss="modal"]
'
,
"
click.dismiss.modal
"
,
a
.
proxy
(
this
.
hide
,
this
))};
b
.
prototype
=
{
constructor
:
b
,
toggle
:
function
(){
return
this
[
this
.
isShown
?
"
hide
"
:
"
show
"
]()},
show
:
function
(){
var
b
=
this
,
c
=
a
.
Event
(
"
show
"
);
this
.
$element
.
trigger
(
c
);
if
(
this
.
isShown
||
c
.
isDefaultPrevented
())
return
;
a
(
"
body
"
).
addClass
(
"
modal-open
"
),
this
.
isShown
=!
0
,
g
.
call
(
this
),
e
.
call
(
this
,
function
(){
var
c
=
a
.
support
.
transition
&&
b
.
$element
.
hasClass
(
"
fade
"
);
b
.
$element
.
parent
().
length
||
b
.
$element
.
appendTo
(
document
.
body
),
b
.
$element
.
show
(),
c
&&
b
.
$element
[
0
].
offsetWidth
,
b
.
$element
.
addClass
(
"
in
"
),
c
?
b
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
b
.
$element
.
trigger
(
"
shown
"
)}):
b
.
$element
.
trigger
(
"
shown
"
)})},
hide
:
function
(
b
){
b
&&
b
.
preventDefault
();
var
e
=
this
;
b
=
a
.
Event
(
"
hide
"
),
this
.
$element
.
trigger
(
b
);
if
(
!
this
.
isShown
||
b
.
isDefaultPrevented
())
return
;
this
.
isShown
=!
1
,
a
(
"
body
"
).
removeClass
(
"
modal-open
"
),
g
.
call
(
this
),
this
.
$element
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
c
.
call
(
this
):
d
.
call
(
this
)}},
a
.
fn
.
modal
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
modal
"
),
f
=
a
.
extend
({},
a
.
fn
.
modal
.
defaults
,
d
.
data
(),
typeof
c
==
"
object
"
&&
c
);
e
||
d
.
data
(
"
modal
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
?
e
[
c
]():
f
.
show
&&
e
.
show
()})},
a
.
fn
.
modal
.
defaults
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
a
.
fn
.
modal
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
b
){
var
c
=
a
(
this
),
d
,
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
(
d
=
c
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"
modal
"
)?
"
toggle
"
:
a
.
extend
({},
e
.
data
(),
c
.
data
());
b
.
preventDefault
(),
e
.
modal
(
f
)})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
tooltip
"
,
a
,
b
)};
b
.
prototype
=
{
constructor
:
b
,
init
:
function
(
b
,
c
,
d
){
var
e
,
f
;
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
enabled
=!
0
,
this
.
options
.
trigger
!=
"
manual
"
&&
(
e
=
this
.
options
.
trigger
==
"
hover
"
?
"
mouseenter
"
:
"
focus
"
,
f
=
this
.
options
.
trigger
==
"
hover
"
?
"
mouseleave
"
:
"
blur
"
,
this
.
$element
.
on
(
e
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
f
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))),
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
getOptions
:
function
(
b
){
return
b
=
a
.
extend
({},
a
.
fn
[
this
.
type
].
defaults
,
b
,
this
.
$element
.
data
()),
b
.
delay
&&
typeof
b
.
delay
==
"
number
"
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
enter
:
function
(
b
){
var
c
=
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
this
.
type
);
if
(
!
c
.
options
.
delay
||!
c
.
options
.
delay
.
show
)
return
c
.
show
();
clearTimeout
(
this
.
timeout
),
c
.
hoverState
=
"
in
"
,
this
.
timeout
=
setTimeout
(
function
(){
c
.
hoverState
==
"
in
"
&&
c
.
show
()},
c
.
options
.
delay
.
show
)},
leave
:
function
(
b
){
var
c
=
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
this
.
type
);
if
(
!
c
.
options
.
delay
||!
c
.
options
.
delay
.
hide
)
return
c
.
hide
();
clearTimeout
(
this
.
timeout
),
c
.
hoverState
=
"
out
"
,
this
.
timeout
=
setTimeout
(
function
(){
c
.
hoverState
==
"
out
"
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)},
show
:
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
;
if
(
this
.
hasContent
()
&&
this
.
enabled
){
a
=
this
.
tip
(),
this
.
setContent
(),
this
.
options
.
animation
&&
a
.
addClass
(
"
fade
"
),
f
=
typeof
this
.
options
.
placement
==
"
function
"
?
this
.
options
.
placement
.
call
(
this
,
a
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
b
=
/in/
.
test
(
f
),
a
.
remove
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
appendTo
(
b
?
this
.
$element
:
document
.
body
),
c
=
this
.
getPosition
(
b
),
d
=
a
[
0
].
offsetWidth
,
e
=
a
[
0
].
offsetHeight
;
switch
(
b
?
f
.
split
(
"
"
)[
1
]:
f
){
case
"
bottom
"
:
g
=
{
top
:
c
.
top
+
c
.
height
,
left
:
c
.
left
+
c
.
width
/
2
-
d
/
2
};
break
;
case
"
top
"
:
g
=
{
top
:
c
.
top
-
e
,
left
:
c
.
left
+
c
.
width
/
2
-
d
/
2
};
break
;
case
"
left
"
:
g
=
{
top
:
c
.
top
+
c
.
height
/
2
-
e
/
2
,
left
:
c
.
left
-
d
};
break
;
case
"
right
"
:
g
=
{
top
:
c
.
top
+
c
.
height
/
2
-
e
/
2
,
left
:
c
.
left
+
c
.
width
}}
a
.
css
(
g
).
addClass
(
f
).
addClass
(
"
in
"
)}},
isHTML
:
function
(
a
){
return
typeof
a
!=
"
string
"
||
a
.
charAt
(
0
)
===
"
<
"
&&
a
.
charAt
(
a
.
length
-
1
)
===
"
>
"
&&
a
.
length
>=
3
||
/^
(?:[^
<
]
*<
[\w\W]
+>
[^
>
]
*$
)
/
.
exec
(
a
)},
setContent
:
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
isHTML
(
b
)?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
hide
:
function
(){
function
d
(){
var
b
=
setTimeout
(
function
(){
c
.
off
(
a
.
support
.
transition
.
end
).
remove
()},
500
);
c
.
one
(
a
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
b
),
c
.
remove
()})}
var
b
=
this
,
c
=
this
.
tip
();
c
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
():
c
.
remove
()},
fixTitle
:
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
typeof
a
.
attr
(
"
data-original-title
"
)
!=
"
string
"
)
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
removeAttr
(
"
title
"
)},
hasContent
:
function
(){
return
this
.
getTitle
()},
getPosition
:
function
(
b
){
return
a
.
extend
({},
b
?{
top
:
0
,
left
:
0
}:
this
.
$element
.
offset
(),{
width
:
this
.
$element
[
0
].
offsetWidth
,
height
:
this
.
$element
[
0
].
offsetHeight
})},
getTitle
:
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
typeof
c
.
title
==
"
function
"
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
),
a
},
tip
:
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
validate
:
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
enable
:
function
(){
this
.
enabled
=!
0
},
disable
:
function
(){
this
.
enabled
=!
1
},
toggleEnabled
:
function
(){
this
.
enabled
=!
this
.
enabled
},
toggle
:
function
(){
this
[
this
.
tip
().
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()}},
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
tooltip
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
tooltip
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
defaults
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover
"
,
title
:
""
,
delay
:
0
}}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
,{
constructor
:
b
,
setContent
:
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
isHTML
(
b
)?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content > *
"
)[
this
.
isHTML
(
c
)?
"
html
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
)},
hasContent
:
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
getContent
:
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-content
"
)
||
(
typeof
c
.
content
==
"
function
"
?
c
.
content
.
call
(
b
[
0
]):
c
.
content
),
a
},
tip
:
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
}}),
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
popover
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
popover
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
defaults
=
a
.
extend
({},
a
.
fn
.
tooltip
.
defaults
,{
placement
:
"
right
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>
'
})}(
window
.
jQuery
),
!
function
(
a
){
function
b
(
b
,
c
){
var
d
=
a
.
proxy
(
this
.
process
,
this
),
e
=
a
(
b
).
is
(
"
body
"
)?
a
(
window
):
a
(
b
),
f
;
this
.
options
=
a
.
extend
({},
a
.
fn
.
scrollspy
.
defaults
,
c
),
this
.
$scrollElement
=
e
.
on
(
"
scroll.scroll.data-api
"
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
f
=
a
(
b
).
attr
(
"
href
"
))
&&
f
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
$body
=
a
(
"
body
"
).
on
(
"
click.scroll.data-api
"
,
this
.
selector
,
d
),
this
.
refresh
(),
this
.
process
()}
"
use strict
"
,
b
.
prototype
=
{
constructor
:
b
,
refresh
:
function
(){
var
b
=
this
,
c
;
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
c
=
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
b
=
a
(
this
).
attr
(
"
href
"
),
c
=
/^#
\w
/
.
test
(
b
)
&&
a
(
b
);
return
c
&&
b
.
length
&&
[[
c
.
position
().
top
,
b
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
b
.
offsets
.
push
(
this
[
0
]),
b
.
targets
.
push
(
this
[
1
])})},
process
:
function
(){
var
a
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
b
=
this
.
$scrollElement
[
0
].
scrollHeight
||
this
.
$body
[
0
].
scrollHeight
,
c
=
b
-
this
.
$scrollElement
.
height
(),
d
=
this
.
offsets
,
e
=
this
.
targets
,
f
=
this
.
activeTarget
,
g
;
if
(
a
>=
c
)
return
f
!=
(
g
=
e
.
last
()[
0
])
&&
this
.
activate
(
g
);
for
(
g
=
d
.
length
;
g
--
;)
f
!=
e
[
g
]
&&
a
>=
d
[
g
]
&&
(
!
d
[
g
+
1
]
||
a
<=
d
[
g
+
1
])
&&
this
.
activate
(
e
[
g
])},
activate
:
function
(
b
){
var
c
;
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parent
(
"
.active
"
).
removeClass
(
"
active
"
),
c
=
a
(
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
).
parent
(
"
li
"
).
addClass
(
"
active
"
),
c
.
parent
(
"
.dropdown-menu
"
)
&&
(
c
=
c
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
c
.
trigger
(
"
activate
"
)}},
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
scrollspy
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
scrollspy
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
defaults
=
{
offset
:
10
},
a
(
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
scrollspy
(
b
.
data
())})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
){
this
.
element
=
a
(
b
)};
b
.
prototype
=
{
constructor
:
b
,
show
:
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
attr
(
"
data-target
"
),
e
,
f
,
g
;
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
if
(
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
))
return
;
e
=
c
.
find
(
"
.active a
"
).
last
()[
0
],
g
=
a
.
Event
(
"
show
"
,{
relatedTarget
:
e
}),
b
.
trigger
(
g
);
if
(
g
.
isDefaultPrevented
())
return
;
f
=
a
(
d
),
this
.
activate
(
b
.
parent
(
"
li
"
),
c
),
this
.
activate
(
f
,
f
.
parent
(),
function
(){
b
.
trigger
({
type
:
"
shown
"
,
relatedTarget
:
e
})})},
activate
:
function
(
b
,
c
,
d
){
function
g
(){
e
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
b
.
addClass
(
"
active
"
),
f
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
)
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
d
&&
d
()}
var
e
=
c
.
find
(
"
> .active
"
),
f
=
d
&&
a
.
support
.
transition
&&
e
.
hasClass
(
"
fade
"
);
f
?
e
.
one
(
a
.
support
.
transition
.
end
,
g
):
g
(),
e
.
removeClass
(
"
in
"
)}},
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
tab
"
);
e
||
d
.
data
(
"
tab
"
,
e
=
new
b
(
this
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
b
){
b
.
preventDefault
(),
a
(
this
).
tab
(
"
show
"
)})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
a
.
fn
.
typeahead
.
defaults
,
c
),
this
.
matcher
=
this
.
options
.
matcher
||
this
.
matcher
,
this
.
sorter
=
this
.
options
.
sorter
||
this
.
sorter
,
this
.
highlighter
=
this
.
options
.
highlighter
||
this
.
highlighter
,
this
.
$menu
=
a
(
this
.
options
.
menu
).
appendTo
(
"
body
"
),
this
.
source
=
this
.
options
.
source
,
this
.
shown
=!
1
,
this
.
listen
()};
b
.
prototype
=
{
constructor
:
b
,
select
:
function
(){
var
a
=
this
.
$menu
.
find
(
"
.active
"
).
attr
(
"
data-value
"
);
return
this
.
$element
.
val
(
a
).
change
(),
this
.
hide
()},
show
:
function
(){
var
b
=
a
.
extend
({},
this
.
$element
.
offset
(),{
height
:
this
.
$element
[
0
].
offsetHeight
});
return
this
.
$menu
.
css
({
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
}),
this
.
$menu
.
show
(),
this
.
shown
=!
0
,
this
},
hide
:
function
(){
return
this
.
$menu
.
hide
(),
this
.
shown
=!
1
,
this
},
lookup
:
function
(
b
){
var
c
=
this
,
d
,
e
;
return
this
.
query
=
this
.
$element
.
val
(),
this
.
query
?(
d
=
a
.
grep
(
this
.
source
,
function
(
a
){
return
c
.
matcher
(
a
)}),
d
=
this
.
sorter
(
d
),
d
.
length
?
this
.
render
(
d
.
slice
(
0
,
this
.
options
.
items
)).
show
():
this
.
shown
?
this
.
hide
():
this
):
this
.
shown
?
this
.
hide
():
this
},
matcher
:
function
(
a
){
return
~
a
.
toLowerCase
().
indexOf
(
this
.
query
.
toLowerCase
())},
sorter
:
function
(
a
){
var
b
=
[],
c
=
[],
d
=
[],
e
;
while
(
e
=
a
.
shift
())
e
.
toLowerCase
().
indexOf
(
this
.
query
.
toLowerCase
())?
~
e
.
indexOf
(
this
.
query
)?
c
.
push
(
e
):
d
.
push
(
e
):
b
.
push
(
e
);
return
b
.
concat
(
c
,
d
)},
highlighter
:
function
(
a
){
var
b
=
this
.
query
.
replace
(
/
[\-\[\]
{}()*+?.,
\\\^
$|#
\s]
/g
,
"
\\
$&
"
);
return
a
.
replace
(
new
RegExp
(
"
(
"
+
b
+
"
)
"
,
"
ig
"
),
function
(
a
,
b
){
return
"
<strong>
"
+
b
+
"
</strong>
"
})},
render
:
function
(
b
){
var
c
=
this
;
return
b
=
a
(
b
).
map
(
function
(
b
,
d
){
return
b
=
a
(
c
.
options
.
item
).
attr
(
"
data-value
"
,
d
),
b
.
find
(
"
a
"
).
html
(
c
.
highlighter
(
d
)),
b
[
0
]}),
b
.
first
().
addClass
(
"
active
"
),
this
.
$menu
.
html
(
b
),
this
},
next
:
function
(
b
){
var
c
=
this
.
$menu
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
d
=
c
.
next
();
d
.
length
||
(
d
=
a
(
this
.
$menu
.
find
(
"
li
"
)[
0
])),
d
.
addClass
(
"
active
"
)},
prev
:
function
(
a
){
var
b
=
this
.
$menu
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
c
=
b
.
prev
();
c
.
length
||
(
c
=
this
.
$menu
.
find
(
"
li
"
).
last
()),
c
.
addClass
(
"
active
"
)},
listen
:
function
(){
this
.
$element
.
on
(
"
blur
"
,
a
.
proxy
(
this
.
blur
,
this
)).
on
(
"
keypress
"
,
a
.
proxy
(
this
.
keypress
,
this
)).
on
(
"
keyup
"
,
a
.
proxy
(
this
.
keyup
,
this
)),(
a
.
browser
.
webkit
||
a
.
browser
.
msie
)
&&
this
.
$element
.
on
(
"
keydown
"
,
a
.
proxy
(
this
.
keypress
,
this
)),
this
.
$menu
.
on
(
"
click
"
,
a
.
proxy
(
this
.
click
,
this
)).
on
(
"
mouseenter
"
,
"
li
"
,
a
.
proxy
(
this
.
mouseenter
,
this
))},
keyup
:
function
(
a
){
switch
(
a
.
keyCode
){
case
40
:
case
38
:
break
;
case
9
:
case
13
:
if
(
!
this
.
shown
)
return
;
this
.
select
();
break
;
case
27
:
if
(
!
this
.
shown
)
return
;
this
.
hide
();
break
;
default
:
this
.
lookup
()}
a
.
stopPropagation
(),
a
.
preventDefault
()},
keypress
:
function
(
a
){
if
(
!
this
.
shown
)
return
;
switch
(
a
.
keyCode
){
case
9
:
case
13
:
case
27
:
a
.
preventDefault
();
break
;
case
38
:
if
(
a
.
type
!=
"
keydown
"
)
break
;
a
.
preventDefault
(),
this
.
prev
();
break
;
case
40
:
if
(
a
.
type
!=
"
keydown
"
)
break
;
a
.
preventDefault
(),
this
.
next
()}
a
.
stopPropagation
()},
blur
:
function
(
a
){
var
b
=
this
;
setTimeout
(
function
(){
b
.
hide
()},
150
)},
click
:
function
(
a
){
a
.
stopPropagation
(),
a
.
preventDefault
(),
this
.
select
()},
mouseenter
:
function
(
b
){
this
.
$menu
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
a
(
b
.
currentTarget
).
addClass
(
"
active
"
)}},
a
.
fn
.
typeahead
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
typeahead
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
typeahead
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
typeahead
.
defaults
=
{
source
:[],
items
:
8
,
menu
:
'
<ul class="typeahead dropdown-menu"></ul>
'
,
item
:
'
<li><a href="#"></a></li>
'
},
a
.
fn
.
typeahead
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
focus.typeahead.data-api
"
,
'
[data-provide="typeahead"]
'
,
function
(
b
){
var
c
=
a
(
this
);
if
(
c
.
data
(
"
typeahead
"
))
return
;
b
.
preventDefault
(),
c
.
typeahead
(
c
.
data
())})})}(
window
.
jQuery
);
\ No newline at end of file
!
function
(
a
){
a
(
function
(){
"
use strict
"
,
a
.
support
.
transition
=
function
(){
var
a
=
function
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd
"
,
msTransition
:
"
MSTransitionEnd
"
,
transition
:
"
transitionend
"
},
c
;
for
(
c
in
b
)
if
(
a
.
style
[
c
]
!==
undefined
)
return
b
[
c
]}();
return
a
&&
{
end
:
a
}}()})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
'
[data-dismiss="alert"]
'
,
c
=
function
(
c
){
a
(
c
).
on
(
"
click
"
,
b
,
this
.
close
)};
c
.
prototype
.
close
=
function
(
b
){
function
f
(){
e
.
trigger
(
"
closed
"
).
remove
()}
var
c
=
a
(
this
),
d
=
c
.
attr
(
"
data-target
"
),
e
;
d
||
(
d
=
c
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
e
=
a
(
d
),
b
&&
b
.
preventDefault
(),
e
.
length
||
(
e
=
c
.
hasClass
(
"
alert
"
)?
c
:
c
.
parent
()),
e
.
trigger
(
b
=
a
.
Event
(
"
close
"
));
if
(
b
.
isDefaultPrevented
())
return
;
e
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
e
.
hasClass
(
"
fade
"
)?
e
.
on
(
a
.
support
.
transition
.
end
,
f
):
f
()},
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
alert
"
);
e
||
d
.
data
(
"
alert
"
,
e
=
new
c
(
this
)),
typeof
b
==
"
string
"
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.alert.data-api
"
,
b
,
c
.
prototype
.
close
)})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
a
.
fn
.
button
.
defaults
,
c
)};
b
.
prototype
.
setState
=
function
(
a
){
var
b
=
"
disabled
"
,
c
=
this
.
$element
,
d
=
c
.
data
(),
e
=
c
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
;
a
+=
"
Text
"
,
d
.
resetText
||
c
.
data
(
"
resetText
"
,
c
[
e
]()),
c
[
e
](
d
[
a
]
||
this
.
options
[
a
]),
setTimeout
(
function
(){
a
==
"
loadingText
"
?
c
.
addClass
(
b
).
attr
(
b
,
b
):
c
.
removeClass
(
b
).
removeAttr
(
b
)},
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=
this
.
$element
.
parent
(
'
[data-toggle="buttons-radio"]
'
);
a
&&
a
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
toggleClass
(
"
active
"
)},
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
button
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
button
"
,
e
=
new
b
(
this
,
f
)),
c
==
"
toggle
"
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
defaults
=
{
loadingText
:
"
loading...
"
},
a
.
fn
.
button
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"
btn
"
)
||
(
c
=
c
.
closest
(
"
.btn
"
)),
c
.
button
(
"
toggle
"
)})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
c
,
this
.
options
.
slide
&&
this
.
slide
(
this
.
options
.
slide
),
this
.
options
.
pause
==
"
hover
"
&&
this
.
$element
.
on
(
"
mouseenter
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
prototype
=
{
cycle
:
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
to
:
function
(
b
){
var
c
=
this
.
$element
.
find
(
"
.active
"
),
d
=
c
.
parent
().
children
(),
e
=
d
.
index
(
c
),
f
=
this
;
if
(
b
>
d
.
length
-
1
||
b
<
0
)
return
;
return
this
.
sliding
?
this
.
$element
.
one
(
"
slid
"
,
function
(){
f
.
to
(
b
)}):
e
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
e
?
"
next
"
:
"
prev
"
,
a
(
d
[
b
]))},
pause
:
function
(
a
){
return
a
||
(
this
.
paused
=!
0
),
clearInterval
(
this
.
interval
),
this
.
interval
=
null
,
this
},
next
:
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
next
"
)},
prev
:
function
(){
if
(
this
.
sliding
)
return
;
return
this
.
slide
(
"
prev
"
)},
slide
:
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
"
.active
"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
b
==
"
next
"
?
"
left
"
:
"
right
"
,
h
=
b
==
"
next
"
?
"
first
"
:
"
last
"
,
i
=
this
,
j
=
a
.
Event
(
"
slide
"
);
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
e
=
e
.
length
?
e
:
this
.
$element
.
find
(
"
.item
"
)[
h
]();
if
(
e
.
hasClass
(
"
active
"
))
return
;
if
(
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)){
this
.
$element
.
trigger
(
j
);
if
(
j
.
isDefaultPrevented
())
return
;
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
e
.
removeClass
([
b
,
g
].
join
(
"
"
)).
addClass
(
"
active
"
),
d
.
removeClass
([
"
active
"
,
g
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
"
slid
"
)},
0
)})}
else
{
this
.
$element
.
trigger
(
j
);
if
(
j
.
isDefaultPrevented
())
return
;
d
.
removeClass
(
"
active
"
),
e
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid
"
)}
return
f
&&
this
.
cycle
(),
this
}},
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
carousel
"
),
f
=
a
.
extend
({},
a
.
fn
.
carousel
.
defaults
,
typeof
c
==
"
object
"
&&
c
);
e
||
d
.
data
(
"
carousel
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
number
"
?
e
.
to
(
c
):
typeof
c
==
"
string
"
||
(
c
=
f
.
slide
)?
e
[
c
]():
f
.
interval
&&
e
.
cycle
()})},
a
.
fn
.
carousel
.
defaults
=
{
interval
:
5
e3
,
pause
:
"
hover
"
},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.carousel.data-api
"
,
"
[data-slide]
"
,
function
(
b
){
var
c
=
a
(
this
),
d
,
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
(
d
=
c
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=!
e
.
data
(
"
modal
"
)
&&
a
.
extend
({},
e
.
data
(),
c
.
data
());
e
.
carousel
(
f
),
b
.
preventDefault
()})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
a
.
fn
.
collapse
.
defaults
,
c
),
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
prototype
=
{
constructor
:
b
,
dimension
:
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
show
:
function
(){
var
b
,
c
,
d
,
e
;
if
(
this
.
transitioning
)
return
;
b
=
this
.
dimension
(),
c
=
a
.
camelCase
([
"
scroll
"
,
b
].
join
(
"
-
"
)),
d
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .accordion-group > .in
"
);
if
(
d
&&
d
.
length
){
e
=
d
.
data
(
"
collapse
"
);
if
(
e
&&
e
.
transitioning
)
return
;
d
.
collapse
(
"
hide
"
),
e
||
d
.
data
(
"
collapse
"
,
null
)}
this
.
$element
[
b
](
0
),
this
.
transition
(
"
addClass
"
,
a
.
Event
(
"
show
"
),
"
shown
"
),
this
.
$element
[
b
](
this
.
$element
[
0
][
c
])},
hide
:
function
(){
var
b
;
if
(
this
.
transitioning
)
return
;
b
=
this
.
dimension
(),
this
.
reset
(
this
.
$element
[
b
]()),
this
.
transition
(
"
removeClass
"
,
a
.
Event
(
"
hide
"
),
"
hidden
"
),
this
.
$element
[
b
](
0
)},
reset
:
function
(
a
){
var
b
=
this
.
dimension
();
return
this
.
$element
.
removeClass
(
"
collapse
"
)[
b
](
a
||
"
auto
"
)[
0
].
offsetWidth
,
this
.
$element
[
a
!==
null
?
"
addClass
"
:
"
removeClass
"
](
"
collapse
"
),
this
},
transition
:
function
(
b
,
c
,
d
){
var
e
=
this
,
f
=
function
(){
c
==
"
show
"
&&
e
.
reset
(),
e
.
transitioning
=
0
,
e
.
$element
.
trigger
(
d
)};
this
.
$element
.
trigger
(
c
);
if
(
c
.
isDefaultPrevented
())
return
;
this
.
transitioning
=
1
,
this
.
$element
[
b
](
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
collapse
"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
f
):
f
()},
toggle
:
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()}},
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
collapse
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
collapse
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
defaults
=
{
toggle
:
!
0
},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.collapse.data-api
"
,
"
[data-toggle=collapse]
"
,
function
(
b
){
var
c
=
a
(
this
),
d
,
e
=
c
.
attr
(
"
data-target
"
)
||
b
.
preventDefault
()
||
(
d
=
c
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
).
data
(
"
collapse
"
)?
"
toggle
"
:
c
.
data
();
a
(
e
).
collapse
(
f
)})})}(
window
.
jQuery
),
!
function
(
a
){
function
d
(){
a
(
b
).
parent
().
removeClass
(
"
open
"
)}
"
use strict
"
;
var
b
=
'
[data-toggle="dropdown"]
'
,
c
=
function
(
b
){
var
c
=
a
(
b
).
on
(
"
click.dropdown.data-api
"
,
this
.
toggle
);
a
(
"
html
"
).
on
(
"
click.dropdown.data-api
"
,
function
(){
c
.
parent
().
removeClass
(
"
open
"
)})};
c
.
prototype
=
{
constructor
:
c
,
toggle
:
function
(
b
){
var
c
=
a
(
this
),
e
,
f
,
g
;
if
(
c
.
is
(
"
.disabled, :disabled
"
))
return
;
return
f
=
c
.
attr
(
"
data-target
"
),
f
||
(
f
=
c
.
attr
(
"
href
"
),
f
=
f
&&
f
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
e
=
a
(
f
),
e
.
length
||
(
e
=
c
.
parent
()),
g
=
e
.
hasClass
(
"
open
"
),
d
(),
g
||
e
.
toggleClass
(
"
open
"
),
!
1
}},
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
dropdown
"
);
e
||
d
.
data
(
"
dropdown
"
,
e
=
new
c
(
this
)),
typeof
b
==
"
string
"
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
dropdown
.
Constructor
=
c
,
a
(
function
(){
a
(
"
html
"
).
on
(
"
click.dropdown.data-api
"
,
d
),
a
(
"
body
"
).
on
(
"
click.dropdown
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.dropdown.data-api
"
,
b
,
c
.
prototype
.
toggle
)})}(
window
.
jQuery
),
!
function
(
a
){
function
c
(){
var
b
=
this
,
c
=
setTimeout
(
function
(){
b
.
$element
.
off
(
a
.
support
.
transition
.
end
),
d
.
call
(
b
)},
500
);
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
c
),
d
.
call
(
b
)})}
function
d
(
a
){
this
.
$element
.
hide
().
trigger
(
"
hidden
"
),
e
.
call
(
this
)}
function
e
(
b
){
var
c
=
this
,
d
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
e
=
a
.
support
.
transition
&&
d
;
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
d
+
'
" />
'
).
appendTo
(
document
.
body
),
this
.
options
.
backdrop
!=
"
static
"
&&
this
.
$backdrop
.
click
(
a
.
proxy
(
this
.
hide
,
this
)),
e
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
e
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
f
,
this
)):
f
.
call
(
this
)):
b
&&
b
()}
function
f
(){
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
}
function
g
(){
var
b
=
this
;
this
.
isShown
&&
this
.
options
.
keyboard
?
a
(
document
).
on
(
"
keyup.dismiss.modal
"
,
function
(
a
){
a
.
which
==
27
&&
b
.
hide
()}):
this
.
isShown
||
a
(
document
).
off
(
"
keyup.dismiss.modal
"
)}
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$element
=
a
(
b
).
delegate
(
'
[data-dismiss="modal"]
'
,
"
click.dismiss.modal
"
,
a
.
proxy
(
this
.
hide
,
this
))};
b
.
prototype
=
{
constructor
:
b
,
toggle
:
function
(){
return
this
[
this
.
isShown
?
"
hide
"
:
"
show
"
]()},
show
:
function
(){
var
b
=
this
,
c
=
a
.
Event
(
"
show
"
);
this
.
$element
.
trigger
(
c
);
if
(
this
.
isShown
||
c
.
isDefaultPrevented
())
return
;
a
(
"
body
"
).
addClass
(
"
modal-open
"
),
this
.
isShown
=!
0
,
g
.
call
(
this
),
e
.
call
(
this
,
function
(){
var
c
=
a
.
support
.
transition
&&
b
.
$element
.
hasClass
(
"
fade
"
);
b
.
$element
.
parent
().
length
||
b
.
$element
.
appendTo
(
document
.
body
),
b
.
$element
.
show
(),
c
&&
b
.
$element
[
0
].
offsetWidth
,
b
.
$element
.
addClass
(
"
in
"
),
c
?
b
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
b
.
$element
.
trigger
(
"
shown
"
)}):
b
.
$element
.
trigger
(
"
shown
"
)})},
hide
:
function
(
b
){
b
&&
b
.
preventDefault
();
var
e
=
this
;
b
=
a
.
Event
(
"
hide
"
),
this
.
$element
.
trigger
(
b
);
if
(
!
this
.
isShown
||
b
.
isDefaultPrevented
())
return
;
this
.
isShown
=!
1
,
a
(
"
body
"
).
removeClass
(
"
modal-open
"
),
g
.
call
(
this
),
this
.
$element
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
c
.
call
(
this
):
d
.
call
(
this
)}},
a
.
fn
.
modal
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
modal
"
),
f
=
a
.
extend
({},
a
.
fn
.
modal
.
defaults
,
d
.
data
(),
typeof
c
==
"
object
"
&&
c
);
e
||
d
.
data
(
"
modal
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
?
e
[
c
]():
f
.
show
&&
e
.
show
()})},
a
.
fn
.
modal
.
defaults
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
a
.
fn
.
modal
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
b
){
var
c
=
a
(
this
),
d
,
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
(
d
=
c
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"
modal
"
)?
"
toggle
"
:
a
.
extend
({},
e
.
data
(),
c
.
data
());
b
.
preventDefault
(),
e
.
modal
(
f
)})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
tooltip
"
,
a
,
b
)};
b
.
prototype
=
{
constructor
:
b
,
init
:
function
(
b
,
c
,
d
){
var
e
,
f
;
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
enabled
=!
0
,
this
.
options
.
trigger
!=
"
manual
"
&&
(
e
=
this
.
options
.
trigger
==
"
hover
"
?
"
mouseenter
"
:
"
focus
"
,
f
=
this
.
options
.
trigger
==
"
hover
"
?
"
mouseleave
"
:
"
blur
"
,
this
.
$element
.
on
(
e
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
f
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))),
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
getOptions
:
function
(
b
){
return
b
=
a
.
extend
({},
a
.
fn
[
this
.
type
].
defaults
,
b
,
this
.
$element
.
data
()),
b
.
delay
&&
typeof
b
.
delay
==
"
number
"
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
enter
:
function
(
b
){
var
c
=
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
this
.
type
);
if
(
!
c
.
options
.
delay
||!
c
.
options
.
delay
.
show
)
return
c
.
show
();
clearTimeout
(
this
.
timeout
),
c
.
hoverState
=
"
in
"
,
this
.
timeout
=
setTimeout
(
function
(){
c
.
hoverState
==
"
in
"
&&
c
.
show
()},
c
.
options
.
delay
.
show
)},
leave
:
function
(
b
){
var
c
=
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
this
.
type
);
if
(
!
c
.
options
.
delay
||!
c
.
options
.
delay
.
hide
)
return
c
.
hide
();
clearTimeout
(
this
.
timeout
),
c
.
hoverState
=
"
out
"
,
this
.
timeout
=
setTimeout
(
function
(){
c
.
hoverState
==
"
out
"
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)},
show
:
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
;
if
(
this
.
hasContent
()
&&
this
.
enabled
){
a
=
this
.
tip
(),
this
.
setContent
(),
this
.
options
.
animation
&&
a
.
addClass
(
"
fade
"
),
f
=
typeof
this
.
options
.
placement
==
"
function
"
?
this
.
options
.
placement
.
call
(
this
,
a
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
b
=
/in/
.
test
(
f
),
a
.
remove
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
appendTo
(
b
?
this
.
$element
:
document
.
body
),
c
=
this
.
getPosition
(
b
),
d
=
a
[
0
].
offsetWidth
,
e
=
a
[
0
].
offsetHeight
;
switch
(
b
?
f
.
split
(
"
"
)[
1
]:
f
){
case
"
bottom
"
:
g
=
{
top
:
c
.
top
+
c
.
height
,
left
:
c
.
left
+
c
.
width
/
2
-
d
/
2
};
break
;
case
"
top
"
:
g
=
{
top
:
c
.
top
-
e
,
left
:
c
.
left
+
c
.
width
/
2
-
d
/
2
};
break
;
case
"
left
"
:
g
=
{
top
:
c
.
top
+
c
.
height
/
2
-
e
/
2
,
left
:
c
.
left
-
d
};
break
;
case
"
right
"
:
g
=
{
top
:
c
.
top
+
c
.
height
/
2
-
e
/
2
,
left
:
c
.
left
+
c
.
width
}}
a
.
css
(
g
).
addClass
(
f
).
addClass
(
"
in
"
)}},
isHTML
:
function
(
a
){
return
typeof
a
!=
"
string
"
||
a
.
charAt
(
0
)
===
"
<
"
&&
a
.
charAt
(
a
.
length
-
1
)
===
"
>
"
&&
a
.
length
>=
3
||
/^
(?:[^
<
]
*<
[\w\W]
+>
[^
>
]
*$
)
/
.
exec
(
a
)},
setContent
:
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
isHTML
(
b
)?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
hide
:
function
(){
function
d
(){
var
b
=
setTimeout
(
function
(){
c
.
off
(
a
.
support
.
transition
.
end
).
remove
()},
500
);
c
.
one
(
a
.
support
.
transition
.
end
,
function
(){
clearTimeout
(
b
),
c
.
remove
()})}
var
b
=
this
,
c
=
this
.
tip
();
c
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
():
c
.
remove
()},
fixTitle
:
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
typeof
a
.
attr
(
"
data-original-title
"
)
!=
"
string
"
)
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
removeAttr
(
"
title
"
)},
hasContent
:
function
(){
return
this
.
getTitle
()},
getPosition
:
function
(
b
){
return
a
.
extend
({},
b
?{
top
:
0
,
left
:
0
}:
this
.
$element
.
offset
(),{
width
:
this
.
$element
[
0
].
offsetWidth
,
height
:
this
.
$element
[
0
].
offsetHeight
})},
getTitle
:
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
typeof
c
.
title
==
"
function
"
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
),
a
},
tip
:
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
validate
:
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
enable
:
function
(){
this
.
enabled
=!
0
},
disable
:
function
(){
this
.
enabled
=!
1
},
toggleEnabled
:
function
(){
this
.
enabled
=!
this
.
enabled
},
toggle
:
function
(){
this
[
this
.
tip
().
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()}},
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
tooltip
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
tooltip
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
defaults
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover
"
,
title
:
""
,
delay
:
0
}}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
,{
constructor
:
b
,
setContent
:
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
isHTML
(
b
)?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content > *
"
)[
this
.
isHTML
(
c
)?
"
html
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
)},
hasContent
:
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
getContent
:
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-content
"
)
||
(
typeof
c
.
content
==
"
function
"
?
c
.
content
.
call
(
b
[
0
]):
c
.
content
),
a
},
tip
:
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
}}),
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
popover
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
popover
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
defaults
=
a
.
extend
({},
a
.
fn
.
tooltip
.
defaults
,{
placement
:
"
right
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>
'
})}(
window
.
jQuery
),
!
function
(
a
){
function
b
(
b
,
c
){
var
d
=
a
.
proxy
(
this
.
process
,
this
),
e
=
a
(
b
).
is
(
"
body
"
)?
a
(
window
):
a
(
b
),
f
;
this
.
options
=
a
.
extend
({},
a
.
fn
.
scrollspy
.
defaults
,
c
),
this
.
$scrollElement
=
e
.
on
(
"
scroll.scroll.data-api
"
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
f
=
a
(
b
).
attr
(
"
href
"
))
&&
f
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
$body
=
a
(
"
body
"
).
on
(
"
click.scroll.data-api
"
,
this
.
selector
,
d
),
this
.
refresh
(),
this
.
process
()}
"
use strict
"
,
b
.
prototype
=
{
constructor
:
b
,
refresh
:
function
(){
var
b
=
this
,
c
;
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
c
=
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
b
=
a
(
this
).
attr
(
"
href
"
),
c
=
/^#
\w
/
.
test
(
b
)
&&
a
(
b
);
return
c
&&
b
.
length
&&
[[
c
.
position
().
top
,
b
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
b
.
offsets
.
push
(
this
[
0
]),
b
.
targets
.
push
(
this
[
1
])})},
process
:
function
(){
var
a
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
b
=
this
.
$scrollElement
[
0
].
scrollHeight
||
this
.
$body
[
0
].
scrollHeight
,
c
=
b
-
this
.
$scrollElement
.
height
(),
d
=
this
.
offsets
,
e
=
this
.
targets
,
f
=
this
.
activeTarget
,
g
;
if
(
a
>=
c
)
return
f
!=
(
g
=
e
.
last
()[
0
])
&&
this
.
activate
(
g
);
for
(
g
=
d
.
length
;
g
--
;)
f
!=
e
[
g
]
&&
a
>=
d
[
g
]
&&
(
!
d
[
g
+
1
]
||
a
<=
d
[
g
+
1
])
&&
this
.
activate
(
e
[
g
])},
activate
:
function
(
b
){
var
c
;
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parent
(
"
.active
"
).
removeClass
(
"
active
"
),
c
=
a
(
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
).
parent
(
"
li
"
).
addClass
(
"
active
"
),
c
.
parent
(
"
.dropdown-menu
"
)
&&
(
c
=
c
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
c
.
trigger
(
"
activate
"
)}},
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
scrollspy
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
scrollspy
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
defaults
=
{
offset
:
10
},
a
(
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
scrollspy
(
b
.
data
())})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
){
this
.
element
=
a
(
b
)};
b
.
prototype
=
{
constructor
:
b
,
show
:
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
attr
(
"
data-target
"
),
e
,
f
,
g
;
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
if
(
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
))
return
;
e
=
c
.
find
(
"
.active a
"
).
last
()[
0
],
g
=
a
.
Event
(
"
show
"
,{
relatedTarget
:
e
}),
b
.
trigger
(
g
);
if
(
g
.
isDefaultPrevented
())
return
;
f
=
a
(
d
),
this
.
activate
(
b
.
parent
(
"
li
"
),
c
),
this
.
activate
(
f
,
f
.
parent
(),
function
(){
b
.
trigger
({
type
:
"
shown
"
,
relatedTarget
:
e
})})},
activate
:
function
(
b
,
c
,
d
){
function
g
(){
e
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
b
.
addClass
(
"
active
"
),
f
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
)
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
d
&&
d
()}
var
e
=
c
.
find
(
"
> .active
"
),
f
=
d
&&
a
.
support
.
transition
&&
e
.
hasClass
(
"
fade
"
);
f
?
e
.
one
(
a
.
support
.
transition
.
end
,
g
):
g
(),
e
.
removeClass
(
"
in
"
)}},
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
tab
"
);
e
||
d
.
data
(
"
tab
"
,
e
=
new
b
(
this
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
click.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
b
){
b
.
preventDefault
(),
a
(
this
).
tab
(
"
show
"
)})})}(
window
.
jQuery
),
!
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
a
.
fn
.
typeahead
.
defaults
,
c
),
this
.
matcher
=
this
.
options
.
matcher
||
this
.
matcher
,
this
.
sorter
=
this
.
options
.
sorter
||
this
.
sorter
,
this
.
highlighter
=
this
.
options
.
highlighter
||
this
.
highlighter
,
this
.
updater
=
this
.
options
.
updater
||
this
.
updater
,
this
.
$menu
=
a
(
this
.
options
.
menu
).
appendTo
(
"
body
"
),
this
.
source
=
this
.
options
.
source
,
this
.
shown
=!
1
,
this
.
listen
()};
b
.
prototype
=
{
constructor
:
b
,
select
:
function
(){
var
a
=
this
.
$menu
.
find
(
"
.active
"
).
attr
(
"
data-value
"
);
return
this
.
$element
.
val
(
this
.
updater
(
a
)).
change
(),
this
.
hide
()},
updater
:
function
(
a
){
return
a
},
show
:
function
(){
var
b
=
a
.
extend
({},
this
.
$element
.
offset
(),{
height
:
this
.
$element
[
0
].
offsetHeight
});
return
this
.
$menu
.
css
({
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
}),
this
.
$menu
.
show
(),
this
.
shown
=!
0
,
this
},
hide
:
function
(){
return
this
.
$menu
.
hide
(),
this
.
shown
=!
1
,
this
},
lookup
:
function
(
b
){
var
c
=
this
,
d
,
e
;
return
this
.
query
=
this
.
$element
.
val
(),
this
.
query
?(
d
=
a
.
grep
(
this
.
source
,
function
(
a
){
return
c
.
matcher
(
a
)}),
d
=
this
.
sorter
(
d
),
d
.
length
?
this
.
render
(
d
.
slice
(
0
,
this
.
options
.
items
)).
show
():
this
.
shown
?
this
.
hide
():
this
):
this
.
shown
?
this
.
hide
():
this
},
matcher
:
function
(
a
){
return
~
a
.
toLowerCase
().
indexOf
(
this
.
query
.
toLowerCase
())},
sorter
:
function
(
a
){
var
b
=
[],
c
=
[],
d
=
[],
e
;
while
(
e
=
a
.
shift
())
e
.
toLowerCase
().
indexOf
(
this
.
query
.
toLowerCase
())?
~
e
.
indexOf
(
this
.
query
)?
c
.
push
(
e
):
d
.
push
(
e
):
b
.
push
(
e
);
return
b
.
concat
(
c
,
d
)},
highlighter
:
function
(
a
){
var
b
=
this
.
query
.
replace
(
/
[\-\[\]
{}()*+?.,
\\\^
$|#
\s]
/g
,
"
\\
$&
"
);
return
a
.
replace
(
new
RegExp
(
"
(
"
+
b
+
"
)
"
,
"
ig
"
),
function
(
a
,
b
){
return
"
<strong>
"
+
b
+
"
</strong>
"
})},
render
:
function
(
b
){
var
c
=
this
;
return
b
=
a
(
b
).
map
(
function
(
b
,
d
){
return
b
=
a
(
c
.
options
.
item
).
attr
(
"
data-value
"
,
d
),
b
.
find
(
"
a
"
).
html
(
c
.
highlighter
(
d
)),
b
[
0
]}),
b
.
first
().
addClass
(
"
active
"
),
this
.
$menu
.
html
(
b
),
this
},
next
:
function
(
b
){
var
c
=
this
.
$menu
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
d
=
c
.
next
();
d
.
length
||
(
d
=
a
(
this
.
$menu
.
find
(
"
li
"
)[
0
])),
d
.
addClass
(
"
active
"
)},
prev
:
function
(
a
){
var
b
=
this
.
$menu
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
c
=
b
.
prev
();
c
.
length
||
(
c
=
this
.
$menu
.
find
(
"
li
"
).
last
()),
c
.
addClass
(
"
active
"
)},
listen
:
function
(){
this
.
$element
.
on
(
"
blur
"
,
a
.
proxy
(
this
.
blur
,
this
)).
on
(
"
keypress
"
,
a
.
proxy
(
this
.
keypress
,
this
)).
on
(
"
keyup
"
,
a
.
proxy
(
this
.
keyup
,
this
)),(
a
.
browser
.
webkit
||
a
.
browser
.
msie
)
&&
this
.
$element
.
on
(
"
keydown
"
,
a
.
proxy
(
this
.
keypress
,
this
)),
this
.
$menu
.
on
(
"
click
"
,
a
.
proxy
(
this
.
click
,
this
)).
on
(
"
mouseenter
"
,
"
li
"
,
a
.
proxy
(
this
.
mouseenter
,
this
))},
keyup
:
function
(
a
){
switch
(
a
.
keyCode
){
case
40
:
case
38
:
break
;
case
9
:
case
13
:
if
(
!
this
.
shown
)
return
;
this
.
select
();
break
;
case
27
:
if
(
!
this
.
shown
)
return
;
this
.
hide
();
break
;
default
:
this
.
lookup
()}
a
.
stopPropagation
(),
a
.
preventDefault
()},
keypress
:
function
(
a
){
if
(
!
this
.
shown
)
return
;
switch
(
a
.
keyCode
){
case
9
:
case
13
:
case
27
:
a
.
preventDefault
();
break
;
case
38
:
if
(
a
.
type
!=
"
keydown
"
)
break
;
a
.
preventDefault
(),
this
.
prev
();
break
;
case
40
:
if
(
a
.
type
!=
"
keydown
"
)
break
;
a
.
preventDefault
(),
this
.
next
()}
a
.
stopPropagation
()},
blur
:
function
(
a
){
var
b
=
this
;
setTimeout
(
function
(){
b
.
hide
()},
150
)},
click
:
function
(
a
){
a
.
stopPropagation
(),
a
.
preventDefault
(),
this
.
select
()},
mouseenter
:
function
(
b
){
this
.
$menu
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
a
(
b
.
currentTarget
).
addClass
(
"
active
"
)}},
a
.
fn
.
typeahead
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
typeahead
"
),
f
=
typeof
c
==
"
object
"
&&
c
;
e
||
d
.
data
(
"
typeahead
"
,
e
=
new
b
(
this
,
f
)),
typeof
c
==
"
string
"
&&
e
[
c
]()})},
a
.
fn
.
typeahead
.
defaults
=
{
source
:[],
items
:
8
,
menu
:
'
<ul class="typeahead dropdown-menu"></ul>
'
,
item
:
'
<li><a href="#"></a></li>
'
},
a
.
fn
.
typeahead
.
Constructor
=
b
,
a
(
function
(){
a
(
"
body
"
).
on
(
"
focus.typeahead.data-api
"
,
'
[data-provide="typeahead"]
'
,
function
(
b
){
var
c
=
a
(
this
);
if
(
c
.
data
(
"
typeahead
"
))
return
;
b
.
preventDefault
(),
c
.
typeahead
(
c
.
data
())})})}(
window
.
jQuery
);
\ No newline at end of file
js/bootstrap-typeahead.js
View file @
62a0f5fd
...
...
@@ -32,6 +32,7 @@
this
.
matcher
=
this
.
options
.
matcher
||
this
.
matcher
this
.
sorter
=
this
.
options
.
sorter
||
this
.
sorter
this
.
highlighter
=
this
.
options
.
highlighter
||
this
.
highlighter
this
.
updater
=
this
.
options
.
updater
||
this
.
updater
this
.
$menu
=
$
(
this
.
options
.
menu
).
appendTo
(
'
body
'
)
this
.
source
=
this
.
options
.
source
this
.
shown
=
false
...
...
@@ -45,11 +46,15 @@
,
select
:
function
()
{
var
val
=
this
.
$menu
.
find
(
'
.active
'
).
attr
(
'
data-value
'
)
this
.
$element
.
val
(
val
)
.
val
(
this
.
updater
(
val
)
)
.
change
()
return
this
.
hide
()
}
,
updater
:
function
(
item
)
{
return
item
}
,
show
:
function
()
{
var
pos
=
$
.
extend
({},
this
.
$element
.
offset
(),
{
height
:
this
.
$element
[
0
].
offsetHeight
...
...
less/buttons.less
View file @
62a0f5fd
...
...
@@ -13,23 +13,19 @@
margin-bottom: 0; // For input.btn
font-size: @baseFontSize;
line-height: @baseLineHeight;
*line-height: 20px;
color: @grayDark;
text-align: center;
text-shadow: 0 1px 1px rgba(255,255,255,.75);
vertical-align: middle;
cursor: pointer;
.buttonBackground(@btnBackground, @btnBackgroundHighlight);
border: 1px solid @btnBorder;
*border: 0; // Remove the border to prevent IE7's black border on input:focus
border-bottom-color: darken(@btnBorder, 10%);
.border-radius(4px);
.ie7-restore-left-whitespace(); // Give IE7 some love
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
cursor: pointer;
// Give IE7 some love
.ie7-restore-left-whitespace();
/* Remove the border to prevent IE7's black border on input:focus */
*border: 0;
*line-height: 20px;
}
// Hover state
...
...
@@ -53,19 +49,19 @@
// Active state
.btn.active,
.btn:active {
background-image: none;
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
background-color: darken(@white, 10%);
background-color: darken(@white, 15%) e("\9");
background-image: none;
outline: 0;
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
}
// Disabled state
.btn.disabled,
.btn[disabled] {
cursor: default;
background-image: none;
background-color: darken(@white, 10%);
background-image: none;
.opacity(65);
.box-shadow(none);
}
...
...
@@ -120,8 +116,8 @@
.btn-info:hover,
.btn-inverse,
.btn-inverse:hover {
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
color: @white;
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
}
// Provide *some* extra contrast for those who can get it
.btn-primary.active,
...
...
less/close.less
View file @
62a0f5fd
...
...
@@ -12,8 +12,8 @@
&:hover {
color: @black;
text-decoration: none;
.opacity(40);
cursor: pointer;
.opacity(40);
}
}
...
...
less/code.less
View file @
62a0f5fd
...
...
@@ -27,14 +27,14 @@ pre {
margin: 0 0 @baseLineHeight / 2;
font-size: @baseFontSize * .925; // 13px to 12px
line-height: @baseLineHeight;
word-break: break-all;
word-wrap: break-word;
white-space: pre;
white-space: pre-wrap;
background-color: #f5f5f5;
border: 1px solid #ccc; // fallback for IE7-8
border: 1px solid rgba(0,0,0,.15);
.border-radius(4px);
white-space: pre;
white-space: pre-wrap;
word-break: break-all;
word-wrap: break-word;
// Make prettyprint styles more spaced out for readability
&.prettyprint {
...
...
less/component-animations.less
View file @
62a0f5fd
...
...
@@ -2,18 +2,18 @@
// --------------------
.fade {
.transition(opacity .15s linear);
opacity: 0;
.transition(opacity .15s linear);
&.in {
opacity: 1;
}
}
.collapse {
.transition(height .35s ease);
position:relative;
overflow:hidden;
height: 0;
overflow:hidden;
.transition(height .35s ease);
&.in {
height: auto;
}
...
...
less/dropdowns.less
View file @
62a0f5fd
...
...
@@ -22,11 +22,11 @@
width: 0;
height: 0;
vertical-align: top;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid @black;
.opacity(30);
border-right: 4px solid transparent;
border-left: 4px solid transparent;
content: "";
.opacity(30);
}
// Place the caret
...
...
@@ -46,8 +46,8 @@
top: 100%;
left: 0;
z-index: @zindexDropdown;
float: left;
display: none; // none by default, but block on "open" of the menu
float: left;
min-width: 160px;
padding: 4px 0;
margin: 1px 0 0; // override default ul
...
...
@@ -55,13 +55,13 @@
background-color: @dropdownBackground;
border: 1px solid #ccc;
border: 1px solid rgba(0,0,0,.2);
*border-right-width: 2px;
*border-bottom-width: 2px;
.border-radius(5px);
.box-shadow(0 5px 10px rgba(0,0,0,.2));
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
*border-right-width: 2px;
*border-bottom-width: 2px;
// Aligns the dropdown menu to right
&.pull-right {
...
...
@@ -111,8 +111,8 @@
// Right aligned dropdowns
// ---------------------------
.pull-right .dropdown-menu {
left: auto;
right: 0;
left: auto;
}
// Allow for dropdowns to go bottom up (aka, dropup-menu)
...
...
less/forms.less
View file @
62a0f5fd
...
...
@@ -98,8 +98,8 @@ input[type="radio"] {
*margin-top: 0; /* IE7 */
line-height: normal;
cursor: pointer;
.border-radius(0);
border: 0 \9; /* IE9 and down */
.border-radius(0);
}
input[type="image"] {
border: 0;
...
...
@@ -110,9 +110,9 @@ input[type="file"] {
width: auto;
padding: initial;
line-height: initial;
border: initial;
background-color: @inputBackground;
background-color: initial;
border: initial;
.box-shadow(none);
}
...
...
@@ -172,8 +172,8 @@ input[type="hidden"] {
// Indent the labels to position radios/checkboxes as hanging
.radio,
.checkbox {
overflow: auto; // clear the floating input if there is no label text
padding-left: 18px;
overflow: auto; // clear the floating input if there is no label text
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
...
...
@@ -215,16 +215,16 @@ textarea {
input:focus,
textarea:focus {
border-color: rgba(82,168,236,.8);
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
outline: 0;
outline: thin dotted \9; /* IE6-9 */
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
select:focus {
.box-shadow(none); // override for file inputs
.tab-focus();
.box-shadow(none); // override for file inputs
}
...
...
@@ -274,9 +274,9 @@ textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
cursor: not-allowed;
background-color: @inputDisabledBackground;
border-color: #ddd;
cursor: not-allowed;
}
...
...
@@ -327,13 +327,12 @@ select:focus:required:invalid {
// For text that needs to appear as an input but should not be an input
.uneditable-input {
overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
white-space: nowrap;
cursor: not-allowed;
background-color: @inputBackground;
border-color: #eee;
.box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
cursor: not-allowed;
// prevent text from wrapping, but still cut it off like an input does
overflow: hidden;
white-space: nowrap;
}
// Placeholder text gets special styles; can't be bundled together though for some reason
...
...
@@ -389,8 +388,8 @@ select:focus:required:invalid {
.add-on {
display: inline-block;
width: auto;
min-width: 16px;
height: @baseLineHeight;
min-width: 16px;
padding: 4px 5px;
font-weight: normal;
line-height: @baseLineHeight;
...
...
@@ -427,8 +426,8 @@ select:focus:required:invalid {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
}
.uneditable-input {
border-left-color: #eee;
border-right-color: #ccc;
border-left-color: #eee;
}
.add-on:last-child,
.btn:last-child {
...
...
@@ -460,10 +459,10 @@ select:focus:required:invalid {
// -----------
.search-query {
padding-left: 14px;
padding-right: 14px;
padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
padding-right: 4px \9;
padding-left: 14px;
padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
margin-bottom: 0; // remove the default margin on all inputs
.border-radius(14px);
}
...
...
@@ -521,8 +520,8 @@ select:focus:required:invalid {
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-left: 0;
margin-right: 3px;
margin-left: 0;
}
...
...
@@ -555,11 +554,12 @@ legend + .control-group {
}
// Move over all input controls and content
.controls {
margin-left: 160px;
//
Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
don't inherit the margin of the parent, in this case .controls
// Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
// don't inherit the margin of the parent, in this case .controls
*display: inline-block;
*margin-left: 0;
*padding-left: 20px;
margin-left: 160px;
*margin-left: 0;
&:first-child {
*padding-left: 160px;
}
...
...
less/layouts.less
View file @
62a0f5fd
...
...
@@ -11,7 +11,7 @@
// Fluid layouts (left aligned, with sidebar, min- & max-width content)
.container-fluid {
padding-left: @gridGutterWidth;
padding-right: @gridGutterWidth;
padding-left: @gridGutterWidth;
.clearfix();
}
\ No newline at end of file
less/mixins.less
View file @
62a0f5fd
...
...
@@ -102,11 +102,11 @@
// -------------------------
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
.hide-text {
border: 0;
font: 0/0 a;
text-shadow: none;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
...
...
@@ -152,9 +152,8 @@
.input-block-level {
display: block;
width: 100%;
min-height: 28px; /* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
.box-sizing(border-box);
min-height: 28px; // Make inputs at least the height of their button counterpart
.box-sizing(border-box); // Makes inputs behave like true block-level elements
}
...
...
@@ -292,6 +291,7 @@
.user-select(@select) {
-webkit-user-select: @select;
-moz-user-select: @select;
-ms-user-select: @select;
-o-user-select: @select;
user-select: @select;
}
...
...
@@ -418,18 +418,17 @@
// -------------------------
// Dividers (basically an hr) within dropdowns and nav lists
.nav-divider() {
height: 1px;
margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid @white;
// IE7 needs a set width since we gave a height. Restricting just
// to IE7 to keep the 1px left/right space in other browsers.
// It is unclear where IE is getting the extra space that we need
// to negative-margin away, but so it goes.
*width: 100%;
height: 1px;
margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
*margin: -5px 0 5px;
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid @white;
}
// Button backgrounds
...
...
@@ -437,8 +436,8 @@
.buttonBackground(@startColor, @endColor) {
// gradientBar will set the background to a pleasing blend of these, to support IE<=9
.gradientBar(@startColor, @endColor);
.reset-filter();
*background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
.reset-filter();
// in these cases the gradient won't cover the background, so we override
&:hover, &:active, &.active, &.disabled, &[disabled] {
...
...
@@ -504,8 +503,8 @@
// Centered container element
.container-fixed() {
margin-left: auto;
margin-right: auto;
margin-left: auto;
.clearfix();
}
...
...
less/reset.less
View file @
62a0f5fd
...
...
@@ -76,9 +76,9 @@ sub {
img {
max-width: 100%; // Make images inherently responsive
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
vertical-align: middle;
}
// Forms
...
...
@@ -111,10 +111,10 @@ input[type="submit"] {
-webkit-appearance: button; // Style clickable inputs in iOS
}
input[type="search"] { // Appearance in Safari/Chrome
-webkit-appearance: textfield;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
...
...
less/sprites.less
View file @
62a0f5fd
...
...
@@ -19,13 +19,13 @@
display: inline-block;
width: 14px;
height: 14px;
.ie7-restore-right-whitespace();
line-height: 14px;
vertical-align: text-top;
background-image: url("@{iconSpritePath}");
background-position: 14px 14px;
background-repeat: no-repeat;
.ie7-restore-right-whitespace();
}
.icon-white {
background-image: url("@{iconWhiteSpritePath}");
...
...
less/tables.less
View file @
62a0f5fd
...
...
@@ -9,9 +9,9 @@
table {
max-width: 100%;
background-color: @tableBackground;
border-collapse: collapse;
border-spacing: 0;
background-color: @tableBackground;
}
// BASELINE STYLES
...
...
@@ -69,9 +69,9 @@ table {
.table-bordered {
border: 1px solid @tableBorder;
border-left: 0;
border-collapse: separate; // Done so we can round those corners!
*border-collapse: collapsed; // IE7 can't round corners anyway
border-left: 0;
.border-radius(4px);
th,
td {
...
...
@@ -93,28 +93,28 @@ table {
thead:first-child tr:first-child th:first-child,
tbody:first-child tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
thead:first-child tr:first-child th:last-child,
tbody:first-child tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
}
// For first th or td in the first row in the first thead or tbody
thead:last-child tr:last-child th:first-child,
tbody:last-child tr:last-child td:first-child {
.border-radius(0 0 0 4px);
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
}
thead:last-child tr:last-child th:last-child,
tbody:last-child tr:last-child td:last-child {
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
}
}
...
...
less/type.less
View file @
62a0f5fd
...
...
@@ -52,8 +52,8 @@ h2 {
}
}
h3 {
line-height: @baseLineHeight * 1.5;
font-size: 18px;
line-height: @baseLineHeight * 1.5;
small {
font-size: 14px;
}
...
...
@@ -135,11 +135,11 @@ dd {
// Horizontal layout (like forms)
.dl-horizontal {
dt {
.text-overflow();
float: left;
clear: left;
width: 120px;
clear: left;
text-align: right;
.text-overflow();
}
dd {
margin-left: 130px;
...
...
@@ -170,8 +170,8 @@ em {
// Abbreviations and acronyms
abbr[title] {
border-bottom: 1px dotted #ddd;
cursor: help;
border-bottom: 1px dotted #ddd;
}
abbr.initialism {
font-size: 90%;
...
...
@@ -199,10 +199,10 @@ blockquote {
// Float right with text-align: right
&.pull-right {
float: right;
padding-left: 0;
padding-right: 15px;
border
-left: 0;
padding
-left: 0;
border-right: 5px solid @grayLighter;
border-left: 0;
p,
small {
text-align: right;
...
...
@@ -222,8 +222,8 @@ blockquote:after {
address {
display: block;
margin-bottom: @baseLineHeight;
line-height: @baseLineHeight;
font-style: normal;
line-height: @baseLineHeight;
}
// Misc
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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