Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
PSDI Army
yii2
Commits
0e013c4f
Commit
0e013c4f
authored
Aug 08, 2013
by
Qiang Xue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed debugger with the new bootstrap.
parent
afa0a2b1
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
695 additions
and
470 deletions
+695
-470
SiteController.php
apps/basic/controllers/SiteController.php
+1
-0
ButtonDropdown.php
framework/yii/bootstrap/ButtonDropdown.php
+8
-21
ButtonGroup.php
framework/yii/bootstrap/ButtonGroup.php
+3
-4
bootstrap.css
framework/yii/bootstrap/assets/css/bootstrap.css
+533
-349
bootstrap.min.css
framework/yii/bootstrap/assets/css/bootstrap.min.css
+0
-0
bootstrap.js
framework/yii/bootstrap/assets/js/bootstrap.js
+100
-60
bootstrap.min.js
framework/yii/bootstrap/assets/js/bootstrap.min.js
+2
-2
main.css
framework/yii/debug/assets/main.css
+14
-3
LogPanel.php
framework/yii/debug/panels/LogPanel.php
+3
-3
view.php
framework/yii/debug/views/default/view.php
+31
-28
No files found.
apps/basic/controllers/SiteController.php
View file @
0e013c4f
...
@@ -21,6 +21,7 @@ class SiteController extends Controller
...
@@ -21,6 +21,7 @@ class SiteController extends Controller
public
function
actionIndex
()
public
function
actionIndex
()
{
{
Yii
::
warning
(
'test'
);
return
$this
->
render
(
'index'
);
return
$this
->
render
(
'index'
);
}
}
...
...
framework/yii/bootstrap/ButtonDropdown.php
View file @
0e013c4f
...
@@ -46,7 +46,7 @@ class ButtonDropdown extends Widget
...
@@ -46,7 +46,7 @@ class ButtonDropdown extends Widget
/**
/**
* @var array the HTML attributes of the button.
* @var array the HTML attributes of the button.
*/
*/
public
$
buttonO
ptions
=
array
();
public
$
o
ptions
=
array
();
/**
/**
* @var array the configuration array for [[Dropdown]].
* @var array the configuration array for [[Dropdown]].
*/
*/
...
@@ -58,24 +58,11 @@ class ButtonDropdown extends Widget
...
@@ -58,24 +58,11 @@ class ButtonDropdown extends Widget
/**
/**
* Initializes the widget.
* If you override this method, make sure you call the parent implementation first.
*/
public
function
init
()
{
parent
::
init
();
Html
::
addCssClass
(
$this
->
options
,
'btn-group'
);
}
/**
* Renders the widget.
* Renders the widget.
*/
*/
public
function
run
()
public
function
run
()
{
{
echo
Html
::
beginTag
(
'div'
,
$this
->
options
)
.
"
\n
"
;
echo
$this
->
renderButton
()
.
"
\n
"
.
$this
->
renderDropdown
();
echo
$this
->
renderButton
()
.
"
\n
"
;
echo
$this
->
renderDropdown
()
.
"
\n
"
;
echo
Html
::
endTag
(
'div'
)
.
"
\n
"
;
$this
->
registerPlugin
(
'button'
);
$this
->
registerPlugin
(
'button'
);
}
}
...
@@ -85,21 +72,21 @@ class ButtonDropdown extends Widget
...
@@ -85,21 +72,21 @@ class ButtonDropdown extends Widget
*/
*/
protected
function
renderButton
()
protected
function
renderButton
()
{
{
Html
::
addCssClass
(
$this
->
buttonO
ptions
,
'btn'
);
Html
::
addCssClass
(
$this
->
o
ptions
,
'btn'
);
if
(
$this
->
split
)
{
if
(
$this
->
split
)
{
$tag
=
'button'
;
$tag
=
'button'
;
$options
=
$this
->
buttonO
ptions
;
$options
=
$this
->
o
ptions
;
$this
->
buttonO
ptions
[
'data-toggle'
]
=
'dropdown'
;
$this
->
o
ptions
[
'data-toggle'
]
=
'dropdown'
;
Html
::
addCssClass
(
$this
->
buttonO
ptions
,
'dropdown-toggle'
);
Html
::
addCssClass
(
$this
->
o
ptions
,
'dropdown-toggle'
);
$splitButton
=
Button
::
widget
(
array
(
$splitButton
=
Button
::
widget
(
array
(
'label'
=>
'<span class="caret"></span>'
,
'label'
=>
'<span class="caret"></span>'
,
'encodeLabel'
=>
false
,
'encodeLabel'
=>
false
,
'options'
=>
$this
->
buttonO
ptions
,
'options'
=>
$this
->
o
ptions
,
));
));
}
else
{
}
else
{
$tag
=
'a'
;
$tag
=
'a'
;
$this
->
label
.=
' <span class="caret"></span>'
;
$this
->
label
.=
' <span class="caret"></span>'
;
$options
=
$this
->
buttonO
ptions
;
$options
=
$this
->
o
ptions
;
if
(
!
isset
(
$options
[
'href'
]))
{
if
(
!
isset
(
$options
[
'href'
]))
{
$options
[
'href'
]
=
'#'
;
$options
[
'href'
]
=
'#'
;
}
}
...
...
framework/yii/bootstrap/ButtonGroup.php
View file @
0e013c4f
...
@@ -18,7 +18,7 @@ use yii\helpers\Html;
...
@@ -18,7 +18,7 @@ use yii\helpers\Html;
* ```php
* ```php
* // a button group with items configuration
* // a button group with items configuration
* echo ButtonGroup::::widget(array(
* echo ButtonGroup::::widget(array(
* '
item
s' => array(
* '
button
s' => array(
* array('label' => 'A'),
* array('label' => 'A'),
* array('label' => 'B'),
* array('label' => 'B'),
* )
* )
...
@@ -26,7 +26,7 @@ use yii\helpers\Html;
...
@@ -26,7 +26,7 @@ use yii\helpers\Html;
*
*
* // button group with an item as a string
* // button group with an item as a string
* echo ButtonGroup::::widget(array(
* echo ButtonGroup::::widget(array(
* '
item
s' => array(
* '
button
s' => array(
* Button::widget(array('label' => 'A')),
* Button::widget(array('label' => 'A')),
* array('label' => 'B'),
* array('label' => 'B'),
* )
* )
...
@@ -60,7 +60,6 @@ class ButtonGroup extends Widget
...
@@ -60,7 +60,6 @@ class ButtonGroup extends Widget
public
function
init
()
public
function
init
()
{
{
parent
::
init
();
parent
::
init
();
$this
->
clientOptions
=
false
;
Html
::
addCssClass
(
$this
->
options
,
'btn-group'
);
Html
::
addCssClass
(
$this
->
options
,
'btn-group'
);
}
}
...
@@ -70,7 +69,7 @@ class ButtonGroup extends Widget
...
@@ -70,7 +69,7 @@ class ButtonGroup extends Widget
public
function
run
()
public
function
run
()
{
{
echo
Html
::
tag
(
'div'
,
$this
->
renderButtons
(),
$this
->
options
);
echo
Html
::
tag
(
'div'
,
$this
->
renderButtons
(),
$this
->
options
);
$this
->
registerPlugin
(
'button'
);
BootstrapAsset
::
register
(
$this
->
getView
()
);
}
}
/**
/**
...
...
framework/yii/bootstrap/assets/css/bootstrap.css
View file @
0e013c4f
...
@@ -362,11 +362,17 @@ p {
...
@@ -362,11 +362,17 @@ p {
.lead
{
.lead
{
margin-bottom
:
20px
;
margin-bottom
:
20px
;
font-size
:
21
px
;
font-size
:
16.099999999999998
px
;
font-weight
:
200
;
font-weight
:
200
;
line-height
:
1.4
;
line-height
:
1.4
;
}
}
@media
(
min-width
:
768px
)
{
.lead
{
font-size
:
21px
;
}
}
small
{
small
{
font-size
:
85%
;
font-size
:
85%
;
}
}
...
@@ -558,38 +564,35 @@ dd {
...
@@ -558,38 +564,35 @@ dd {
margin-left
:
0
;
margin-left
:
0
;
}
}
.dl-horizontal
dt
{
@media
(
min-width
:
768px
)
{
float
:
left
;
.dl-horizontal
dt
{
width
:
160px
;
float
:
left
;
overflow
:
hidden
;
width
:
160px
;
clear
:
left
;
overflow
:
hidden
;
text-align
:
right
;
clear
:
left
;
text-overflow
:
ellipsis
;
text-align
:
right
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
white-space
:
nowrap
;
}
.dl-horizontal
dd
{
.dl-horizontal
dd
{
margin-left
:
180px
;
margin-left
:
180px
;
}
}
.dl-horizontal
dd
:before
,
.dl-horizontal
dd
:before
,
.dl-horizontal
dd
:after
{
.dl-horizontal
dd
:after
{
display
:
table
;
display
:
table
;
content
:
" "
;
content
:
" "
;
}
}
.dl-horizontal
dd
:after
{
clear
:
both
;
.dl-horizontal
dd
:after
{
}
clear
:
both
;
.dl-horizontal
dd
:before
,
}
.dl-horizontal
dd
:after
{
display
:
table
;
.dl-horizontal
dd
:before
,
content
:
" "
;
.dl-horizontal
dd
:after
{
}
display
:
table
;
.dl-horizontal
dd
:after
{
content
:
" "
;
clear
:
both
;
}
}
.dl-horizontal
dd
:after
{
clear
:
both
;
}
}
abbr
[
title
],
abbr
[
title
],
...
@@ -630,7 +633,6 @@ blockquote small:before {
...
@@ -630,7 +633,6 @@ blockquote small:before {
}
}
blockquote
.pull-right
{
blockquote
.pull-right
{
float
:
right
;
padding-right
:
15px
;
padding-right
:
15px
;
padding-left
:
0
;
padding-left
:
0
;
border-right
:
5px
solid
#eeeeee
;
border-right
:
5px
solid
#eeeeee
;
...
@@ -871,7 +873,7 @@ pre code {
...
@@ -871,7 +873,7 @@ pre code {
width
:
100%
;
width
:
100%
;
}
}
@media
(
min-width
:
768px
)
{
@media
(
min-width
:
768px
)
and
(
max-width
:
991px
)
{
.container
{
.container
{
max-width
:
728px
;
max-width
:
728px
;
}
}
...
@@ -925,72 +927,105 @@ pre code {
...
@@ -925,72 +927,105 @@ pre code {
.col-sm-12
{
.col-sm-12
{
width
:
100%
;
width
:
100%
;
}
}
.col-push-1
{
.col-
sm-
push-1
{
left
:
8.333333333333332%
;
left
:
8.333333333333332%
;
}
}
.col-push-2
{
.col-
sm-
push-2
{
left
:
16.666666666666664%
;
left
:
16.666666666666664%
;
}
}
.col-push-3
{
.col-
sm-
push-3
{
left
:
25%
;
left
:
25%
;
}
}
.col-push-4
{
.col-
sm-
push-4
{
left
:
33.33333333333333%
;
left
:
33.33333333333333%
;
}
}
.col-push-5
{
.col-
sm-
push-5
{
left
:
41.66666666666667%
;
left
:
41.66666666666667%
;
}
}
.col-push-6
{
.col-
sm-
push-6
{
left
:
50%
;
left
:
50%
;
}
}
.col-push-7
{
.col-
sm-
push-7
{
left
:
58.333333333333336%
;
left
:
58.333333333333336%
;
}
}
.col-push-8
{
.col-
sm-
push-8
{
left
:
66.66666666666666%
;
left
:
66.66666666666666%
;
}
}
.col-push-9
{
.col-
sm-
push-9
{
left
:
75%
;
left
:
75%
;
}
}
.col-push-10
{
.col-
sm-
push-10
{
left
:
83.33333333333334%
;
left
:
83.33333333333334%
;
}
}
.col-push-11
{
.col-
sm-
push-11
{
left
:
91.66666666666666%
;
left
:
91.66666666666666%
;
}
}
.col-pull-1
{
.col-
sm-
pull-1
{
right
:
8.333333333333332%
;
right
:
8.333333333333332%
;
}
}
.col-pull-2
{
.col-
sm-
pull-2
{
right
:
16.666666666666664%
;
right
:
16.666666666666664%
;
}
}
.col-pull-3
{
.col-
sm-
pull-3
{
right
:
25%
;
right
:
25%
;
}
}
.col-pull-4
{
.col-
sm-
pull-4
{
right
:
33.33333333333333%
;
right
:
33.33333333333333%
;
}
}
.col-pull-5
{
.col-
sm-
pull-5
{
right
:
41.66666666666667%
;
right
:
41.66666666666667%
;
}
}
.col-pull-6
{
.col-
sm-
pull-6
{
right
:
50%
;
right
:
50%
;
}
}
.col-pull-7
{
.col-
sm-
pull-7
{
right
:
58.333333333333336%
;
right
:
58.333333333333336%
;
}
}
.col-pull-8
{
.col-
sm-
pull-8
{
right
:
66.66666666666666%
;
right
:
66.66666666666666%
;
}
}
.col-pull-9
{
.col-
sm-
pull-9
{
right
:
75%
;
right
:
75%
;
}
}
.col-pull-10
{
.col-
sm-
pull-10
{
right
:
83.33333333333334%
;
right
:
83.33333333333334%
;
}
}
.col-pull-11
{
.col-
sm-
pull-11
{
right
:
91.66666666666666%
;
right
:
91.66666666666666%
;
}
}
.col-sm-offset-1
{
margin-left
:
8.333333333333332%
;
}
.col-sm-offset-2
{
margin-left
:
16.666666666666664%
;
}
.col-sm-offset-3
{
margin-left
:
25%
;
}
.col-sm-offset-4
{
margin-left
:
33.33333333333333%
;
}
.col-sm-offset-5
{
margin-left
:
41.66666666666667%
;
}
.col-sm-offset-6
{
margin-left
:
50%
;
}
.col-sm-offset-7
{
margin-left
:
58.333333333333336%
;
}
.col-sm-offset-8
{
margin-left
:
66.66666666666666%
;
}
.col-sm-offset-9
{
margin-left
:
75%
;
}
.col-sm-offset-10
{
margin-left
:
83.33333333333334%
;
}
.col-sm-offset-11
{
margin-left
:
91.66666666666666%
;
}
}
}
@media
(
min-width
:
992px
)
{
@media
(
min-width
:
992px
)
{
...
@@ -1047,37 +1082,103 @@ pre code {
...
@@ -1047,37 +1082,103 @@ pre code {
.col-lg-12
{
.col-lg-12
{
width
:
100%
;
width
:
100%
;
}
}
.col-offset-1
{
.col-lg-push-1
{
left
:
8.333333333333332%
;
}
.col-lg-push-2
{
left
:
16.666666666666664%
;
}
.col-lg-push-3
{
left
:
25%
;
}
.col-lg-push-4
{
left
:
33.33333333333333%
;
}
.col-lg-push-5
{
left
:
41.66666666666667%
;
}
.col-lg-push-6
{
left
:
50%
;
}
.col-lg-push-7
{
left
:
58.333333333333336%
;
}
.col-lg-push-8
{
left
:
66.66666666666666%
;
}
.col-lg-push-9
{
left
:
75%
;
}
.col-lg-push-10
{
left
:
83.33333333333334%
;
}
.col-lg-push-11
{
left
:
91.66666666666666%
;
}
.col-lg-pull-1
{
right
:
8.333333333333332%
;
}
.col-lg-pull-2
{
right
:
16.666666666666664%
;
}
.col-lg-pull-3
{
right
:
25%
;
}
.col-lg-pull-4
{
right
:
33.33333333333333%
;
}
.col-lg-pull-5
{
right
:
41.66666666666667%
;
}
.col-lg-pull-6
{
right
:
50%
;
}
.col-lg-pull-7
{
right
:
58.333333333333336%
;
}
.col-lg-pull-8
{
right
:
66.66666666666666%
;
}
.col-lg-pull-9
{
right
:
75%
;
}
.col-lg-pull-10
{
right
:
83.33333333333334%
;
}
.col-lg-pull-11
{
right
:
91.66666666666666%
;
}
.col-lg-offset-1
{
margin-left
:
8.333333333333332%
;
margin-left
:
8.333333333333332%
;
}
}
.col-offset-2
{
.col-
lg-
offset-2
{
margin-left
:
16.666666666666664%
;
margin-left
:
16.666666666666664%
;
}
}
.col-offset-3
{
.col-
lg-
offset-3
{
margin-left
:
25%
;
margin-left
:
25%
;
}
}
.col-offset-4
{
.col-
lg-
offset-4
{
margin-left
:
33.33333333333333%
;
margin-left
:
33.33333333333333%
;
}
}
.col-offset-5
{
.col-
lg-
offset-5
{
margin-left
:
41.66666666666667%
;
margin-left
:
41.66666666666667%
;
}
}
.col-offset-6
{
.col-
lg-
offset-6
{
margin-left
:
50%
;
margin-left
:
50%
;
}
}
.col-offset-7
{
.col-
lg-
offset-7
{
margin-left
:
58.333333333333336%
;
margin-left
:
58.333333333333336%
;
}
}
.col-offset-8
{
.col-
lg-
offset-8
{
margin-left
:
66.66666666666666%
;
margin-left
:
66.66666666666666%
;
}
}
.col-offset-9
{
.col-
lg-
offset-9
{
margin-left
:
75%
;
margin-left
:
75%
;
}
}
.col-offset-10
{
.col-
lg-
offset-10
{
margin-left
:
83.33333333333334%
;
margin-left
:
83.33333333333334%
;
}
}
.col-offset-11
{
.col-
lg-
offset-11
{
margin-left
:
91.66666666666666%
;
margin-left
:
91.66666666666666%
;
}
}
}
}
...
@@ -1348,8 +1449,8 @@ input[type="number"]::-webkit-inner-spin-button {
...
@@ -1348,8 +1449,8 @@ input[type="number"]::-webkit-inner-spin-button {
.form-control
{
.form-control
{
display
:
block
;
display
:
block
;
width
:
100%
;
width
:
100%
;
height
:
3
8
px
;
height
:
3
4
px
;
padding
:
8
px
12px
;
padding
:
6
px
12px
;
font-size
:
14px
;
font-size
:
14px
;
line-height
:
1.428571429
;
line-height
:
1.428571429
;
color
:
#555555
;
color
:
#555555
;
...
@@ -1364,10 +1465,10 @@ input[type="number"]::-webkit-inner-spin-button {
...
@@ -1364,10 +1465,10 @@ input[type="number"]::-webkit-inner-spin-button {
}
}
.form-control
:focus
{
.form-control
:focus
{
border-color
:
rgba
(
82
,
168
,
236
,
0.8
)
;
border-color
:
#66afe9
;
outline
:
0
;
outline
:
0
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
0.6
);
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
102
,
175
,
233
,
0.6
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
0.6
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
102
,
175
,
233
,
0.6
);
}
}
.form-control
[
disabled
],
.form-control
[
disabled
],
...
@@ -1432,37 +1533,43 @@ textarea.form-control {
...
@@ -1432,37 +1533,43 @@ textarea.form-control {
margin-left
:
10px
;
margin-left
:
10px
;
}
}
.
form-control.input-large
{
.
input-lg
{
height
:
56
px
;
height
:
45
px
;
padding
:
1
4
px
16px
;
padding
:
1
0
px
16px
;
font-size
:
18px
;
font-size
:
18px
;
line-height
:
1.33
;
border-radius
:
6px
;
border-radius
:
6px
;
}
}
.
form-control.input-small
{
.
input-sm
{
height
:
30px
;
height
:
30px
;
padding
:
5px
10px
;
padding
:
5px
10px
;
font-size
:
12px
;
font-size
:
12px
;
line-height
:
1.5
;
border-radius
:
3px
;
border-radius
:
3px
;
}
}
select
.input-l
arge
{
select
.input-l
g
{
height
:
56
px
;
height
:
45
px
;
line-height
:
56
px
;
line-height
:
45
px
;
}
}
select
.input-sm
all
{
select
.input-sm
{
height
:
30px
;
height
:
30px
;
line-height
:
30px
;
line-height
:
30px
;
}
}
textarea
.input-lg
,
textarea
.input-sm
{
height
:
auto
;
}
.has-warning
.help-block
,
.has-warning
.help-block
,
.has-warning
.control-label
{
.has-warning
.control-label
{
color
:
#c09853
;
color
:
#c09853
;
}
}
.has-warning
.form-control
{
.has-warning
.form-control
{
padding-right
:
32px
;
border-color
:
#c09853
;
border-color
:
#c09853
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
...
@@ -1486,7 +1593,6 @@ select.input-small {
...
@@ -1486,7 +1593,6 @@ select.input-small {
}
}
.has-error
.form-control
{
.has-error
.form-control
{
padding-right
:
32px
;
border-color
:
#b94a48
;
border-color
:
#b94a48
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
...
@@ -1510,7 +1616,6 @@ select.input-small {
...
@@ -1510,7 +1616,6 @@ select.input-small {
}
}
.has-success
.form-control
{
.has-success
.form-control
{
padding-right
:
32px
;
border-color
:
#468847
;
border-color
:
#468847
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
...
@@ -1528,6 +1633,11 @@ select.input-small {
...
@@ -1528,6 +1633,11 @@ select.input-small {
border-color
:
#468847
;
border-color
:
#468847
;
}
}
.form-control-static
{
padding-top
:
6px
;
margin-bottom
:
0
;
}
.help-block
{
.help-block
{
display
:
block
;
display
:
block
;
margin-top
:
5px
;
margin-top
:
5px
;
...
@@ -1535,111 +1645,6 @@ select.input-small {
...
@@ -1535,111 +1645,6 @@ select.input-small {
color
:
#737373
;
color
:
#737373
;
}
}
.input-group
{
display
:
table
;
border-collapse
:
separate
;
}
.input-group.col
{
float
:
none
;
padding-right
:
0
;
padding-left
:
0
;
}
.input-group
.form-control
{
width
:
100%
;
margin-bottom
:
0
;
}
.input-group-addon
,
.input-group-btn
,
.input-group
.form-control
{
display
:
table-cell
;
}
.input-group-addon
:not
(
:first-child
)
:not
(
:last-child
),
.input-group-btn
:not
(
:first-child
)
:not
(
:last-child
),
.input-group
.form-control
:not
(
:first-child
)
:not
(
:last-child
)
{
border-radius
:
0
;
}
.input-group-addon
,
.input-group-btn
{
width
:
1%
;
white-space
:
nowrap
;
vertical-align
:
middle
;
}
.input-group-addon
{
padding
:
8px
12px
;
font-size
:
14px
;
font-weight
:
normal
;
line-height
:
1.428571429
;
text-align
:
center
;
background-color
:
#eeeeee
;
border
:
1px
solid
#cccccc
;
border-radius
:
4px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.input-group-addon.input-small
{
padding
:
5px
10px
;
font-size
:
12px
;
border-radius
:
3px
;
}
.input-group-addon.input-large
{
padding
:
14px
16px
;
font-size
:
18px
;
border-radius
:
6px
;
}
.input-group
.form-control
:first-child
,
.input-group-addon
:first-child
,
.input-group-btn
:first-child
>
.btn
,
.input-group-btn
:first-child
>
.dropdown-toggle
,
.input-group-btn
:last-child
>
.btn
:not
(
:last-child
)
:not
(
.dropdown-toggle
)
{
border-top-right-radius
:
0
;
border-bottom-right-radius
:
0
;
}
.input-group-addon
:first-child
{
border-right
:
0
;
}
.input-group
.form-control
:last-child
,
.input-group-addon
:last-child
,
.input-group-btn
:last-child
>
.btn
,
.input-group-btn
:last-child
>
.dropdown-toggle
,
.input-group-btn
:first-child
>
.btn
:not
(
:first-child
)
{
border-bottom-left-radius
:
0
;
border-top-left-radius
:
0
;
}
.input-group-addon
:last-child
{
border-left
:
0
;
}
.input-group-btn
{
position
:
relative
;
white-space
:
nowrap
;
}
.input-group-btn
>
.btn
{
position
:
relative
;
}
.input-group-btn
>
.btn
+
.btn
{
margin-left
:
-4px
;
}
.input-group-btn
>
.btn
:hover
,
.input-group-btn
>
.btn
:active
{
z-index
:
2
;
}
.form-inline
.form-control
,
.form-inline
.form-control
,
.form-inline
.radio
,
.form-inline
.radio
,
.form-inline
.checkbox
{
.form-inline
.checkbox
{
...
@@ -1648,11 +1653,20 @@ select.input-small {
...
@@ -1648,11 +1653,20 @@ select.input-small {
.form-inline
.radio
,
.form-inline
.radio
,
.form-inline
.checkbox
{
.form-inline
.checkbox
{
padding-left
:
0
;
margin-top
:
0
;
margin-top
:
0
;
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
.form-horizontal
.control-label
{
.form-inline
.radio
input
[
type
=
"radio"
],
.form-inline
.checkbox
input
[
type
=
"checkbox"
]
{
float
:
none
;
margin-left
:
0
;
}
.form-horizontal
.control-label
,
.form-horizontal
.radio-inline
,
.form-horizontal
.checkbox-inline
{
padding-top
:
6px
;
padding-top
:
6px
;
}
}
...
@@ -1696,10 +1710,10 @@ select.input-small {
...
@@ -1696,10 +1710,10 @@ select.input-small {
.btn
{
.btn
{
display
:
inline-block
;
display
:
inline-block
;
padding
:
8
px
12px
;
padding
:
6
px
12px
;
margin-bottom
:
0
;
margin-bottom
:
0
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
500
;
font-weight
:
bold
;
line-height
:
1.428571429
;
line-height
:
1.428571429
;
text-align
:
center
;
text-align
:
center
;
white-space
:
nowrap
;
white-space
:
nowrap
;
...
@@ -1707,6 +1721,11 @@ select.input-small {
...
@@ -1707,6 +1721,11 @@ select.input-small {
cursor
:
pointer
;
cursor
:
pointer
;
border
:
1px
solid
transparent
;
border
:
1px
solid
transparent
;
border-radius
:
4px
;
border-radius
:
4px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
-o-user-select
:
none
;
user-select
:
none
;
}
}
.btn
:focus
{
.btn
:focus
{
...
@@ -1717,7 +1736,7 @@ select.input-small {
...
@@ -1717,7 +1736,7 @@ select.input-small {
.btn
:hover
,
.btn
:hover
,
.btn
:focus
{
.btn
:focus
{
color
:
#
ffffff
;
color
:
#
333333
;
text-decoration
:
none
;
text-decoration
:
none
;
}
}
...
@@ -1740,17 +1759,18 @@ fieldset[disabled] .btn {
...
@@ -1740,17 +1759,18 @@ fieldset[disabled] .btn {
}
}
.btn-default
{
.btn-default
{
color
:
#
ffffff
;
color
:
#
333333
;
background-color
:
#
474949
;
background-color
:
#
ffffff
;
border-color
:
#
474949
;
border-color
:
#
cccccc
;
}
}
.btn-default
:hover
,
.btn-default
:hover
,
.btn-default
:focus
,
.btn-default
:focus
,
.btn-default
:active
,
.btn-default
:active
,
.btn-default.active
{
.btn-default.active
{
background-color
:
#3a3c3c
;
color
:
#333333
;
border-color
:
#2e2f2f
;
background-color
:
#ebebeb
;
border-color
:
#adadad
;
}
}
.btn-default.disabled
,
.btn-default.disabled
,
...
@@ -1768,22 +1788,23 @@ fieldset[disabled] .btn-default:active,
...
@@ -1768,22 +1788,23 @@ fieldset[disabled] .btn-default:active,
.btn-default.disabled.active
,
.btn-default.disabled.active
,
.btn-default
[
disabled
]
.active
,
.btn-default
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-default.active
{
fieldset
[
disabled
]
.btn-default.active
{
background-color
:
#
474949
;
background-color
:
#
ffffff
;
border-color
:
#
474949
;
border-color
:
#
cccccc
;
}
}
.btn-primary
{
.btn-primary
{
color
:
#ffffff
;
color
:
#ffffff
;
background-color
:
#428bca
;
background-color
:
#428bca
;
border-color
:
#
428bca
;
border-color
:
#
357ebd
;
}
}
.btn-primary
:hover
,
.btn-primary
:hover
,
.btn-primary
:focus
,
.btn-primary
:focus
,
.btn-primary
:active
,
.btn-primary
:active
,
.btn-primary.active
{
.btn-primary.active
{
background-color
:
#357ebd
;
color
:
#ffffff
;
border-color
:
#3071a9
;
background-color
:
#3276b1
;
border-color
:
#285e8e
;
}
}
.btn-primary.disabled
,
.btn-primary.disabled
,
...
@@ -1802,21 +1823,22 @@ fieldset[disabled] .btn-primary:active,
...
@@ -1802,21 +1823,22 @@ fieldset[disabled] .btn-primary:active,
.btn-primary
[
disabled
]
.active
,
.btn-primary
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-primary.active
{
fieldset
[
disabled
]
.btn-primary.active
{
background-color
:
#428bca
;
background-color
:
#428bca
;
border-color
:
#
428bca
;
border-color
:
#
357ebd
;
}
}
.btn-warning
{
.btn-warning
{
color
:
#ffffff
;
color
:
#ffffff
;
background-color
:
#f0ad4e
;
background-color
:
#f0ad4e
;
border-color
:
#
f0ad4e
;
border-color
:
#
eea236
;
}
}
.btn-warning
:hover
,
.btn-warning
:hover
,
.btn-warning
:focus
,
.btn-warning
:focus
,
.btn-warning
:active
,
.btn-warning
:active
,
.btn-warning.active
{
.btn-warning.active
{
background-color
:
#eea236
;
color
:
#ffffff
;
border-color
:
#ec971f
;
background-color
:
#ed9c28
;
border-color
:
#d58512
;
}
}
.btn-warning.disabled
,
.btn-warning.disabled
,
...
@@ -1835,21 +1857,22 @@ fieldset[disabled] .btn-warning:active,
...
@@ -1835,21 +1857,22 @@ fieldset[disabled] .btn-warning:active,
.btn-warning
[
disabled
]
.active
,
.btn-warning
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-warning.active
{
fieldset
[
disabled
]
.btn-warning.active
{
background-color
:
#f0ad4e
;
background-color
:
#f0ad4e
;
border-color
:
#
f0ad4e
;
border-color
:
#
eea236
;
}
}
.btn-danger
{
.btn-danger
{
color
:
#ffffff
;
color
:
#ffffff
;
background-color
:
#d9534f
;
background-color
:
#d9534f
;
border-color
:
#d
9534f
;
border-color
:
#d
43f3a
;
}
}
.btn-danger
:hover
,
.btn-danger
:hover
,
.btn-danger
:focus
,
.btn-danger
:focus
,
.btn-danger
:active
,
.btn-danger
:active
,
.btn-danger.active
{
.btn-danger.active
{
background-color
:
#d43f3a
;
color
:
#ffffff
;
border-color
:
#c9302c
;
background-color
:
#d2322d
;
border-color
:
#ac2925
;
}
}
.btn-danger.disabled
,
.btn-danger.disabled
,
...
@@ -1868,21 +1891,22 @@ fieldset[disabled] .btn-danger:active,
...
@@ -1868,21 +1891,22 @@ fieldset[disabled] .btn-danger:active,
.btn-danger
[
disabled
]
.active
,
.btn-danger
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-danger.active
{
fieldset
[
disabled
]
.btn-danger.active
{
background-color
:
#d9534f
;
background-color
:
#d9534f
;
border-color
:
#d
9534f
;
border-color
:
#d
43f3a
;
}
}
.btn-success
{
.btn-success
{
color
:
#ffffff
;
color
:
#ffffff
;
background-color
:
#5cb85c
;
background-color
:
#5cb85c
;
border-color
:
#
5cb85
c
;
border-color
:
#
4cae4
c
;
}
}
.btn-success
:hover
,
.btn-success
:hover
,
.btn-success
:focus
,
.btn-success
:focus
,
.btn-success
:active
,
.btn-success
:active
,
.btn-success.active
{
.btn-success.active
{
background-color
:
#4cae4c
;
color
:
#ffffff
;
border-color
:
#449d44
;
background-color
:
#47a447
;
border-color
:
#398439
;
}
}
.btn-success.disabled
,
.btn-success.disabled
,
...
@@ -1901,21 +1925,22 @@ fieldset[disabled] .btn-success:active,
...
@@ -1901,21 +1925,22 @@ fieldset[disabled] .btn-success:active,
.btn-success
[
disabled
]
.active
,
.btn-success
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-success.active
{
fieldset
[
disabled
]
.btn-success.active
{
background-color
:
#5cb85c
;
background-color
:
#5cb85c
;
border-color
:
#
5cb85
c
;
border-color
:
#
4cae4
c
;
}
}
.btn-info
{
.btn-info
{
color
:
#ffffff
;
color
:
#ffffff
;
background-color
:
#5bc0de
;
background-color
:
#5bc0de
;
border-color
:
#
5bc0de
;
border-color
:
#
46b8da
;
}
}
.btn-info
:hover
,
.btn-info
:hover
,
.btn-info
:focus
,
.btn-info
:focus
,
.btn-info
:active
,
.btn-info
:active
,
.btn-info.active
{
.btn-info.active
{
background-color
:
#46b8da
;
color
:
#ffffff
;
border-color
:
#31b0d5
;
background-color
:
#39b3d7
;
border-color
:
#269abc
;
}
}
.btn-info.disabled
,
.btn-info.disabled
,
...
@@ -1934,7 +1959,7 @@ fieldset[disabled] .btn-info:active,
...
@@ -1934,7 +1959,7 @@ fieldset[disabled] .btn-info:active,
.btn-info
[
disabled
]
.active
,
.btn-info
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-info.active
{
fieldset
[
disabled
]
.btn-info.active
{
background-color
:
#5bc0de
;
background-color
:
#5bc0de
;
border-color
:
#
5bc0de
;
border-color
:
#
46b8da
;
}
}
.btn-link
{
.btn-link
{
...
@@ -1971,23 +1996,29 @@ fieldset[disabled] .btn-link {
...
@@ -1971,23 +1996,29 @@ fieldset[disabled] .btn-link {
fieldset
[
disabled
]
.btn-link
:hover
,
fieldset
[
disabled
]
.btn-link
:hover
,
.btn-link
[
disabled
]
:focus
,
.btn-link
[
disabled
]
:focus
,
fieldset
[
disabled
]
.btn-link
:focus
{
fieldset
[
disabled
]
.btn-link
:focus
{
color
:
#
333333
;
color
:
#
999999
;
text-decoration
:
none
;
text-decoration
:
none
;
}
}
.btn-l
arge
{
.btn-l
g
{
padding
:
1
4
px
16px
;
padding
:
1
0
px
16px
;
font-size
:
18px
;
font-size
:
18px
;
line-height
:
1.33
;
border-radius
:
6px
;
border-radius
:
6px
;
}
}
.btn-small
{
.btn-sm
,
.btn-xs
{
padding
:
5px
10px
;
padding
:
5px
10px
;
font-size
:
12px
;
font-size
:
12px
;
line-height
:
1.5
;
line-height
:
1.5
;
border-radius
:
3px
;
border-radius
:
3px
;
}
}
.btn-xs
{
padding
:
3px
5px
;
}
.btn-block
{
.btn-block
{
display
:
block
;
display
:
block
;
width
:
100%
;
width
:
100%
;
...
@@ -2016,6 +2047,14 @@ input[type="button"].btn-block {
...
@@ -2016,6 +2047,14 @@ input[type="button"].btn-block {
}
}
.collapse
{
.collapse
{
display
:
none
;
}
.collapse.in
{
display
:
block
;
}
.collapsing
{
position
:
relative
;
position
:
relative
;
height
:
0
;
height
:
0
;
overflow
:
hidden
;
overflow
:
hidden
;
...
@@ -2023,8 +2062,112 @@ input[type="button"].btn-block {
...
@@ -2023,8 +2062,112 @@ input[type="button"].btn-block {
transition
:
height
0.35s
ease
;
transition
:
height
0.35s
ease
;
}
}
.collapse.in
{
.input-group
{
height
:
auto
;
position
:
relative
;
display
:
table
;
border-collapse
:
separate
;
}
.input-group.col
{
float
:
none
;
padding-right
:
0
;
padding-left
:
0
;
}
.input-group
.form-control
{
width
:
100%
;
margin-bottom
:
0
;
}
.input-group-addon
,
.input-group-btn
,
.input-group
.form-control
{
display
:
table-cell
;
}
.input-group-addon
:not
(
:first-child
)
:not
(
:last-child
),
.input-group-btn
:not
(
:first-child
)
:not
(
:last-child
),
.input-group
.form-control
:not
(
:first-child
)
:not
(
:last-child
)
{
border-radius
:
0
;
}
.input-group-addon
,
.input-group-btn
{
width
:
1%
;
white-space
:
nowrap
;
vertical-align
:
middle
;
}
.input-group-addon
{
padding
:
6px
12px
;
font-size
:
14px
;
font-weight
:
normal
;
line-height
:
1
;
text-align
:
center
;
background-color
:
#eeeeee
;
border
:
1px
solid
#cccccc
;
border-radius
:
4px
;
}
.input-group-addon.input-sm
{
padding
:
5px
10px
;
font-size
:
12px
;
border-radius
:
3px
;
}
.input-group-addon.input-lg
{
padding
:
10px
16px
;
font-size
:
18px
;
border-radius
:
6px
;
}
.input-group-addon
input
[
type
=
"radio"
],
.input-group-addon
input
[
type
=
"checkbox"
]
{
margin-top
:
0
;
}
.input-group
.form-control
:first-child
,
.input-group-addon
:first-child
,
.input-group-btn
:first-child
>
.btn
,
.input-group-btn
:first-child
>
.dropdown-toggle
,
.input-group-btn
:last-child
>
.btn
:not
(
:last-child
)
:not
(
.dropdown-toggle
)
{
border-top-right-radius
:
0
;
border-bottom-right-radius
:
0
;
}
.input-group-addon
:first-child
{
border-right
:
0
;
}
.input-group
.form-control
:last-child
,
.input-group-addon
:last-child
,
.input-group-btn
:last-child
>
.btn
,
.input-group-btn
:last-child
>
.dropdown-toggle
,
.input-group-btn
:first-child
>
.btn
:not
(
:first-child
)
{
border-bottom-left-radius
:
0
;
border-top-left-radius
:
0
;
}
.input-group-addon
:last-child
{
border-left
:
0
;
}
.input-group-btn
{
position
:
relative
;
white-space
:
nowrap
;
}
.input-group-btn
>
.btn
{
position
:
relative
;
}
.input-group-btn
>
.btn
+
.btn
{
margin-left
:
-4px
;
}
.input-group-btn
>
.btn
:hover
,
.input-group-btn
>
.btn
:active
{
z-index
:
2
;
}
}
.caret
{
.caret
{
...
@@ -2039,6 +2182,10 @@ input[type="button"].btn-block {
...
@@ -2039,6 +2182,10 @@ input[type="button"].btn-block {
content
:
""
;
content
:
""
;
}
}
.dropdown
{
position
:
relative
;
}
.dropdown-menu
{
.dropdown-menu
{
position
:
absolute
;
position
:
absolute
;
top
:
100%
;
top
:
100%
;
...
@@ -2171,7 +2318,6 @@ input[type="button"].btn-block {
...
@@ -2171,7 +2318,6 @@ input[type="button"].btn-block {
.list-group
{
.list-group
{
padding-left
:
0
;
padding-left
:
0
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
background-color
:
#ffffff
;
}
}
.list-group-item
{
.list-group-item
{
...
@@ -2179,6 +2325,7 @@ input[type="button"].btn-block {
...
@@ -2179,6 +2325,7 @@ input[type="button"].btn-block {
display
:
block
;
display
:
block
;
padding
:
10px
30px
10px
15px
;
padding
:
10px
30px
10px
15px
;
margin-bottom
:
-1px
;
margin-bottom
:
-1px
;
background-color
:
#ffffff
;
border
:
1px
solid
#dddddd
;
border
:
1px
solid
#dddddd
;
}
}
...
@@ -2247,6 +2394,23 @@ a.list-group-item.active .list-group-item-text {
...
@@ -2247,6 +2394,23 @@ a.list-group-item.active .list-group-item-text {
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,
0.05
);
}
}
.panel
.list-group
{
margin
:
15px
-15px
-15px
;
}
.panel
.list-group
.list-group-item
{
border-width
:
1px
0
;
}
.panel
.list-group
.list-group-item
:first-child
{
border-top-right-radius
:
0
;
border-top-left-radius
:
0
;
}
.panel
.list-group
.list-group-item
:last-child
{
border-bottom
:
0
;
}
.panel-heading
{
.panel-heading
{
padding
:
10px
15px
;
padding
:
10px
15px
;
margin
:
-15px
-15px
15px
;
margin
:
-15px
-15px
15px
;
...
@@ -2263,6 +2427,10 @@ a.list-group-item.active .list-group-item-text {
...
@@ -2263,6 +2427,10 @@ a.list-group-item.active .list-group-item-text {
font-weight
:
500
;
font-weight
:
500
;
}
}
.panel-title
>
a
{
color
:
inherit
;
}
.panel-footer
{
.panel-footer
{
padding
:
10px
15px
;
padding
:
10px
15px
;
margin
:
15px
-15px
-15px
;
margin
:
15px
-15px
-15px
;
...
@@ -2322,23 +2490,6 @@ a.list-group-item.active .list-group-item-text {
...
@@ -2322,23 +2490,6 @@ a.list-group-item.active .list-group-item-text {
border-color
:
#bce8f1
;
border-color
:
#bce8f1
;
}
}
.list-group-flush
{
margin
:
15px
-15px
-15px
;
}
.list-group-flush
.list-group-item
{
border-width
:
1px
0
;
}
.list-group-flush
.list-group-item
:first-child
{
border-top-right-radius
:
0
;
border-top-left-radius
:
0
;
}
.list-group-flush
.list-group-item
:last-child
{
border-bottom
:
0
;
}
.well
{
.well
{
min-height
:
20px
;
min-height
:
20px
;
padding
:
19px
;
padding
:
19px
;
...
@@ -2355,12 +2506,12 @@ a.list-group-item.active .list-group-item-text {
...
@@ -2355,12 +2506,12 @@ a.list-group-item.active .list-group-item-text {
border-color
:
rgba
(
0
,
0
,
0
,
0.15
);
border-color
:
rgba
(
0
,
0
,
0
,
0.15
);
}
}
.well-l
arge
{
.well-l
g
{
padding
:
24px
;
padding
:
24px
;
border-radius
:
6px
;
border-radius
:
6px
;
}
}
.well-sm
all
{
.well-sm
{
padding
:
9px
;
padding
:
9px
;
border-radius
:
3px
;
border-radius
:
3px
;
}
}
...
@@ -2448,10 +2599,6 @@ button.close {
...
@@ -2448,10 +2599,6 @@ button.close {
background-color
:
transparent
;
background-color
:
transparent
;
}
}
.nav
>
li
+
.nav-header
{
margin-top
:
9px
;
}
.nav.open
>
a
,
.nav.open
>
a
,
.nav.open
>
a
:hover
,
.nav.open
>
a
:hover
,
.nav.open
>
a
:focus
{
.nav.open
>
a
:focus
{
...
@@ -2467,10 +2614,6 @@ button.close {
...
@@ -2467,10 +2614,6 @@ button.close {
border-bottom-color
:
#ffffff
;
border-bottom-color
:
#ffffff
;
}
}
.nav
>
.pull-right
{
float
:
right
;
}
.nav
.nav-divider
{
.nav
.nav-divider
{
height
:
1px
;
height
:
1px
;
margin
:
9px
0
;
margin
:
9px
0
;
...
@@ -2509,7 +2652,6 @@ button.close {
...
@@ -2509,7 +2652,6 @@ button.close {
}
}
.nav-tabs.nav-justified
{
.nav-tabs.nav-justified
{
display
:
table
;
width
:
100%
;
width
:
100%
;
border-bottom
:
0
;
border-bottom
:
0
;
}
}
...
@@ -2517,7 +2659,7 @@ button.close {
...
@@ -2517,7 +2659,7 @@ button.close {
.nav-tabs.nav-justified
>
li
{
.nav-tabs.nav-justified
>
li
{
display
:
table-cell
;
display
:
table-cell
;
float
:
none
;
float
:
none
;
width
:
auto
;
width
:
1%
;
}
}
.nav-tabs.nav-justified
>
li
>
a
{
.nav-tabs.nav-justified
>
li
>
a
{
...
@@ -2541,7 +2683,7 @@ button.close {
...
@@ -2541,7 +2683,7 @@ button.close {
border-radius
:
5px
;
border-radius
:
5px
;
}
}
.nav-pills
>
li
+
li
>
a
{
.nav-pills
>
li
+
li
{
margin-left
:
2px
;
margin-left
:
2px
;
}
}
...
@@ -2556,20 +2698,19 @@ button.close {
...
@@ -2556,20 +2698,19 @@ button.close {
float
:
none
;
float
:
none
;
}
}
.nav-stacked
>
li
+
li
>
a
{
.nav-stacked
>
li
+
li
{
margin-top
:
2px
;
margin-top
:
2px
;
margin-left
:
0
;
margin-left
:
0
;
}
}
.nav-justified
{
.nav-justified
{
display
:
table
;
width
:
100%
;
width
:
100%
;
}
}
.nav-justified
>
li
{
.nav-justified
>
li
{
display
:
table-cell
;
display
:
table-cell
;
float
:
none
;
float
:
none
;
width
:
auto
;
width
:
1%
;
}
}
.nav-justified
>
li
>
a
{
.nav-justified
>
li
>
a
{
...
@@ -2724,6 +2865,15 @@ button.close {
...
@@ -2724,6 +2865,15 @@ button.close {
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
@media
(
max-width
:
768px
)
{
.nav-collapse-scrollable
{
max-height
:
360px
;
margin-bottom
:
15px
;
overflow-y
:
scroll
;
-webkit-overflow-scrolling
:
touch
;
}
}
.navbar-brand
{
.navbar-brand
{
display
:
block
;
display
:
block
;
max-width
:
200px
;
max-width
:
200px
;
...
@@ -2745,12 +2895,13 @@ button.close {
...
@@ -2745,12 +2895,13 @@ button.close {
}
}
.navbar-toggle
{
.navbar-toggle
{
position
:
absolute
;
position
:
relative
;
top
:
9px
;
float
:
right
;
right
:
10px
;
width
:
48px
;
width
:
48px
;
height
:
32px
;
height
:
34px
;
padding
:
8px
12px
;
padding
:
6px
12px
;
margin-top
:
8px
;
margin-bottom
:
8px
;
background-color
:
transparent
;
background-color
:
transparent
;
border
:
1px
solid
#dddddd
;
border
:
1px
solid
#dddddd
;
border-radius
:
4px
;
border-radius
:
4px
;
...
@@ -2774,8 +2925,8 @@ button.close {
...
@@ -2774,8 +2925,8 @@ button.close {
}
}
.navbar-form
{
.navbar-form
{
margin-top
:
6
px
;
margin-top
:
8
px
;
margin-bottom
:
6
px
;
margin-bottom
:
8
px
;
}
}
.navbar-form
.form-control
,
.navbar-form
.form-control
,
...
@@ -2786,10 +2937,17 @@ button.close {
...
@@ -2786,10 +2937,17 @@ button.close {
.navbar-form
.radio
,
.navbar-form
.radio
,
.navbar-form
.checkbox
{
.navbar-form
.checkbox
{
padding-left
:
0
;
margin-top
:
0
;
margin-top
:
0
;
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
.navbar-form
.radio
input
[
type
=
"radio"
],
.navbar-form
.checkbox
input
[
type
=
"checkbox"
]
{
float
:
none
;
margin-left
:
0
;
}
.navbar-nav
>
li
>
.dropdown-menu
{
.navbar-nav
>
li
>
.dropdown-menu
{
margin-top
:
0
;
margin-top
:
0
;
border-top-right-radius
:
0
;
border-top-right-radius
:
0
;
...
@@ -2914,6 +3072,7 @@ button.close {
...
@@ -2914,6 +3072,7 @@ button.close {
@media
screen
and
(
min-width
:
768px
)
{
@media
screen
and
(
min-width
:
768px
)
{
.navbar-brand
{
.navbar-brand
{
float
:
left
;
float
:
left
;
max-width
:
none
;
margin-right
:
5px
;
margin-right
:
5px
;
margin-left
:
-15px
;
margin-left
:
-15px
;
}
}
...
@@ -2929,7 +3088,6 @@ button.close {
...
@@ -2929,7 +3088,6 @@ button.close {
border-radius
:
0
;
border-radius
:
0
;
}
}
.navbar-nav.pull-right
{
.navbar-nav.pull-right
{
float
:
right
;
width
:
auto
;
width
:
auto
;
}
}
.navbar-toggle
{
.navbar-toggle
{
...
@@ -2939,16 +3097,19 @@ button.close {
...
@@ -2939,16 +3097,19 @@ button.close {
display
:
none
;
display
:
none
;
}
}
.nav-collapse.collapse
{
.nav-collapse.collapse
{
display
:
block
!important
;
height
:
auto
!important
;
height
:
auto
!important
;
overflow
:
visible
!important
;
overflow
:
visible
!important
;
}
}
}
}
.navbar-btn
{
.navbar-btn
{
margin-top
:
6
px
;
margin-top
:
8
px
;
}
}
.navbar-text
{
.navbar-text
{
float
:
left
;
padding
:
0
15px
;
margin-top
:
15px
;
margin-top
:
15px
;
margin-bottom
:
15px
;
margin-bottom
:
15px
;
}
}
...
@@ -2969,12 +3130,28 @@ button.close {
...
@@ -2969,12 +3130,28 @@ button.close {
color
:
#ffffff
;
color
:
#ffffff
;
}
}
.btn
.caret
{
.btn
-default
.caret
{
border-top-color
:
#
ffffff
;
border-top-color
:
#
333333
;
}
}
.dropup
.btn
.caret
{
.btn-primary
.caret
,
border-bottom-color
:
#ffffff
;
.btn-success
.caret
,
.btn-warning
.caret
,
.btn-danger
.caret
,
.btn-info
.caret
{
border-top-color
:
#fff
;
}
.btn-default
.dropup
.caret
{
border-bottom-color
:
#333333
;
}
.btn-primary
.dropup
.caret
,
.btn-success
.dropup
.caret
,
.btn-warning
.dropup
.caret
,
.btn-danger
.dropup
.caret
,
.btn-info
.dropup
.caret
{
border-bottom-color
:
#fff
;
}
}
.btn-group
,
.btn-group
,
...
@@ -2992,11 +3169,20 @@ button.close {
...
@@ -2992,11 +3169,20 @@ button.close {
.btn-group
>
.btn
:hover
,
.btn-group
>
.btn
:hover
,
.btn-group-vertical
>
.btn
:hover
,
.btn-group-vertical
>
.btn
:hover
,
.btn-group
>
.btn
:focus
,
.btn-group-vertical
>
.btn
:focus
,
.btn-group
>
.btn
:active
,
.btn-group
>
.btn
:active
,
.btn-group-vertical
>
.btn
:active
{
.btn-group-vertical
>
.btn
:active
,
.btn-group
>
.btn.active
,
.btn-group-vertical
>
.btn.active
{
z-index
:
2
;
z-index
:
2
;
}
}
.btn-group
>
.btn
:focus
,
.btn-group-vertical
>
.btn
:focus
{
outline
:
none
;
}
.btn-group
.btn
+
.btn
{
.btn-group
.btn
+
.btn
{
margin-left
:
-1px
;
margin-left
:
-1px
;
}
}
...
@@ -3080,7 +3266,7 @@ button.close {
...
@@ -3080,7 +3266,7 @@ button.close {
padding-left
:
8px
;
padding-left
:
8px
;
}
}
.btn-group
>
.btn-l
arge
+
.dropdown-toggle
{
.btn-group
>
.btn-l
g
+
.dropdown-toggle
{
padding-right
:
12px
;
padding-right
:
12px
;
padding-left
:
12px
;
padding-left
:
12px
;
}
}
...
@@ -3094,11 +3280,11 @@ button.close {
...
@@ -3094,11 +3280,11 @@ button.close {
margin-left
:
0
;
margin-left
:
0
;
}
}
.btn-l
arge
.caret
{
.btn-l
g
.caret
{
border-width
:
5px
;
border-width
:
5px
;
}
}
.dropup
.btn-l
arge
.caret
{
.dropup
.btn-l
g
.caret
{
border-bottom-width
:
5px
;
border-bottom-width
:
5px
;
}
}
...
@@ -3117,12 +3303,12 @@ button.close {
...
@@ -3117,12 +3303,12 @@ button.close {
border-radius
:
0
;
border-radius
:
0
;
}
}
.btn-group-vertical
.btn
:first-child
{
.btn-group-vertical
.btn
:first-child
:not
(
:last-child
)
{
border-bottom-right-radius
:
0
;
border-bottom-right-radius
:
0
;
border-bottom-left-radius
:
0
;
border-bottom-left-radius
:
0
;
}
}
.btn-group-vertical
.btn
:last-child
{
.btn-group-vertical
.btn
:last-child
:not
(
:first-child
)
{
border-top-right-radius
:
0
;
border-top-right-radius
:
0
;
border-top-left-radius
:
0
;
border-top-left-radius
:
0
;
}
}
...
@@ -3130,6 +3316,7 @@ button.close {
...
@@ -3130,6 +3316,7 @@ button.close {
.btn-group-justified
{
.btn-group-justified
{
display
:
table
;
display
:
table
;
width
:
100%
;
width
:
100%
;
table-layout
:
fixed
;
}
}
.btn-group-justified
.btn
{
.btn-group-justified
.btn
{
...
@@ -3179,7 +3366,7 @@ button.close {
...
@@ -3179,7 +3366,7 @@ button.close {
.pagination
>
li
>
a
,
.pagination
>
li
>
a
,
.pagination
>
li
>
span
{
.pagination
>
li
>
span
{
float
:
left
;
float
:
left
;
padding
:
4
px
12px
;
padding
:
6
px
12px
;
line-height
:
1.428571429
;
line-height
:
1.428571429
;
text-decoration
:
none
;
text-decoration
:
none
;
background-color
:
#ffffff
;
background-color
:
#ffffff
;
...
@@ -3222,38 +3409,38 @@ button.close {
...
@@ -3222,38 +3409,38 @@ button.close {
background-color
:
#ffffff
;
background-color
:
#ffffff
;
}
}
.pagination-l
arge
>
li
>
a
,
.pagination-l
g
>
li
>
a
,
.pagination-l
arge
>
li
>
span
{
.pagination-l
g
>
li
>
span
{
padding
:
1
4
px
16px
;
padding
:
1
0
px
16px
;
font-size
:
18px
;
font-size
:
18px
;
}
}
.pagination-l
arge
>
li
:first-child
>
a
,
.pagination-l
g
>
li
:first-child
>
a
,
.pagination-l
arge
>
li
:first-child
>
span
{
.pagination-l
g
>
li
:first-child
>
span
{
border-bottom-left-radius
:
6px
;
border-bottom-left-radius
:
6px
;
border-top-left-radius
:
6px
;
border-top-left-radius
:
6px
;
}
}
.pagination-l
arge
>
li
:last-child
>
a
,
.pagination-l
g
>
li
:last-child
>
a
,
.pagination-l
arge
>
li
:last-child
>
span
{
.pagination-l
g
>
li
:last-child
>
span
{
border-top-right-radius
:
6px
;
border-top-right-radius
:
6px
;
border-bottom-right-radius
:
6px
;
border-bottom-right-radius
:
6px
;
}
}
.pagination-sm
all
>
li
>
a
,
.pagination-sm
>
li
>
a
,
.pagination-sm
all
>
li
>
span
{
.pagination-sm
>
li
>
span
{
padding
:
5px
10px
;
padding
:
5px
10px
;
font-size
:
12px
;
font-size
:
12px
;
}
}
.pagination-sm
all
>
li
:first-child
>
a
,
.pagination-sm
>
li
:first-child
>
a
,
.pagination-sm
all
>
li
:first-child
>
span
{
.pagination-sm
>
li
:first-child
>
span
{
border-bottom-left-radius
:
3px
;
border-bottom-left-radius
:
3px
;
border-top-left-radius
:
3px
;
border-top-left-radius
:
3px
;
}
}
.pagination-sm
all
>
li
:last-child
>
a
,
.pagination-sm
>
li
:last-child
>
a
,
.pagination-sm
all
>
li
:last-child
>
span
{
.pagination-sm
>
li
:last-child
>
span
{
border-top-right-radius
:
3px
;
border-top-right-radius
:
3px
;
border-bottom-right-radius
:
3px
;
border-bottom-right-radius
:
3px
;
}
}
...
@@ -3339,24 +3526,28 @@ button.close {
...
@@ -3339,24 +3526,28 @@ button.close {
overflow-y
:
scroll
;
overflow-y
:
scroll
;
}
}
.modal.fade
{
.modal.fade
.modal-dialog
{
top
:
-25%
;
-webkit-transform
:
translate
(
0
,
-25%
);
-webkit-transition
:
opacity
0.3s
linear
,
top
0.3s
ease-out
;
-ms-transform
:
translate
(
0
,
-25%
);
transition
:
opacity
0.3s
linear
,
top
0.3s
ease-out
;
transform
:
translate
(
0
,
-25%
);
-webkit-transition
:
-webkit-transform
0.3s
ease-out
;
-moz-transition
:
-moz-transform
0.3s
ease-out
;
-o-transition
:
-o-transform
0.3s
ease-out
;
transition
:
transform
0.3s
ease-out
;
}
}
.modal.fade.in
{
.modal.in
.modal-dialog
{
top
:
0
;
-webkit-transform
:
translate
(
0
,
0
);
-ms-transform
:
translate
(
0
,
0
);
transform
:
translate
(
0
,
0
);
}
}
.modal-dialog
{
.modal-dialog
{
position
:
relative
;
top
:
0
;
right
:
0
;
left
:
0
;
z-index
:
1050
;
z-index
:
1050
;
width
:
auto
;
width
:
auto
;
padding
:
10px
;
padding
:
10px
;
margin-right
:
auto
;
margin-left
:
auto
;
}
}
.modal-content
{
.modal-content
{
...
@@ -3386,7 +3577,7 @@ button.close {
...
@@ -3386,7 +3577,7 @@ button.close {
filter
:
alpha
(
opacity
=
0
);
filter
:
alpha
(
opacity
=
0
);
}
}
.modal-backdrop.
fade.
in
{
.modal-backdrop.in
{
opacity
:
0.5
;
opacity
:
0.5
;
filter
:
alpha
(
opacity
=
50
);
filter
:
alpha
(
opacity
=
50
);
}
}
...
@@ -3455,10 +3646,9 @@ button.close {
...
@@ -3455,10 +3646,9 @@ button.close {
.modal-dialog
{
.modal-dialog
{
right
:
auto
;
right
:
auto
;
left
:
50%
;
left
:
50%
;
width
:
56
0px
;
width
:
60
0px
;
padding-top
:
30px
;
padding-top
:
30px
;
padding-bottom
:
30px
;
padding-bottom
:
30px
;
margin-left
:
-280px
;
}
}
.modal-content
{
.modal-content
{
-webkit-box-shadow
:
0
5px
15px
rgba
(
0
,
0
,
0
,
0.5
);
-webkit-box-shadow
:
0
5px
15px
rgba
(
0
,
0
,
0
,
0.5
);
...
@@ -3478,8 +3668,8 @@ button.close {
...
@@ -3478,8 +3668,8 @@ button.close {
}
}
.tooltip.in
{
.tooltip.in
{
opacity
:
1
;
opacity
:
0.9
;
filter
:
alpha
(
opacity
=
10
0
);
filter
:
alpha
(
opacity
=
9
0
);
}
}
.tooltip.top
{
.tooltip.top
{
...
@@ -3508,7 +3698,7 @@ button.close {
...
@@ -3508,7 +3698,7 @@ button.close {
color
:
#ffffff
;
color
:
#ffffff
;
text-align
:
center
;
text-align
:
center
;
text-decoration
:
none
;
text-decoration
:
none
;
background-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
background-color
:
#000000
;
border-radius
:
4px
;
border-radius
:
4px
;
}
}
...
@@ -3524,21 +3714,21 @@ button.close {
...
@@ -3524,21 +3714,21 @@ button.close {
bottom
:
0
;
bottom
:
0
;
left
:
50%
;
left
:
50%
;
margin-left
:
-5px
;
margin-left
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-top-color
:
#000000
;
border-width
:
5px
5px
0
;
border-width
:
5px
5px
0
;
}
}
.tooltip.top-left
.tooltip-arrow
{
.tooltip.top-left
.tooltip-arrow
{
bottom
:
0
;
bottom
:
0
;
left
:
5px
;
left
:
5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-top-color
:
#000000
;
border-width
:
5px
5px
0
;
border-width
:
5px
5px
0
;
}
}
.tooltip.top-right
.tooltip-arrow
{
.tooltip.top-right
.tooltip-arrow
{
right
:
5px
;
right
:
5px
;
bottom
:
0
;
bottom
:
0
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-top-color
:
#000000
;
border-width
:
5px
5px
0
;
border-width
:
5px
5px
0
;
}
}
...
@@ -3546,7 +3736,7 @@ button.close {
...
@@ -3546,7 +3736,7 @@ button.close {
top
:
50%
;
top
:
50%
;
left
:
0
;
left
:
0
;
margin-top
:
-5px
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-right-color
:
#000000
;
border-width
:
5px
5px
5px
0
;
border-width
:
5px
5px
5px
0
;
}
}
...
@@ -3554,7 +3744,7 @@ button.close {
...
@@ -3554,7 +3744,7 @@ button.close {
top
:
50%
;
top
:
50%
;
right
:
0
;
right
:
0
;
margin-top
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-left-color
:
#000000
;
border-width
:
5px
0
5px
5px
;
border-width
:
5px
0
5px
5px
;
}
}
...
@@ -3562,21 +3752,21 @@ button.close {
...
@@ -3562,21 +3752,21 @@ button.close {
top
:
0
;
top
:
0
;
left
:
50%
;
left
:
50%
;
margin-left
:
-5px
;
margin-left
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-bottom-color
:
#000000
;
border-width
:
0
5px
5px
;
border-width
:
0
5px
5px
;
}
}
.tooltip.bottom-left
.tooltip-arrow
{
.tooltip.bottom-left
.tooltip-arrow
{
top
:
0
;
top
:
0
;
left
:
5px
;
left
:
5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-bottom-color
:
#000000
;
border-width
:
0
5px
5px
;
border-width
:
0
5px
5px
;
}
}
.tooltip.bottom-right
.tooltip-arrow
{
.tooltip.bottom-right
.tooltip-arrow
{
top
:
0
;
top
:
0
;
right
:
5px
;
right
:
5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.9
)
;
border-bottom-color
:
#000000
;
border-width
:
0
5px
5px
;
border-width
:
0
5px
5px
;
}
}
...
@@ -3720,7 +3910,7 @@ button.close {
...
@@ -3720,7 +3910,7 @@ button.close {
}
}
.alert
{
.alert
{
padding
:
1
0px
35px
10
px
15px
;
padding
:
1
5px
35px
15
px
15px
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
color
:
#c09853
;
color
:
#c09853
;
background-color
:
#fcf8e3
;
background-color
:
#fcf8e3
;
...
@@ -3738,7 +3928,7 @@ button.close {
...
@@ -3738,7 +3928,7 @@ button.close {
}
}
.alert
.alert-link
{
.alert
.alert-link
{
font-weight
:
500
;
font-weight
:
bold
;
color
:
#a47e3c
;
color
:
#a47e3c
;
}
}
...
@@ -3749,6 +3939,15 @@ button.close {
...
@@ -3749,6 +3939,15 @@ button.close {
color
:
inherit
;
color
:
inherit
;
}
}
.alert
>
p
,
.alert
>
ul
{
margin-bottom
:
0
;
}
.alert
>
p
+
p
{
margin-top
:
5px
;
}
.alert-success
{
.alert-success
{
color
:
#468847
;
color
:
#468847
;
background-color
:
#dff0d8
;
background-color
:
#dff0d8
;
...
@@ -3791,20 +3990,6 @@ button.close {
...
@@ -3791,20 +3990,6 @@ button.close {
color
:
#2d6987
;
color
:
#2d6987
;
}
}
.alert-block
{
padding-top
:
15px
;
padding-bottom
:
15px
;
}
.alert-block
>
p
,
.alert-block
>
ul
{
margin-bottom
:
0
;
}
.alert-block
p
+
p
{
margin-top
:
5px
;
}
.thumbnail
,
.thumbnail
,
.img-thumbnail
{
.img-thumbnail
{
padding
:
4px
;
padding
:
4px
;
...
@@ -3887,8 +4072,7 @@ a.thumbnail:focus {
...
@@ -3887,8 +4072,7 @@ a.thumbnail:focus {
color
:
#ffffff
;
color
:
#ffffff
;
text-align
:
center
;
text-align
:
center
;
white-space
:
nowrap
;
white-space
:
nowrap
;
vertical-align
:
middle
;
vertical-align
:
baseline
;
background-color
:
#999999
;
border-radius
:
.25em
;
border-radius
:
.25em
;
}
}
...
@@ -3897,6 +4081,14 @@ a.thumbnail:focus {
...
@@ -3897,6 +4081,14 @@ a.thumbnail:focus {
color
:
#ffffff
;
color
:
#ffffff
;
text-decoration
:
none
;
text-decoration
:
none
;
cursor
:
pointer
;
cursor
:
pointer
;
}
.label-default
{
background-color
:
#999999
;
}
.label-default
[
href
]
:hover
,
.label-default
[
href
]
:focus
{
background-color
:
#808080
;
background-color
:
#808080
;
}
}
...
@@ -3946,7 +4138,7 @@ a.thumbnail:focus {
...
@@ -3946,7 +4138,7 @@ a.thumbnail:focus {
color
:
#ffffff
;
color
:
#ffffff
;
text-align
:
center
;
text-align
:
center
;
white-space
:
nowrap
;
white-space
:
nowrap
;
vertical-align
:
middl
e
;
vertical-align
:
baselin
e
;
background-color
:
#999999
;
background-color
:
#999999
;
border-radius
:
10px
;
border-radius
:
10px
;
}
}
...
@@ -3995,15 +4187,6 @@ a.list-group-item.active > .badge,
...
@@ -3995,15 +4187,6 @@ a.list-group-item.active > .badge,
}
}
}
}
@-ms-keyframes
progress-bar-stripes
{
from
{
background-position
:
40px
0
;
}
to
{
background-position
:
0
0
;
}
}
@-o-keyframes
progress-bar-stripes
{
@-o-keyframes
progress-bar-stripes
{
from
{
from
{
background-position
:
0
0
;
background-position
:
0
0
;
...
@@ -4257,6 +4440,7 @@ a.list-group-item.active > .badge,
...
@@ -4257,6 +4440,7 @@ a.list-group-item.active > .badge,
height
:
20px
;
height
:
20px
;
margin-top
:
-10px
;
margin-top
:
-10px
;
margin-left
:
-10px
;
margin-left
:
-10px
;
font-family
:
serif
;
}
}
.carousel-control
.icon-prev
:before
{
.carousel-control
.icon-prev
:before
{
...
@@ -4272,9 +4456,9 @@ a.list-group-item.active > .badge,
...
@@ -4272,9 +4456,9 @@ a.list-group-item.active > .badge,
bottom
:
10px
;
bottom
:
10px
;
left
:
50%
;
left
:
50%
;
z-index
:
15
;
z-index
:
15
;
width
:
120px
;
width
:
60%
;
padding-left
:
0
;
padding-left
:
0
;
margin-left
:
-
60px
;
margin-left
:
-
30%
;
text-align
:
center
;
text-align
:
center
;
list-style
:
none
;
list-style
:
none
;
}
}
...
@@ -4374,11 +4558,11 @@ a.list-group-item.active > .badge,
...
@@ -4374,11 +4558,11 @@ a.list-group-item.active > .badge,
}
}
.pull-right
{
.pull-right
{
float
:
right
;
float
:
right
!important
;
}
}
.pull-left
{
.pull-left
{
float
:
left
;
float
:
left
!important
;
}
}
.hide
{
.hide
{
...
...
framework/yii/bootstrap/assets/css/bootstrap.min.css
View file @
0e013c4f
This source diff could not be displayed because it is too large. You can
view the blob
instead.
framework/yii/bootstrap/assets/js/bootstrap.js
View file @
0e013c4f
...
@@ -50,9 +50,10 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -50,9 +50,10 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
// http://blog.alexmaccaw.com/css-transitions
// http://blog.alexmaccaw.com/css-transitions
$
.
fn
.
emulateTransitionEnd
=
function
(
duration
)
{
$
.
fn
.
emulateTransitionEnd
=
function
(
duration
)
{
var
called
=
false
,
$el
=
this
var
called
=
false
,
$el
=
this
$
(
this
).
one
(
'webkitTransitionEnd'
,
function
()
{
called
=
true
})
$
(
this
).
one
(
$
.
support
.
transition
.
end
,
function
()
{
called
=
true
})
var
callback
=
function
()
{
if
(
!
called
)
$
(
$el
).
trigger
(
'webkitTransitionEnd'
)
}
var
callback
=
function
()
{
if
(
!
called
)
$
(
$el
).
trigger
(
$
.
support
.
transition
.
end
)
}
setTimeout
(
callback
,
duration
)
setTimeout
(
callback
,
duration
)
return
this
}
}
$
(
function
()
{
$
(
function
()
{
...
@@ -218,7 +219,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -218,7 +219,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
var
$parent
=
this
.
$element
.
closest
(
'[data-toggle="buttons"]'
)
var
$parent
=
this
.
$element
.
closest
(
'[data-toggle="buttons"]'
)
if
(
$parent
.
length
)
{
if
(
$parent
.
length
)
{
var
$input
=
this
.
$element
.
find
(
'input'
).
prop
(
'checked'
,
!
this
.
$element
.
hasClass
(
'active'
))
var
$input
=
this
.
$element
.
find
(
'input'
)
.
prop
(
'checked'
,
!
this
.
$element
.
hasClass
(
'active'
))
.
trigger
(
'change'
)
if
(
$input
.
prop
(
'type'
)
===
'radio'
)
$parent
.
find
(
'.active'
).
removeClass
(
'active'
)
if
(
$input
.
prop
(
'type'
)
===
'radio'
)
$parent
.
find
(
'.active'
).
removeClass
(
'active'
)
}
}
...
@@ -234,7 +237,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -234,7 +237,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
$
.
fn
.
button
=
function
(
option
)
{
$
.
fn
.
button
=
function
(
option
)
{
return
this
.
each
(
function
()
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'button'
)
var
data
=
$this
.
data
(
'b
s.b
utton'
)
var
options
=
typeof
option
==
'object'
&&
option
var
options
=
typeof
option
==
'object'
&&
option
if
(
!
data
)
$this
.
data
(
'bs.button'
,
(
data
=
new
Button
(
this
,
options
)))
if
(
!
data
)
$this
.
data
(
'bs.button'
,
(
data
=
new
Button
(
this
,
options
)))
...
@@ -532,9 +535,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -532,9 +535,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
this
.
$element
.
trigger
(
startEvent
)
this
.
$element
.
trigger
(
startEvent
)
if
(
startEvent
.
isDefaultPrevented
())
return
if
(
startEvent
.
isDefaultPrevented
())
return
var
dimension
=
this
.
dimension
()
var
actives
=
this
.
$parent
&&
this
.
$parent
.
find
(
'> .accordion-group > .in'
)
var
scroll
=
$
.
camelCase
([
'scroll'
,
dimension
].
join
(
'-'
))
var
actives
=
this
.
$parent
&&
this
.
$parent
.
find
(
'> .accordion-group > .in'
)
if
(
actives
&&
actives
.
length
)
{
if
(
actives
&&
actives
.
length
)
{
var
hasData
=
actives
.
data
(
'bs.collapse'
)
var
hasData
=
actives
.
data
(
'bs.collapse'
)
...
@@ -543,10 +544,32 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -543,10 +544,32 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
hasData
||
actives
.
data
(
'bs.collapse'
,
null
)
hasData
||
actives
.
data
(
'bs.collapse'
,
null
)
}
}
this
.
$element
[
dimension
](
0
)
var
dimension
=
this
.
dimension
()
this
.
transition
(
'addClass'
,
'shown.bs.collapse'
)
this
.
$element
.
removeClass
(
'collapse'
)
.
addClass
(
'collapsing'
)
[
dimension
](
0
)
this
.
transitioning
=
1
var
complete
=
function
()
{
this
.
$element
.
removeClass
(
'collapsing'
)
.
addClass
(
'in'
)
[
dimension
](
'auto'
)
this
.
transitioning
=
0
this
.
$element
.
trigger
(
'shown.bs.collapse'
)
}
if
(
!
$
.
support
.
transition
)
return
complete
.
call
(
this
)
var
scrollSize
=
$
.
camelCase
([
'scroll'
,
dimension
].
join
(
'-'
))
if
(
$
.
support
.
transition
)
this
.
$element
[
dimension
](
this
.
$element
[
0
][
scroll
])
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
$
.
proxy
(
complete
,
this
))
.
emulateTransitionEnd
(
350
)
[
dimension
](
this
.
$element
[
0
][
scrollSize
])
}
}
Collapse
.
prototype
.
hide
=
function
()
{
Collapse
.
prototype
.
hide
=
function
()
{
...
@@ -557,41 +580,32 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -557,41 +580,32 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
if
(
startEvent
.
isDefaultPrevented
())
return
if
(
startEvent
.
isDefaultPrevented
())
return
var
dimension
=
this
.
dimension
()
var
dimension
=
this
.
dimension
()
this
.
reset
(
this
.
$element
[
dimension
]())
this
.
transition
(
'removeClass'
,
'hidden.bs.collapse'
)
this
.
$element
[
dimension
](
0
)
}
Collapse
.
prototype
.
reset
=
function
(
size
)
{
this
.
$element
var
dimension
=
this
.
dimension
()
[
dimension
](
this
.
$element
[
dimension
]())
[
0
].
offsetHeight
this
.
$element
this
.
$element
.
addClass
(
'collapsing'
)
.
removeClass
(
'collapse'
)
.
removeClass
(
'collapse'
)
[
dimension
](
size
||
'auto'
)
.
removeClass
(
'in'
)
[
0
].
offsetWidth
this
.
$element
[
size
!=
null
?
'addClass'
:
'removeClass'
](
'collapse'
)
return
this
this
.
transitioning
=
1
}
Collapse
.
prototype
.
transition
=
function
(
method
,
completeEvent
)
{
var
that
=
this
var
complete
=
function
()
{
var
complete
=
function
()
{
if
(
completeEvent
==
'shown.bs.collapse'
)
that
.
reset
()
this
.
transitioning
=
0
that
.
transitioning
=
0
this
.
$element
that
.
$element
.
trigger
(
completeEvent
)
.
trigger
(
'hidden.bs.collapse'
)
.
removeClass
(
'collapsing'
)
.
addClass
(
'collapse'
)
}
}
this
.
transitioning
=
1
if
(
!
$
.
support
.
transition
)
return
complete
.
call
(
this
)
this
.
$element
[
method
](
'in'
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'collapse'
)
?
this
.
$element
this
.
$element
[
dimension
](
0
)
.
one
(
$
.
support
.
transition
.
end
,
complete
)
.
one
(
$
.
support
.
transition
.
end
,
$
.
proxy
(
complete
,
this
))
.
emulateTransitionEnd
(
350
)
:
.
emulateTransitionEnd
(
350
)
complete
()
}
}
Collapse
.
prototype
.
toggle
=
function
()
{
Collapse
.
prototype
.
toggle
=
function
()
{
...
@@ -1042,9 +1056,11 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1042,9 +1056,11 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
})
})
})
})
var
$body
=
$
(
document
.
body
)
$
(
function
()
{
.
on
(
'shown.bs.modal'
,
'.modal'
,
function
()
{
$body
.
addClass
(
'modal-open'
)
})
var
$body
=
$
(
document
.
body
)
.
on
(
'hidden.bs.modal'
,
'.modal'
,
function
()
{
$body
.
removeClass
(
'modal-open'
)
})
.
on
(
'shown.bs.modal'
,
'.modal'
,
function
()
{
$body
.
addClass
(
'modal-open'
)
})
.
on
(
'hidden.bs.modal'
,
'.modal'
,
function
()
{
$body
.
removeClass
(
'modal-open'
)
})
})
}(
window
.
jQuery
);
}(
window
.
jQuery
);
...
@@ -1229,12 +1245,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1229,12 +1245,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
.
addClass
(
placement
)
.
addClass
(
placement
)
}
}
var
tp
=
placement
==
'bottom'
?
{
top
:
pos
.
top
+
pos
.
height
,
left
:
pos
.
left
+
pos
.
width
/
2
-
actualWidth
/
2
}
:
var
calculatedOffset
=
this
.
getCalcuatedOffset
(
placement
,
pos
,
actualWidth
,
actualHeight
)
placement
==
'top'
?
{
top
:
pos
.
top
-
actualHeight
,
left
:
pos
.
left
+
pos
.
width
/
2
-
actualWidth
/
2
}
:
placement
==
'left'
?
{
top
:
pos
.
top
+
pos
.
height
/
2
-
actualHeight
/
2
,
left
:
pos
.
left
-
actualWidth
}
:
/* placement == 'right' */
{
top
:
pos
.
top
+
pos
.
height
/
2
-
actualHeight
/
2
,
left
:
pos
.
left
+
pos
.
width
}
this
.
applyPlacement
(
tp
,
placement
)
this
.
applyPlacement
(
calculatedOffset
,
placement
)
this
.
$element
.
trigger
(
'shown.bs.'
+
this
.
type
)
this
.
$element
.
trigger
(
'shown.bs.'
+
this
.
type
)
}
}
}
}
...
@@ -1246,25 +1259,33 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1246,25 +1259,33 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
var
height
=
$tip
[
0
].
offsetHeight
var
height
=
$tip
[
0
].
offsetHeight
// manually read margins because getBoundingClientRect includes difference
// manually read margins because getBoundingClientRect includes difference
offset
.
top
=
offset
.
top
+
parseInt
(
$tip
.
css
(
'margin-top'
),
10
)
var
marginTop
=
parseInt
(
$tip
.
css
(
'margin-top'
),
10
)
offset
.
left
=
offset
.
left
+
parseInt
(
$tip
.
css
(
'margin-left'
),
10
)
var
marginLeft
=
parseInt
(
$tip
.
css
(
'margin-left'
),
10
)
// we must check for NaN for ie 8/9
if
(
isNaN
(
marginTop
))
marginTop
=
0
if
(
isNaN
(
marginLeft
))
marginLeft
=
0
offset
.
top
=
offset
.
top
+
marginTop
offset
.
left
=
offset
.
left
+
marginLeft
$tip
$tip
.
offset
(
offset
)
.
offset
(
offset
)
.
addClass
(
'in'
)
.
addClass
(
'in'
)
// check to see if placing tip in new offset caused the tip to resize itself
var
actualWidth
=
$tip
[
0
].
offsetWidth
var
actualWidth
=
$tip
[
0
].
offsetWidth
var
actualHeight
=
$tip
[
0
].
offsetHeight
var
actualHeight
=
$tip
[
0
].
offsetHeight
if
(
placement
==
'top'
&&
actualHeight
!=
height
)
{
if
(
placement
==
'top'
&&
actualHeight
!=
height
)
{
replace
=
true
replace
=
true
offset
.
top
=
offset
.
top
+
height
-
actualHeight
offset
.
top
=
offset
.
top
+
height
-
actualHeight
}
}
if
(
placement
==
'bottom'
||
placement
==
'top'
)
{
if
(
/bottom|top/
.
test
(
placement
)
)
{
var
delta
=
0
var
delta
=
0
if
(
offset
.
left
<
0
){
if
(
offset
.
left
<
0
)
{
delta
=
offset
.
left
*
-
2
delta
=
offset
.
left
*
-
2
offset
.
left
=
0
offset
.
left
=
0
...
@@ -1299,6 +1320,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1299,6 +1320,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
var
$tip
=
this
.
tip
()
var
$tip
=
this
.
tip
()
var
e
=
$
.
Event
(
'hide.bs.'
+
this
.
type
)
var
e
=
$
.
Event
(
'hide.bs.'
+
this
.
type
)
function
complete
()
{
$tip
.
detach
()
}
this
.
$element
.
trigger
(
e
)
this
.
$element
.
trigger
(
e
)
if
(
e
.
isDefaultPrevented
())
return
if
(
e
.
isDefaultPrevented
())
return
...
@@ -1307,9 +1330,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1307,9 +1330,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
$
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
'fade'
)
?
$
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
'fade'
)
?
$tip
$tip
.
one
(
$
.
support
.
transition
.
end
,
$tip
.
detach
)
.
one
(
$
.
support
.
transition
.
end
,
complete
)
.
emulateTransitionEnd
(
150
)
:
.
emulateTransitionEnd
(
150
)
:
$tip
.
detach
()
complete
()
this
.
$element
.
trigger
(
'hidden.bs.'
+
this
.
type
)
this
.
$element
.
trigger
(
'hidden.bs.'
+
this
.
type
)
...
@@ -1335,6 +1358,13 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1335,6 +1358,13 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
},
this
.
$element
.
offset
())
},
this
.
$element
.
offset
())
}
}
Tooltip
.
prototype
.
getCalcuatedOffset
=
function
(
placement
,
pos
,
actualWidth
,
actualHeight
)
{
return
placement
==
'bottom'
?
{
top
:
pos
.
top
+
pos
.
height
,
left
:
pos
.
left
+
pos
.
width
/
2
-
actualWidth
/
2
}
:
placement
==
'top'
?
{
top
:
pos
.
top
-
actualHeight
,
left
:
pos
.
left
+
pos
.
width
/
2
-
actualWidth
/
2
}
:
placement
==
'left'
?
{
top
:
pos
.
top
+
pos
.
height
/
2
-
actualHeight
/
2
,
left
:
pos
.
left
-
actualWidth
}
:
/* placement == 'right' */
{
top
:
pos
.
top
+
pos
.
height
/
2
-
actualHeight
/
2
,
left
:
pos
.
left
+
pos
.
width
}
}
Tooltip
.
prototype
.
getTitle
=
function
()
{
Tooltip
.
prototype
.
getTitle
=
function
()
{
var
title
var
title
var
$e
=
this
.
$element
var
$e
=
this
.
$element
...
@@ -1350,8 +1380,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1350,8 +1380,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
return
this
.
$tip
=
this
.
$tip
||
$
(
this
.
options
.
template
)
return
this
.
$tip
=
this
.
$tip
||
$
(
this
.
options
.
template
)
}
}
Tooltip
.
prototype
.
arrow
=
function
()
{
Tooltip
.
prototype
.
arrow
=
function
()
{
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
".tooltip-arrow"
)
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'.tooltip-arrow'
)
}
}
Tooltip
.
prototype
.
validate
=
function
()
{
Tooltip
.
prototype
.
validate
=
function
()
{
...
@@ -1442,6 +1472,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1442,6 +1472,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
this
.
init
(
'popover'
,
element
,
options
)
this
.
init
(
'popover'
,
element
,
options
)
}
}
if
(
!
$
.
fn
.
tooltip
)
throw
new
Error
(
'Popover requires tooltip.js'
)
Popover
.
DEFAULTS
=
$
.
extend
({}
,
$
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,
{
Popover
.
DEFAULTS
=
$
.
extend
({}
,
$
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,
{
placement
:
'right'
placement
:
'right'
,
trigger
:
'click'
,
trigger
:
'click'
...
@@ -1471,7 +1503,13 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1471,7 +1503,13 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
$tip
.
removeClass
(
'fade top bottom left right in'
)
$tip
.
removeClass
(
'fade top bottom left right in'
)
$tip
.
find
(
'.popover-title:empty'
).
hide
()
// Hide empty titles
//
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
// this manually by checking the contents.
if
(
$tip
.
find
(
'.popover-title'
).
html
()
===
''
)
{
$tip
.
find
(
'.popover-title'
).
hide
();
}
}
}
Popover
.
prototype
.
hasContent
=
function
()
{
Popover
.
prototype
.
hasContent
=
function
()
{
...
@@ -1488,15 +1526,15 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1488,15 +1526,15 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
o
.
content
)
o
.
content
)
}
}
Popover
.
prototype
.
arrow
=
function
()
{
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'.arrow'
)
}
Popover
.
prototype
.
tip
=
function
()
{
Popover
.
prototype
.
tip
=
function
()
{
if
(
!
this
.
$tip
)
this
.
$tip
=
$
(
this
.
options
.
template
)
if
(
!
this
.
$tip
)
this
.
$tip
=
$
(
this
.
options
.
template
)
return
this
.
$tip
return
this
.
$tip
}
}
Popover
.
prototype
.
destroy
=
function
()
{
this
.
hide
().
$element
.
off
(
'.'
+
this
.
type
).
removeData
(
this
.
type
)
}
// POPOVER PLUGIN DEFINITION
// POPOVER PLUGIN DEFINITION
// =========================
// =========================
...
@@ -1555,10 +1593,10 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1555,10 +1593,10 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
function
ScrollSpy
(
element
,
options
)
{
function
ScrollSpy
(
element
,
options
)
{
var
href
var
href
var
process
=
$
.
proxy
(
this
.
process
,
this
)
var
process
=
$
.
proxy
(
this
.
process
,
this
)
var
$element
=
$
(
element
).
is
(
'body'
)
?
$
(
window
)
:
$
(
element
)
this
.
$element
=
$
(
element
).
is
(
'body'
)
?
$
(
window
)
:
$
(
element
)
this
.
$body
=
$
(
'body'
)
this
.
$body
=
$
(
'body'
)
this
.
$scrollElement
=
$element
.
on
(
'scroll.bs.scroll-spy.data-api'
,
process
)
this
.
$scrollElement
=
this
.
$element
.
on
(
'scroll.bs.scroll-spy.data-api'
,
process
)
this
.
options
=
$
.
extend
({},
ScrollSpy
.
DEFAULTS
,
options
)
this
.
options
=
$
.
extend
({},
ScrollSpy
.
DEFAULTS
,
options
)
this
.
selector
=
(
this
.
options
.
target
this
.
selector
=
(
this
.
options
.
target
||
((
href
=
$
(
element
).
attr
(
'href'
))
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
))
//strip for ie7
||
((
href
=
$
(
element
).
attr
(
'href'
))
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
))
//strip for ie7
...
@@ -1576,6 +1614,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1576,6 +1614,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
}
}
ScrollSpy
.
prototype
.
refresh
=
function
()
{
ScrollSpy
.
prototype
.
refresh
=
function
()
{
var
offsetMethod
=
this
.
$element
[
0
]
==
window
?
'offset'
:
'position'
this
.
offsets
=
$
([])
this
.
offsets
=
$
([])
this
.
targets
=
$
([])
this
.
targets
=
$
([])
...
@@ -1589,7 +1629,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
...
@@ -1589,7 +1629,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
return
(
$href
return
(
$href
&&
$href
.
length
&&
$href
.
length
&&
[[
$href
.
offset
().
top
+
(
!
$
.
isWindow
(
self
.
$scrollElement
.
get
(
0
))
&&
self
.
$scrollElement
.
scrollTop
()),
href
]])
||
null
&&
[[
$href
[
offsetMethod
]
().
top
+
(
!
$
.
isWindow
(
self
.
$scrollElement
.
get
(
0
))
&&
self
.
$scrollElement
.
scrollTop
()),
href
]])
||
null
})
})
.
sort
(
function
(
a
,
b
)
{
return
a
[
0
]
-
b
[
0
]
})
.
sort
(
function
(
a
,
b
)
{
return
a
[
0
]
-
b
[
0
]
})
.
each
(
function
()
{
.
each
(
function
()
{
...
...
framework/yii/bootstrap/assets/js/bootstrap.min.js
View file @
0e013c4f
...
@@ -3,4 +3,4 @@
...
@@ -3,4 +3,4 @@
* Copyright 2013 Twitter Inc.
* Copyright 2013 Twitter Inc.
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
*/
if
(
!
jQuery
)
throw
new
Error
(
"Bootstrap requires jQuery"
);
+
function
(
a
){
"use strict"
;
function
b
(){
var
a
=
document
.
createElement
(
"bootstrap"
),
b
=
{
WebkitTransition
:
"webkitTransitionEnd"
,
MozTransition
:
"transitionend"
,
OTransition
:
"oTransitionEnd otransitionend"
,
transition
:
"transitionend"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]}}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
"webkitTransitionEnd"
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
"webkitTransitionEnd"
)};
setTimeout
(
e
,
b
)},
a
(
function
(){
a
.
support
.
transition
=
b
()})}(
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
c
(){
f
.
trigger
(
"closed.bs.alert"
).
remove
()}
var
d
=
a
(
this
),
e
=
d
.
attr
(
"data-target"
);
e
||
(
e
=
d
.
attr
(
"href"
),
e
=
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
f
=
a
(
e
);
b
&&
b
.
preventDefault
(),
f
.
length
||
(
f
=
d
.
hasClass
(
"alert"
)?
d
:
d
.
parent
()),
f
.
trigger
(
b
=
a
.
Event
(
"close.bs.alert"
)),
b
.
isDefaultPrevented
()
||
(
f
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"fade"
)?
f
.
one
(
a
.
support
.
transition
.
end
,
c
).
emulateTransitionEnd
(
150
):
c
())};
var
d
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.alert"
);
e
||
d
.
data
(
"bs.alert"
,
e
=
new
c
(
this
)),
"string"
==
typeof
b
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
d
,
this
},
a
(
document
).
on
(
"click.bs.alert.data-api"
,
b
,
c
.
prototype
.
close
)}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
)};
b
.
DEFAULTS
=
{
loadingText
:
"loading..."
},
b
.
prototype
.
setState
=
function
(
a
){
var
b
=
"disabled"
,
c
=
this
.
$element
,
d
=
c
.
is
(
"input"
)?
"val"
:
"html"
,
e
=
c
.
data
();
a
+=
"Text"
,
e
.
resetText
||
c
.
data
(
"resetText"
,
c
[
d
]()),
c
[
d
](
e
[
a
]
||
this
.
options
[
a
]),
setTimeout
(
function
(){
"loadingText"
==
a
?
c
.
addClass
(
b
).
attr
(
b
,
b
):
c
.
removeClass
(
b
).
removeAttr
(
b
)},
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=
this
.
$element
.
closest
(
'[data-toggle="buttons"]'
);
if
(
a
.
length
){
var
b
=
this
.
$element
.
find
(
"input"
).
prop
(
"checked"
,
!
this
.
$element
.
hasClass
(
"active"
));
"radio"
===
b
.
prop
(
"type"
)
&&
a
.
find
(
".active"
).
removeClass
(
"active"
)}
this
.
$element
.
toggleClass
(
"active"
)};
var
c
=
a
.
fn
.
button
;
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"button"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.button"
,
e
=
new
b
(
this
,
f
)),
"toggle"
==
c
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
Constructor
=
b
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
c
,
this
},
a
(
document
).
on
(
"click.bs.button.data-api"
,
"[data-toggle^=button]"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"btn"
)
||
(
c
=
c
.
closest
(
".btn"
)),
c
.
button
(
"toggle"
),
b
.
preventDefault
()})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
".carousel-indicators"
),
this
.
options
=
c
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
"hover"
==
this
.
options
.
pause
&&
this
.
$element
.
on
(
"mouseenter"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"mouseleave"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"hover"
},
b
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
b
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
".item.active"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(),
this
.
$items
.
index
(
this
.
$active
)},
b
.
prototype
.
to
=
function
(
b
){
var
c
=
this
,
d
=
this
.
getActiveIndex
();
return
b
>
this
.
$items
.
length
-
1
||
0
>
b
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"slid"
,
function
(){
c
.
to
(
b
)}):
d
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
d
?
"next"
:
"prev"
,
a
(
this
.
$items
[
b
]))},
b
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
".next, .prev"
).
length
&&
a
.
support
.
transition
.
end
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
b
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"next"
)},
b
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"prev"
)},
b
.
prototype
.
slide
=
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
".item.active"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
"next"
==
b
?
"left"
:
"right"
,
h
=
"next"
==
b
?
"first"
:
"last"
,
i
=
this
;
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
e
=
e
.
length
?
e
:
this
.
$element
.
find
(
".item"
)[
h
]();
var
j
=
a
.
Event
(
"slide.bs.carousel"
,{
relatedTarget
:
e
[
0
],
direction
:
g
});
if
(
!
e
.
hasClass
(
"active"
)){
if
(
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
".active"
).
removeClass
(
"active"
),
this
.
$element
.
one
(
"slid"
,
function
(){
var
b
=
a
(
i
.
$indicators
.
children
()[
i
.
getActiveIndex
()]);
b
&&
b
.
addClass
(
"active"
)})),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"slide"
)){
if
(
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
())
return
;
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
d
.
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
)}).
emulateTransitionEnd
(
600
)}
else
{
if
(
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
())
return
;
d
.
removeClass
(
"active"
),
e
.
addClass
(
"active"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"slid"
)}
return
f
&&
this
.
cycle
(),
this
}};
var
c
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.carousel"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"object"
==
typeof
c
&&
c
),
g
=
"string"
==
typeof
c
?
c
:
f
.
slide
;
e
||
d
.
data
(
"bs.carousel"
,
e
=
new
b
(
this
,
f
)),
"number"
==
typeof
c
?
e
.
to
(
c
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
c
,
this
},
a
(
document
).
on
(
"click.bs.carousel.data-api"
,
"[data-slide], [data-slide-to]"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
a
(
d
.
attr
(
"data-target"
)
||
(
c
=
d
.
attr
(
"href"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
a
.
extend
({},
e
.
data
(),
d
.
data
()),
g
=
d
.
attr
(
"data-slide-to"
);
g
&&
(
f
.
interval
=!
1
),
e
.
carousel
(
f
),(
g
=
d
.
attr
(
"data-slide-to"
))
&&
e
.
data
(
"bs.carousel"
).
to
(
g
),
b
.
preventDefault
()}),
a
(
window
).
on
(
"load"
,
function
(){
a
(
'[data-ride="carousel"]'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
carousel
(
b
.
data
())})})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
DEFAULTS
=
{
toggle
:
!
0
},
b
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"width"
);
return
a
?
"width"
:
"height"
},
b
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"in"
)){
var
b
=
a
.
Event
(
"show.bs.collapse"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
(),
d
=
a
.
camelCase
([
"scroll"
,
c
].
join
(
"-"
)),
e
=
this
.
$parent
&&
this
.
$parent
.
find
(
"> .accordion-group > .in"
);
if
(
e
&&
e
.
length
){
var
f
=
e
.
data
(
"bs.collapse"
);
if
(
f
&&
f
.
transitioning
)
return
;
e
.
collapse
(
"hide"
),
f
||
e
.
data
(
"bs.collapse"
,
null
)}
this
.
$element
[
c
](
0
),
this
.
transition
(
"addClass"
,
"shown.bs.collapse"
),
a
.
support
.
transition
&&
this
.
$element
[
c
](
this
.
$element
[
0
][
d
])}}},
b
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"in"
)){
var
b
=
a
.
Event
(
"hide.bs.collapse"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
reset
(
this
.
$element
[
c
]()),
this
.
transition
(
"removeClass"
,
"hidden.bs.collapse"
),
this
.
$element
[
c
](
0
)}}},
b
.
prototype
.
reset
=
function
(
a
){
var
b
=
this
.
dimension
();
return
this
.
$element
.
removeClass
(
"collapse"
)[
b
](
a
||
"auto"
)[
0
].
offsetWidth
,
this
.
$element
[
null
!=
a
?
"addClass"
:
"removeClass"
](
"collapse"
),
this
},
b
.
prototype
.
transition
=
function
(
b
,
c
){
var
d
=
this
,
e
=
function
(){
"shown.bs.collapse"
==
c
&&
d
.
reset
(),
d
.
transitioning
=
0
,
d
.
$element
.
trigger
(
c
)};
this
.
transitioning
=
1
,
this
.
$element
[
b
](
"in"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"collapse"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
e
).
emulateTransitionEnd
(
350
):
e
()},
b
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"in"
)?
"hide"
:
"show"
]()};
var
c
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.collapse"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"object"
==
typeof
c
&&
c
);
e
||
d
.
data
(
"bs.collapse"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
c
,
this
},
a
(
document
).
on
(
"click.bs.collapse.data-api"
,
"[data-toggle=collapse]"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
d
.
attr
(
"data-target"
)
||
b
.
preventDefault
()
||
(
c
=
d
.
attr
(
"href"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
),
g
=
f
.
data
(
"bs.collapse"
),
h
=
g
?
"toggle"
:
d
.
data
(),
i
=
d
.
attr
(
"data-parent"
),
j
=
i
&&
a
(
i
);
g
&&
g
.
transitioning
||
(
j
&&
j
.
find
(
"[data-toggle=collapse][data-parent="
+
i
+
"]"
).
not
(
d
).
addClass
(
"collapsed"
),
d
[
f
.
hasClass
(
"in"
)?
"addClass"
:
"removeClass"
](
"collapsed"
)),
f
.
collapse
(
h
)})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(){
a
(
d
).
remove
(),
a
(
e
).
each
(
function
(
b
){
var
d
=
c
(
a
(
this
));
d
.
hasClass
(
"open"
)
&&
(
d
.
trigger
(
b
=
a
.
Event
(
"hide.bs.dropdown"
)),
b
.
isDefaultPrevented
()
||
d
.
removeClass
(
"open"
).
trigger
(
"hidden.bs.dropdown"
))})}
function
c
(
b
){
var
c
=
b
.
attr
(
"data-target"
);
c
||
(
c
=
b
.
attr
(
"href"
),
c
=
c
&&
/#/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
var
d
=
".dropdown-backdrop"
,
e
=
"[data-toggle=dropdown]"
,
f
=
function
(
b
){
a
(
b
).
on
(
"click.bs.dropdown"
,
this
.
toggle
)};
f
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
".disabled, :disabled"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"open"
);
if
(
b
(),
!
g
){
if
(
"ontouchstart"
in
document
.
documentElement
&&
a
(
'<div class="dropdown-backdrop"/>'
).
insertAfter
(
a
(
this
)).
on
(
"click"
,
b
),
f
.
trigger
(
d
=
a
.
Event
(
"show.bs.dropdown"
)),
d
.
isDefaultPrevented
())
return
;
f
.
toggleClass
(
"open"
).
trigger
(
"shown.bs.dropdown"
)}
return
e
.
focus
(),
!
1
}},
f
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27
)
/
.
test
(
b
.
keyCode
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
".disabled, :disabled"
)){
var
f
=
c
(
d
),
g
=
f
.
hasClass
(
"open"
);
if
(
!
g
||
g
&&
27
==
b
.
keyCode
)
return
27
==
b
.
which
&&
f
.
find
(
e
).
focus
(),
d
.
click
();
var
h
=
a
(
"[role=menu] li:not(.divider):visible a"
,
f
);
if
(
h
.
length
){
var
i
=
h
.
index
(
h
.
filter
(
":focus"
));
38
==
b
.
keyCode
&&
i
>
0
&&
i
--
,
40
==
b
.
keyCode
&&
i
<
h
.
length
-
1
&&
i
++
,
~
i
||
(
i
=
0
),
h
.
eq
(
i
).
focus
()}}}};
var
g
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"dropdown"
);
d
||
c
.
data
(
"dropdown"
,
d
=
new
f
(
this
)),
"string"
==
typeof
b
&&
d
[
b
].
call
(
c
)})},
a
.
fn
.
dropdown
.
Constructor
=
f
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
g
,
this
},
a
(
document
).
on
(
"click.bs.dropdown.data-api"
,
b
).
on
(
"click.bs.dropdown.data-api"
,
".dropdown form"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"click.bs.dropdown.data-api"
,
e
,
f
.
prototype
.
toggle
).
on
(
"keydown.bs.dropdown.data-api"
,
e
+
", [role=menu]"
,
f
.
prototype
.
keydown
)}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$element
=
a
(
b
).
on
(
"click.dismiss.modal"
,
'[data-dismiss="modal"]'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
".modal-body"
).
load
(
this
.
options
.
remote
)};
b
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
b
.
prototype
.
toggle
=
function
(){
return
this
[
this
.
isShown
?
"hide"
:
"show"
]()},
b
.
prototype
.
show
=
function
(){
var
b
=
this
,
c
=
a
.
Event
(
"show.bs.modal"
);
this
.
$element
.
trigger
(
c
),
this
.
isShown
||
c
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
escape
(),
this
.
backdrop
(
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"
).
attr
(
"aria-hidden"
,
!
1
),
b
.
enforceFocus
(),
c
?
b
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
b
.
$element
.
focus
().
trigger
(
"shown.bs.modal"
)}).
emulateTransitionEnd
(
300
):
b
.
$element
.
focus
().
trigger
(
"shown.bs.modal"
)}))},
b
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"hide.bs.modal"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
escape
(),
a
(
document
).
off
(
"focusin.bs.modal"
),
this
.
$element
.
removeClass
(
"in"
).
attr
(
"aria-hidden"
,
!
0
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
300
):
this
.
hideModal
())},
b
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"focusin.bs.modal"
).
on
(
"focusin.bs.modal"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
focus
()},
this
))},
b
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"keyup.dismiss.bs.modal"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"keyup.dismiss.bs.modal"
)},
b
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
removeBackdrop
(),
a
.
$element
.
trigger
(
"hidden.bs.modal"
)})},
b
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
b
.
prototype
.
backdrop
=
function
(
b
){
var
c
=
this
.
$element
.
hasClass
(
"fade"
)?
"fade"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
d
=
a
.
support
.
transition
&&
c
;
if
(
this
.
$backdrop
=
a
(
'<div class="modal-backdrop '
+
c
+
'" />'
).
appendTo
(
document
.
body
),
this
.
$element
.
on
(
"click"
,
a
.
proxy
(
function
(
a
){
a
.
target
===
a
.
currentTarget
&&
(
"static"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
.
call
(
this
.
$element
[
0
]):
this
.
hide
.
call
(
this
))},
this
)),
d
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"in"
),
!
b
)
return
;
d
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()):
b
&&
b
()};
var
c
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.modal"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"object"
==
typeof
c
&&
c
);
e
||
d
.
data
(
"bs.modal"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
?
e
[
c
]():
f
.
show
&&
e
.
show
()})},
a
.
fn
.
modal
.
Constructor
=
b
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
c
,
this
},
a
(
document
).
on
(
"click.bs.modal.data-api"
,
'[data-toggle="modal"]'
,
function
(
b
){
var
c
=
a
(
this
),
d
=
c
.
attr
(
"href"
),
e
=
a
(
c
.
attr
(
"data-target"
)
||
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"modal"
)?
"toggle"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
d
)
&&
d
},
e
.
data
(),
c
.
data
());
b
.
preventDefault
(),
e
.
modal
(
f
).
one
(
"hide"
,
function
(){
c
.
is
(
":visible"
)
&&
c
.
focus
()})});
var
d
=
a
(
document
.
body
).
on
(
"shown.bs.modal"
,
".modal"
,
function
(){
d
.
addClass
(
"modal-open"
)}).
on
(
"hidden.bs.modal"
,
".modal"
,
function
(){
d
.
removeClass
(
"modal-open"
)})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
a
,
b
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"tooltip"
,
a
,
b
)};
b
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"top"
,
selector
:
!
1
,
template
:
'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
,
trigger
:
"hover focus"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
},
b
.
prototype
.
init
=
function
(
b
,
c
,
d
){
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
" "
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"click"
==
g
)
this
.
$element
.
on
(
"click."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"manual"
!=
g
){
var
h
=
"hover"
==
g
?
"mouseenter"
:
"focus"
,
i
=
"hover"
==
g
?
"mouseleave"
:
"blur"
;
this
.
$element
.
on
(
h
+
"."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"manual"
,
selector
:
""
}):
this
.
fixTitle
()},
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"number"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
b
.
prototype
.
enter
=
function
(
b
){
var
c
=
this
.
getDefaults
(),
d
=
{};
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
b
){
c
[
a
]
!=
b
&&
(
d
[
a
]
=
b
)});
var
e
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
d
).
data
(
"bs."
+
this
.
type
);
return
clearTimeout
(
e
.
timeout
),
e
.
options
.
delay
&&
e
.
options
.
delay
.
show
?(
e
.
hoverState
=
"in"
,
e
.
timeout
=
setTimeout
(
function
(){
"in"
==
e
.
hoverState
&&
e
.
show
()},
e
.
options
.
delay
.
show
),
void
0
):
e
.
show
()},
b
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"bs."
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?(
c
.
hoverState
=
"out"
,
c
.
timeout
=
setTimeout
(
function
(){
"out"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
),
void
0
):
c
.
hide
()},
b
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"show.bs."
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
if
(
this
.
$element
.
trigger
(
b
),
b
.
isDefaultPrevented
())
return
;
var
c
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
c
.
addClass
(
"fade"
);
var
d
=
"function"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
c
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
e
=
/
\s?
auto
?\s?
/i
,
f
=
e
.
test
(
d
);
f
&&
(
d
=
d
.
replace
(
e
,
""
)
||
"top"
),
c
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"block"
}).
addClass
(
d
),
this
.
options
.
container
?
c
.
appendTo
(
this
.
options
.
container
):
c
.
insertAfter
(
this
.
$element
);
var
g
=
this
.
getPosition
(),
h
=
c
[
0
].
offsetWidth
,
i
=
c
[
0
].
offsetHeight
;
if
(
f
){
var
j
=
this
.
$element
.
parent
(),
k
=
d
,
l
=
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
,
m
=
"body"
==
this
.
options
.
container
?
window
.
innerWidth
:
j
.
outerWidth
(),
n
=
"body"
==
this
.
options
.
container
?
window
.
innerHeight
:
j
.
outerHeight
(),
o
=
"body"
==
this
.
options
.
container
?
0
:
j
.
offset
().
left
;
d
=
"bottom"
==
d
&&
g
.
top
+
g
.
height
+
i
-
l
>
n
?
"top"
:
"top"
==
d
&&
g
.
top
-
l
-
i
<
0
?
"bottom"
:
"right"
==
d
&&
g
.
right
+
h
>
m
?
"left"
:
"left"
==
d
&&
g
.
left
-
h
<
o
?
"right"
:
d
,
c
.
removeClass
(
k
).
addClass
(
d
)}
var
p
=
"bottom"
==
d
?{
top
:
g
.
top
+
g
.
height
,
left
:
g
.
left
+
g
.
width
/
2
-
h
/
2
}:
"top"
==
d
?{
top
:
g
.
top
-
i
,
left
:
g
.
left
+
g
.
width
/
2
-
h
/
2
}:
"left"
==
d
?{
top
:
g
.
top
+
g
.
height
/
2
-
i
/
2
,
left
:
g
.
left
-
h
}:{
top
:
g
.
top
+
g
.
height
/
2
-
i
/
2
,
left
:
g
.
left
+
g
.
width
};
this
.
applyPlacement
(
p
,
d
),
this
.
$element
.
trigger
(
"shown.bs."
+
this
.
type
)}},
b
.
prototype
.
applyPlacement
=
function
(
a
,
b
){
var
c
,
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
;
a
.
top
=
a
.
top
+
parseInt
(
d
.
css
(
"margin-top"
),
10
),
a
.
left
=
a
.
left
+
parseInt
(
d
.
css
(
"margin-left"
),
10
),
d
.
offset
(
a
).
addClass
(
"in"
);
var
g
=
d
[
0
].
offsetWidth
,
h
=
d
[
0
].
offsetHeight
;
if
(
"top"
==
b
&&
h
!=
f
&&
(
c
=!
0
,
a
.
top
=
a
.
top
+
f
-
h
),
"bottom"
==
b
||
"top"
==
b
){
var
i
=
0
;
a
.
left
<
0
&&
(
i
=-
2
*
a
.
left
,
a
.
left
=
0
,
d
.
offset
(
a
),
g
=
d
[
0
].
offsetWidth
,
h
=
d
[
0
].
offsetHeight
),
this
.
replaceArrow
(
i
-
e
+
g
,
g
,
"left"
)}
else
this
.
replaceArrow
(
h
-
f
,
h
,
"top"
);
c
&&
d
.
offset
(
a
)},
b
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
,
a
?
50
*
(
1
-
a
/
b
)
+
"%"
:
""
)},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
".tooltip-inner"
)[
this
.
options
.
html
?
"html"
:
"text"
](
b
),
a
.
removeClass
(
"fade in top bottom left right"
)},
b
.
prototype
.
hide
=
function
(){
var
b
=
this
.
tip
(),
c
=
a
.
Event
(
"hide.bs."
+
this
.
type
);
return
this
.
$element
.
trigger
(
c
),
c
.
isDefaultPrevented
()?
void
0
:(
b
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"fade"
)?
b
.
one
(
a
.
support
.
transition
.
end
,
b
.
detach
).
emulateTransitionEnd
(
150
):
b
.
detach
(),
this
.
$element
.
trigger
(
"hidden.bs."
+
this
.
type
),
this
)},
b
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"title"
)
||
"string"
!=
typeof
a
.
attr
(
"data-original-title"
))
&&
a
.
attr
(
"data-original-title"
,
a
.
attr
(
"title"
)
||
""
).
attr
(
"title"
,
""
)},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
b
.
prototype
.
getPosition
=
function
(){
var
b
=
this
.
$element
[
0
];
return
a
.
extend
({},
"function"
==
typeof
b
.
getBoundingClientRect
?
b
.
getBoundingClientRect
():{
width
:
b
.
offsetWidth
,
height
:
b
.
offsetHeight
},
this
.
$element
.
offset
())},
b
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"data-original-title"
)
||
(
"function"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
".tooltip-arrow"
)},
b
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
b
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
b
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
b
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
b
.
prototype
.
toggle
=
function
(
b
){
var
c
=
b
?
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"bs."
+
this
.
type
):
this
;
c
.
tip
().
hasClass
(
"in"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
b
.
prototype
.
destroy
=
function
(){
this
.
hide
().
$element
.
off
(
"."
+
this
.
type
).
removeData
(
"bs."
+
this
.
type
)};
var
c
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.tooltip"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.tooltip"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
c
,
this
}}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"popover"
,
a
,
b
)};
b
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"right"
,
trigger
:
"click"
,
content
:
""
,
template
:
'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}),
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
b
.
prototype
.
constructor
=
b
,
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
".popover-title"
)[
this
.
options
.
html
?
"html"
:
"text"
](
b
),
a
.
find
(
".popover-content"
)[
this
.
options
.
html
?
"html"
:
"text"
](
c
),
a
.
removeClass
(
"fade top bottom left right in"
),
a
.
find
(
".popover-title:empty"
).
hide
()},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
b
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"data-content"
)
||
(
"function"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
},
b
.
prototype
.
destroy
=
function
(){
this
.
hide
().
$element
.
off
(
"."
+
this
.
type
).
removeData
(
this
.
type
)};
var
c
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.popover"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.popover"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
c
,
this
}}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
c
,
d
){
var
e
,
f
=
a
.
proxy
(
this
.
process
,
this
),
g
=
a
(
c
).
is
(
"body"
)?
a
(
window
):
a
(
c
);
this
.
$body
=
a
(
"body"
),
this
.
$scrollElement
=
g
.
on
(
"scroll.bs.scroll-spy.data-api"
,
f
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
e
=
a
(
c
).
attr
(
"href"
))
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
" .nav li > a"
,
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
refresh
=
function
(){
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]);
var
b
=
this
;
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"target"
)
||
c
.
attr
(
"href"
),
e
=
/^#
\w
/
.
test
(
d
)
&&
a
(
d
);
return
e
&&
e
.
length
&&
[[
e
.
offset
().
top
+
(
!
a
.
isWindow
(
b
.
$scrollElement
.
get
(
0
))
&&
b
.
$scrollElement
.
scrollTop
()),
d
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
b
.
offsets
.
push
(
this
[
0
]),
b
.
targets
.
push
(
this
[
1
])})},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
$scrollElement
[
0
].
scrollHeight
||
this
.
$body
[
0
].
scrollHeight
,
d
=
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
b
>=
d
)
return
g
!=
(
a
=
f
.
last
()[
0
])
&&
this
.
activate
(
a
);
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
!
e
[
a
+
1
]
||
b
<=
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parents
(
".active"
).
removeClass
(
"active"
);
var
c
=
this
.
selector
+
'[data-target="'
+
b
+
'"],'
+
this
.
selector
+
'[href="'
+
b
+
'"]'
,
d
=
a
(
c
).
parents
(
"li"
).
addClass
(
"active"
);
d
.
parent
(
".dropdown-menu"
).
length
&&
(
d
=
d
.
closest
(
"li.dropdown"
).
addClass
(
"active"
)),
d
.
trigger
(
"activate"
)};
var
c
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.scrollspy"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.scrollspy"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
c
,
this
},
a
(
window
).
on
(
"load"
,
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
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"ul:not(.dropdown-menu)"
),
d
=
b
.
attr
(
"data-target"
);
if
(
d
||
(
d
=
b
.
attr
(
"href"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"li"
).
hasClass
(
"active"
)){
var
e
=
c
.
find
(
".active:last a"
)[
0
],
f
=
a
.
Event
(
"show.bs.tab"
,{
relatedTarget
:
e
});
if
(
b
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
var
g
=
a
(
d
);
this
.
activate
(
b
.
parent
(
"li"
),
c
),
this
.
activate
(
g
,
g
.
parent
(),
function
(){
b
.
trigger
({
type
:
"shown.bs.tab"
,
relatedTarget
:
e
})})}}},
b
.
prototype
.
activate
=
function
(
b
,
c
,
d
){
function
e
(){
f
.
removeClass
(
"active"
).
find
(
"> .dropdown-menu > .active"
).
removeClass
(
"active"
),
b
.
addClass
(
"active"
),
g
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"in"
)):
b
.
removeClass
(
"fade"
),
b
.
parent
(
".dropdown-menu"
)
&&
b
.
closest
(
"li.dropdown"
).
addClass
(
"active"
),
d
&&
d
()}
var
f
=
c
.
find
(
"> .active"
),
g
=
d
&&
a
.
support
.
transition
&&
f
.
hasClass
(
"fade"
);
g
?
f
.
one
(
a
.
support
.
transition
.
end
,
e
).
emulateTransitionEnd
(
150
):
e
(),
f
.
removeClass
(
"in"
)};
var
c
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.tab"
);
e
||
d
.
data
(
"bs.tab"
,
e
=
new
b
(
this
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
c
,
this
},
a
(
document
).
on
(
"click.bs.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
(
c
,
d
){
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
$window
=
a
(
window
).
on
(
"scroll.bs.affix.data-api"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"click.bs.affix.data-api"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
c
),
this
.
affixed
=
this
.
unpin
=
null
,
this
.
checkPosition
()};
b
.
RESET
=
"affix affix-top affix-bottom"
,
b
.
DEFAULTS
=
{
offset
:
0
},
b
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
b
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
":visible"
)){
var
c
=
a
(
document
).
height
(),
d
=
this
.
$window
.
scrollTop
(),
e
=
this
.
$element
.
offset
(),
f
=
this
.
options
.
offset
,
g
=
f
.
top
,
h
=
f
.
bottom
;
"object"
!=
typeof
f
&&
(
h
=
g
=
f
),
"function"
==
typeof
g
&&
(
g
=
f
.
top
()),
"function"
==
typeof
h
&&
(
h
=
f
.
bottom
());
var
i
=
null
!=
this
.
unpin
&&
d
+
this
.
unpin
<=
e
.
top
?
!
1
:
null
!=
h
&&
e
.
top
+
this
.
$element
.
height
()
>=
c
-
h
?
"bottom"
:
null
!=
g
&&
g
>=
d
?
"top"
:
!
1
;
this
.
affixed
!==
i
&&
(
this
.
unpin
&&
this
.
$element
.
css
(
"top"
,
""
),
this
.
affixed
=
i
,
this
.
unpin
=
"bottom"
==
i
?
e
.
top
-
d
:
null
,
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
"affix"
+
(
i
?
"-"
+
i
:
""
)),
"bottom"
==
i
&&
this
.
$element
.
offset
({
top
:
document
.
body
.
offsetHeight
-
h
-
this
.
$element
.
height
()}))}};
var
c
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.affix"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.affix"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
affix
.
Constructor
=
b
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
c
,
this
},
a
(
window
).
on
(
"load"
,
function
(){
a
(
'[data-spy="affix"]'
).
each
(
function
(){
var
b
=
a
(
this
),
c
=
b
.
data
();
c
.
offset
=
c
.
offset
||
{},
c
.
offsetBottom
&&
(
c
.
offset
.
bottom
=
c
.
offsetBottom
),
c
.
offsetTop
&&
(
c
.
offset
.
top
=
c
.
offsetTop
),
b
.
affix
(
c
)})})}(
window
.
jQuery
);
if
(
!
jQuery
)
throw
new
Error
(
"Bootstrap requires jQuery"
);
+
function
(
a
){
"use strict"
;
function
b
(){
var
a
=
document
.
createElement
(
"bootstrap"
),
b
=
{
WebkitTransition
:
"webkitTransitionEnd"
,
MozTransition
:
"transitionend"
,
OTransition
:
"oTransitionEnd otransitionend"
,
transition
:
"transitionend"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]}}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
()})}(
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
c
(){
f
.
trigger
(
"closed.bs.alert"
).
remove
()}
var
d
=
a
(
this
),
e
=
d
.
attr
(
"data-target"
);
e
||
(
e
=
d
.
attr
(
"href"
),
e
=
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
f
=
a
(
e
);
b
&&
b
.
preventDefault
(),
f
.
length
||
(
f
=
d
.
hasClass
(
"alert"
)?
d
:
d
.
parent
()),
f
.
trigger
(
b
=
a
.
Event
(
"close.bs.alert"
)),
b
.
isDefaultPrevented
()
||
(
f
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"fade"
)?
f
.
one
(
a
.
support
.
transition
.
end
,
c
).
emulateTransitionEnd
(
150
):
c
())};
var
d
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.alert"
);
e
||
d
.
data
(
"bs.alert"
,
e
=
new
c
(
this
)),
"string"
==
typeof
b
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
d
,
this
},
a
(
document
).
on
(
"click.bs.alert.data-api"
,
b
,
c
.
prototype
.
close
)}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
)};
b
.
DEFAULTS
=
{
loadingText
:
"loading..."
},
b
.
prototype
.
setState
=
function
(
a
){
var
b
=
"disabled"
,
c
=
this
.
$element
,
d
=
c
.
is
(
"input"
)?
"val"
:
"html"
,
e
=
c
.
data
();
a
+=
"Text"
,
e
.
resetText
||
c
.
data
(
"resetText"
,
c
[
d
]()),
c
[
d
](
e
[
a
]
||
this
.
options
[
a
]),
setTimeout
(
function
(){
"loadingText"
==
a
?
c
.
addClass
(
b
).
attr
(
b
,
b
):
c
.
removeClass
(
b
).
removeAttr
(
b
)},
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=
this
.
$element
.
closest
(
'[data-toggle="buttons"]'
);
if
(
a
.
length
){
var
b
=
this
.
$element
.
find
(
"input"
).
prop
(
"checked"
,
!
this
.
$element
.
hasClass
(
"active"
)).
trigger
(
"change"
);
"radio"
===
b
.
prop
(
"type"
)
&&
a
.
find
(
".active"
).
removeClass
(
"active"
)}
this
.
$element
.
toggleClass
(
"active"
)};
var
c
=
a
.
fn
.
button
;
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.button"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.button"
,
e
=
new
b
(
this
,
f
)),
"toggle"
==
c
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
Constructor
=
b
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
c
,
this
},
a
(
document
).
on
(
"click.bs.button.data-api"
,
"[data-toggle^=button]"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"btn"
)
||
(
c
=
c
.
closest
(
".btn"
)),
c
.
button
(
"toggle"
),
b
.
preventDefault
()})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
".carousel-indicators"
),
this
.
options
=
c
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
"hover"
==
this
.
options
.
pause
&&
this
.
$element
.
on
(
"mouseenter"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"mouseleave"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"hover"
},
b
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
b
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
".item.active"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(),
this
.
$items
.
index
(
this
.
$active
)},
b
.
prototype
.
to
=
function
(
b
){
var
c
=
this
,
d
=
this
.
getActiveIndex
();
return
b
>
this
.
$items
.
length
-
1
||
0
>
b
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"slid"
,
function
(){
c
.
to
(
b
)}):
d
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
d
?
"next"
:
"prev"
,
a
(
this
.
$items
[
b
]))},
b
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
".next, .prev"
).
length
&&
a
.
support
.
transition
.
end
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
b
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"next"
)},
b
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"prev"
)},
b
.
prototype
.
slide
=
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
".item.active"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
"next"
==
b
?
"left"
:
"right"
,
h
=
"next"
==
b
?
"first"
:
"last"
,
i
=
this
;
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
e
=
e
.
length
?
e
:
this
.
$element
.
find
(
".item"
)[
h
]();
var
j
=
a
.
Event
(
"slide.bs.carousel"
,{
relatedTarget
:
e
[
0
],
direction
:
g
});
if
(
!
e
.
hasClass
(
"active"
)){
if
(
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
".active"
).
removeClass
(
"active"
),
this
.
$element
.
one
(
"slid"
,
function
(){
var
b
=
a
(
i
.
$indicators
.
children
()[
i
.
getActiveIndex
()]);
b
&&
b
.
addClass
(
"active"
)})),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"slide"
)){
if
(
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
())
return
;
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
d
.
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
)}).
emulateTransitionEnd
(
600
)}
else
{
if
(
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
())
return
;
d
.
removeClass
(
"active"
),
e
.
addClass
(
"active"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"slid"
)}
return
f
&&
this
.
cycle
(),
this
}};
var
c
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.carousel"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"object"
==
typeof
c
&&
c
),
g
=
"string"
==
typeof
c
?
c
:
f
.
slide
;
e
||
d
.
data
(
"bs.carousel"
,
e
=
new
b
(
this
,
f
)),
"number"
==
typeof
c
?
e
.
to
(
c
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
c
,
this
},
a
(
document
).
on
(
"click.bs.carousel.data-api"
,
"[data-slide], [data-slide-to]"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
a
(
d
.
attr
(
"data-target"
)
||
(
c
=
d
.
attr
(
"href"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
a
.
extend
({},
e
.
data
(),
d
.
data
()),
g
=
d
.
attr
(
"data-slide-to"
);
g
&&
(
f
.
interval
=!
1
),
e
.
carousel
(
f
),(
g
=
d
.
attr
(
"data-slide-to"
))
&&
e
.
data
(
"bs.carousel"
).
to
(
g
),
b
.
preventDefault
()}),
a
(
window
).
on
(
"load"
,
function
(){
a
(
'[data-ride="carousel"]'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
carousel
(
b
.
data
())})})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
DEFAULTS
=
{
toggle
:
!
0
},
b
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"width"
);
return
a
?
"width"
:
"height"
},
b
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"in"
)){
var
b
=
a
.
Event
(
"show.bs.collapse"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
$parent
&&
this
.
$parent
.
find
(
"> .accordion-group > .in"
);
if
(
c
&&
c
.
length
){
var
d
=
c
.
data
(
"bs.collapse"
);
if
(
d
&&
d
.
transitioning
)
return
;
c
.
collapse
(
"hide"
),
d
||
c
.
data
(
"bs.collapse"
,
null
)}
var
e
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"collapse"
).
addClass
(
"collapsing"
)[
e
](
0
),
this
.
transitioning
=
1
;
var
f
=
function
(){
this
.
$element
.
removeClass
(
"collapsing"
).
addClass
(
"in"
)[
e
](
"auto"
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"shown.bs.collapse"
)};
if
(
!
a
.
support
.
transition
)
return
f
.
call
(
this
);
var
g
=
a
.
camelCase
([
"scroll"
,
e
].
join
(
"-"
));
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
f
,
this
)).
emulateTransitionEnd
(
350
)[
e
](
this
.
$element
[
0
][
g
])}}},
b
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"in"
)){
var
b
=
a
.
Event
(
"hide.bs.collapse"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"collapsing"
).
removeClass
(
"collapse"
).
removeClass
(
"in"
),
this
.
transitioning
=
1
;
var
d
=
function
(){
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"hidden.bs.collapse"
).
removeClass
(
"collapsing"
).
addClass
(
"collapse"
)};
return
a
.
support
.
transition
?(
this
.
$element
[
c
](
0
).
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
d
,
this
)).
emulateTransitionEnd
(
350
),
void
0
):
d
.
call
(
this
)}}},
b
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"in"
)?
"hide"
:
"show"
]()};
var
c
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.collapse"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"object"
==
typeof
c
&&
c
);
e
||
d
.
data
(
"bs.collapse"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
c
,
this
},
a
(
document
).
on
(
"click.bs.collapse.data-api"
,
"[data-toggle=collapse]"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
d
.
attr
(
"data-target"
)
||
b
.
preventDefault
()
||
(
c
=
d
.
attr
(
"href"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
),
g
=
f
.
data
(
"bs.collapse"
),
h
=
g
?
"toggle"
:
d
.
data
(),
i
=
d
.
attr
(
"data-parent"
),
j
=
i
&&
a
(
i
);
g
&&
g
.
transitioning
||
(
j
&&
j
.
find
(
"[data-toggle=collapse][data-parent="
+
i
+
"]"
).
not
(
d
).
addClass
(
"collapsed"
),
d
[
f
.
hasClass
(
"in"
)?
"addClass"
:
"removeClass"
](
"collapsed"
)),
f
.
collapse
(
h
)})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(){
a
(
d
).
remove
(),
a
(
e
).
each
(
function
(
b
){
var
d
=
c
(
a
(
this
));
d
.
hasClass
(
"open"
)
&&
(
d
.
trigger
(
b
=
a
.
Event
(
"hide.bs.dropdown"
)),
b
.
isDefaultPrevented
()
||
d
.
removeClass
(
"open"
).
trigger
(
"hidden.bs.dropdown"
))})}
function
c
(
b
){
var
c
=
b
.
attr
(
"data-target"
);
c
||
(
c
=
b
.
attr
(
"href"
),
c
=
c
&&
/#/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
var
d
=
".dropdown-backdrop"
,
e
=
"[data-toggle=dropdown]"
,
f
=
function
(
b
){
a
(
b
).
on
(
"click.bs.dropdown"
,
this
.
toggle
)};
f
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
".disabled, :disabled"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"open"
);
if
(
b
(),
!
g
){
if
(
"ontouchstart"
in
document
.
documentElement
&&
a
(
'<div class="dropdown-backdrop"/>'
).
insertAfter
(
a
(
this
)).
on
(
"click"
,
b
),
f
.
trigger
(
d
=
a
.
Event
(
"show.bs.dropdown"
)),
d
.
isDefaultPrevented
())
return
;
f
.
toggleClass
(
"open"
).
trigger
(
"shown.bs.dropdown"
)}
return
e
.
focus
(),
!
1
}},
f
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27
)
/
.
test
(
b
.
keyCode
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
".disabled, :disabled"
)){
var
f
=
c
(
d
),
g
=
f
.
hasClass
(
"open"
);
if
(
!
g
||
g
&&
27
==
b
.
keyCode
)
return
27
==
b
.
which
&&
f
.
find
(
e
).
focus
(),
d
.
click
();
var
h
=
a
(
"[role=menu] li:not(.divider):visible a"
,
f
);
if
(
h
.
length
){
var
i
=
h
.
index
(
h
.
filter
(
":focus"
));
38
==
b
.
keyCode
&&
i
>
0
&&
i
--
,
40
==
b
.
keyCode
&&
i
<
h
.
length
-
1
&&
i
++
,
~
i
||
(
i
=
0
),
h
.
eq
(
i
).
focus
()}}}};
var
g
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"dropdown"
);
d
||
c
.
data
(
"dropdown"
,
d
=
new
f
(
this
)),
"string"
==
typeof
b
&&
d
[
b
].
call
(
c
)})},
a
.
fn
.
dropdown
.
Constructor
=
f
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
g
,
this
},
a
(
document
).
on
(
"click.bs.dropdown.data-api"
,
b
).
on
(
"click.bs.dropdown.data-api"
,
".dropdown form"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"click.bs.dropdown.data-api"
,
e
,
f
.
prototype
.
toggle
).
on
(
"keydown.bs.dropdown.data-api"
,
e
+
", [role=menu]"
,
f
.
prototype
.
keydown
)}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$element
=
a
(
b
).
on
(
"click.dismiss.modal"
,
'[data-dismiss="modal"]'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
".modal-body"
).
load
(
this
.
options
.
remote
)};
b
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
b
.
prototype
.
toggle
=
function
(){
return
this
[
this
.
isShown
?
"hide"
:
"show"
]()},
b
.
prototype
.
show
=
function
(){
var
b
=
this
,
c
=
a
.
Event
(
"show.bs.modal"
);
this
.
$element
.
trigger
(
c
),
this
.
isShown
||
c
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
escape
(),
this
.
backdrop
(
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"
).
attr
(
"aria-hidden"
,
!
1
),
b
.
enforceFocus
(),
c
?
b
.
$element
.
one
(
a
.
support
.
transition
.
end
,
function
(){
b
.
$element
.
focus
().
trigger
(
"shown.bs.modal"
)}).
emulateTransitionEnd
(
300
):
b
.
$element
.
focus
().
trigger
(
"shown.bs.modal"
)}))},
b
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"hide.bs.modal"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
escape
(),
a
(
document
).
off
(
"focusin.bs.modal"
),
this
.
$element
.
removeClass
(
"in"
).
attr
(
"aria-hidden"
,
!
0
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
300
):
this
.
hideModal
())},
b
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"focusin.bs.modal"
).
on
(
"focusin.bs.modal"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
focus
()},
this
))},
b
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"keyup.dismiss.bs.modal"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"keyup.dismiss.bs.modal"
)},
b
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
removeBackdrop
(),
a
.
$element
.
trigger
(
"hidden.bs.modal"
)})},
b
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
b
.
prototype
.
backdrop
=
function
(
b
){
var
c
=
this
.
$element
.
hasClass
(
"fade"
)?
"fade"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
d
=
a
.
support
.
transition
&&
c
;
if
(
this
.
$backdrop
=
a
(
'<div class="modal-backdrop '
+
c
+
'" />'
).
appendTo
(
document
.
body
),
this
.
$element
.
on
(
"click"
,
a
.
proxy
(
function
(
a
){
a
.
target
===
a
.
currentTarget
&&
(
"static"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
.
call
(
this
.
$element
[
0
]):
this
.
hide
.
call
(
this
))},
this
)),
d
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"in"
),
!
b
)
return
;
d
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()):
b
&&
b
()};
var
c
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.modal"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"object"
==
typeof
c
&&
c
);
e
||
d
.
data
(
"bs.modal"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
?
e
[
c
]():
f
.
show
&&
e
.
show
()})},
a
.
fn
.
modal
.
Constructor
=
b
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
c
,
this
},
a
(
document
).
on
(
"click.bs.modal.data-api"
,
'[data-toggle="modal"]'
,
function
(
b
){
var
c
=
a
(
this
),
d
=
c
.
attr
(
"href"
),
e
=
a
(
c
.
attr
(
"data-target"
)
||
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"modal"
)?
"toggle"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
d
)
&&
d
},
e
.
data
(),
c
.
data
());
b
.
preventDefault
(),
e
.
modal
(
f
).
one
(
"hide"
,
function
(){
c
.
is
(
":visible"
)
&&
c
.
focus
()})}),
a
(
function
(){
var
b
=
a
(
document
.
body
).
on
(
"shown.bs.modal"
,
".modal"
,
function
(){
b
.
addClass
(
"modal-open"
)}).
on
(
"hidden.bs.modal"
,
".modal"
,
function
(){
b
.
removeClass
(
"modal-open"
)})})}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
a
,
b
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"tooltip"
,
a
,
b
)};
b
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"top"
,
selector
:
!
1
,
template
:
'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
,
trigger
:
"hover focus"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
},
b
.
prototype
.
init
=
function
(
b
,
c
,
d
){
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
" "
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"click"
==
g
)
this
.
$element
.
on
(
"click."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"manual"
!=
g
){
var
h
=
"hover"
==
g
?
"mouseenter"
:
"focus"
,
i
=
"hover"
==
g
?
"mouseleave"
:
"blur"
;
this
.
$element
.
on
(
h
+
"."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"manual"
,
selector
:
""
}):
this
.
fixTitle
()},
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"number"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
b
.
prototype
.
enter
=
function
(
b
){
var
c
=
this
.
getDefaults
(),
d
=
{};
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
b
){
c
[
a
]
!=
b
&&
(
d
[
a
]
=
b
)});
var
e
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
d
).
data
(
"bs."
+
this
.
type
);
return
clearTimeout
(
e
.
timeout
),
e
.
options
.
delay
&&
e
.
options
.
delay
.
show
?(
e
.
hoverState
=
"in"
,
e
.
timeout
=
setTimeout
(
function
(){
"in"
==
e
.
hoverState
&&
e
.
show
()},
e
.
options
.
delay
.
show
),
void
0
):
e
.
show
()},
b
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"bs."
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?(
c
.
hoverState
=
"out"
,
c
.
timeout
=
setTimeout
(
function
(){
"out"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
),
void
0
):
c
.
hide
()},
b
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"show.bs."
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
if
(
this
.
$element
.
trigger
(
b
),
b
.
isDefaultPrevented
())
return
;
var
c
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
c
.
addClass
(
"fade"
);
var
d
=
"function"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
c
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
e
=
/
\s?
auto
?\s?
/i
,
f
=
e
.
test
(
d
);
f
&&
(
d
=
d
.
replace
(
e
,
""
)
||
"top"
),
c
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"block"
}).
addClass
(
d
),
this
.
options
.
container
?
c
.
appendTo
(
this
.
options
.
container
):
c
.
insertAfter
(
this
.
$element
);
var
g
=
this
.
getPosition
(),
h
=
c
[
0
].
offsetWidth
,
i
=
c
[
0
].
offsetHeight
;
if
(
f
){
var
j
=
this
.
$element
.
parent
(),
k
=
d
,
l
=
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
,
m
=
"body"
==
this
.
options
.
container
?
window
.
innerWidth
:
j
.
outerWidth
(),
n
=
"body"
==
this
.
options
.
container
?
window
.
innerHeight
:
j
.
outerHeight
(),
o
=
"body"
==
this
.
options
.
container
?
0
:
j
.
offset
().
left
;
d
=
"bottom"
==
d
&&
g
.
top
+
g
.
height
+
i
-
l
>
n
?
"top"
:
"top"
==
d
&&
g
.
top
-
l
-
i
<
0
?
"bottom"
:
"right"
==
d
&&
g
.
right
+
h
>
m
?
"left"
:
"left"
==
d
&&
g
.
left
-
h
<
o
?
"right"
:
d
,
c
.
removeClass
(
k
).
addClass
(
d
)}
var
p
=
this
.
getCalcuatedOffset
(
d
,
g
,
h
,
i
);
this
.
applyPlacement
(
p
,
d
),
this
.
$element
.
trigger
(
"shown.bs."
+
this
.
type
)}},
b
.
prototype
.
applyPlacement
=
function
(
a
,
b
){
var
c
,
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"margin-top"
),
10
),
h
=
parseInt
(
d
.
css
(
"margin-left"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
a
.
top
=
a
.
top
+
g
,
a
.
left
=
a
.
left
+
h
,
d
.
offset
(
a
).
addClass
(
"in"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
if
(
"top"
==
b
&&
j
!=
f
&&
(
c
=!
0
,
a
.
top
=
a
.
top
+
f
-
j
),
/bottom|top/
.
test
(
b
)){
var
k
=
0
;
a
.
left
<
0
&&
(
k
=-
2
*
a
.
left
,
a
.
left
=
0
,
d
.
offset
(
a
),
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
),
this
.
replaceArrow
(
k
-
e
+
i
,
i
,
"left"
)}
else
this
.
replaceArrow
(
j
-
f
,
j
,
"top"
);
c
&&
d
.
offset
(
a
)},
b
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
,
a
?
50
*
(
1
-
a
/
b
)
+
"%"
:
""
)},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
".tooltip-inner"
)[
this
.
options
.
html
?
"html"
:
"text"
](
b
),
a
.
removeClass
(
"fade in top bottom left right"
)},
b
.
prototype
.
hide
=
function
(){
function
b
(){
c
.
detach
()}
var
c
=
this
.
tip
(),
d
=
a
.
Event
(
"hide.bs."
+
this
.
type
);
return
this
.
$element
.
trigger
(
d
),
d
.
isDefaultPrevented
()?
void
0
:(
c
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"fade"
)?
c
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
(),
this
.
$element
.
trigger
(
"hidden.bs."
+
this
.
type
),
this
)},
b
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"title"
)
||
"string"
!=
typeof
a
.
attr
(
"data-original-title"
))
&&
a
.
attr
(
"data-original-title"
,
a
.
attr
(
"title"
)
||
""
).
attr
(
"title"
,
""
)},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
b
.
prototype
.
getPosition
=
function
(){
var
b
=
this
.
$element
[
0
];
return
a
.
extend
({},
"function"
==
typeof
b
.
getBoundingClientRect
?
b
.
getBoundingClientRect
():{
width
:
b
.
offsetWidth
,
height
:
b
.
offsetHeight
},
this
.
$element
.
offset
())},
b
.
prototype
.
getCalcuatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"bottom"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"top"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"left"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
b
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"data-original-title"
)
||
(
"function"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
".tooltip-arrow"
)},
b
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
b
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
b
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
b
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
b
.
prototype
.
toggle
=
function
(
b
){
var
c
=
b
?
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
_options
).
data
(
"bs."
+
this
.
type
):
this
;
c
.
tip
().
hasClass
(
"in"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
b
.
prototype
.
destroy
=
function
(){
this
.
hide
().
$element
.
off
(
"."
+
this
.
type
).
removeData
(
"bs."
+
this
.
type
)};
var
c
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.tooltip"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.tooltip"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
c
,
this
}}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"popover"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"Popover requires tooltip.js"
);
b
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"right"
,
trigger
:
"click"
,
content
:
""
,
template
:
'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}),
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
b
.
prototype
.
constructor
=
b
,
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
".popover-title"
)[
this
.
options
.
html
?
"html"
:
"text"
](
b
),
a
.
find
(
".popover-content"
)[
this
.
options
.
html
?
"html"
:
"text"
](
c
),
a
.
removeClass
(
"fade top bottom left right in"
),
""
===
a
.
find
(
".popover-title"
).
html
()
&&
a
.
find
(
".popover-title"
).
hide
()},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
b
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"data-content"
)
||
(
"function"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
".arrow"
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
};
var
c
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.popover"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.popover"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
c
,
this
}}(
window
.
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
c
,
d
){
var
e
,
f
=
a
.
proxy
(
this
.
process
,
this
);
this
.
$element
=
a
(
c
).
is
(
"body"
)?
a
(
window
):
a
(
c
),
this
.
$body
=
a
(
"body"
),
this
.
$scrollElement
=
this
.
$element
.
on
(
"scroll.bs.scroll-spy.data-api"
,
f
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
e
=
a
(
c
).
attr
(
"href"
))
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
" .nav li > a"
,
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
refresh
=
function
(){
var
b
=
this
.
$element
[
0
]
==
window
?
"offset"
:
"position"
;
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]);
var
c
=
this
;
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"target"
)
||
d
.
attr
(
"href"
),
f
=
/^#
\w
/
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
[[
f
[
b
]().
top
+
(
!
a
.
isWindow
(
c
.
$scrollElement
.
get
(
0
))
&&
c
.
$scrollElement
.
scrollTop
()),
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
c
.
offsets
.
push
(
this
[
0
]),
c
.
targets
.
push
(
this
[
1
])})},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
$scrollElement
[
0
].
scrollHeight
||
this
.
$body
[
0
].
scrollHeight
,
d
=
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
b
>=
d
)
return
g
!=
(
a
=
f
.
last
()[
0
])
&&
this
.
activate
(
a
);
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
!
e
[
a
+
1
]
||
b
<=
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parents
(
".active"
).
removeClass
(
"active"
);
var
c
=
this
.
selector
+
'[data-target="'
+
b
+
'"],'
+
this
.
selector
+
'[href="'
+
b
+
'"]'
,
d
=
a
(
c
).
parents
(
"li"
).
addClass
(
"active"
);
d
.
parent
(
".dropdown-menu"
).
length
&&
(
d
=
d
.
closest
(
"li.dropdown"
).
addClass
(
"active"
)),
d
.
trigger
(
"activate"
)};
var
c
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.scrollspy"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.scrollspy"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
c
,
this
},
a
(
window
).
on
(
"load"
,
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
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"ul:not(.dropdown-menu)"
),
d
=
b
.
attr
(
"data-target"
);
if
(
d
||
(
d
=
b
.
attr
(
"href"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"li"
).
hasClass
(
"active"
)){
var
e
=
c
.
find
(
".active:last a"
)[
0
],
f
=
a
.
Event
(
"show.bs.tab"
,{
relatedTarget
:
e
});
if
(
b
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
var
g
=
a
(
d
);
this
.
activate
(
b
.
parent
(
"li"
),
c
),
this
.
activate
(
g
,
g
.
parent
(),
function
(){
b
.
trigger
({
type
:
"shown.bs.tab"
,
relatedTarget
:
e
})})}}},
b
.
prototype
.
activate
=
function
(
b
,
c
,
d
){
function
e
(){
f
.
removeClass
(
"active"
).
find
(
"> .dropdown-menu > .active"
).
removeClass
(
"active"
),
b
.
addClass
(
"active"
),
g
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"in"
)):
b
.
removeClass
(
"fade"
),
b
.
parent
(
".dropdown-menu"
)
&&
b
.
closest
(
"li.dropdown"
).
addClass
(
"active"
),
d
&&
d
()}
var
f
=
c
.
find
(
"> .active"
),
g
=
d
&&
a
.
support
.
transition
&&
f
.
hasClass
(
"fade"
);
g
?
f
.
one
(
a
.
support
.
transition
.
end
,
e
).
emulateTransitionEnd
(
150
):
e
(),
f
.
removeClass
(
"in"
)};
var
c
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.tab"
);
e
||
d
.
data
(
"bs.tab"
,
e
=
new
b
(
this
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
c
,
this
},
a
(
document
).
on
(
"click.bs.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
(
c
,
d
){
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
$window
=
a
(
window
).
on
(
"scroll.bs.affix.data-api"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"click.bs.affix.data-api"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
c
),
this
.
affixed
=
this
.
unpin
=
null
,
this
.
checkPosition
()};
b
.
RESET
=
"affix affix-top affix-bottom"
,
b
.
DEFAULTS
=
{
offset
:
0
},
b
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
b
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
":visible"
)){
var
c
=
a
(
document
).
height
(),
d
=
this
.
$window
.
scrollTop
(),
e
=
this
.
$element
.
offset
(),
f
=
this
.
options
.
offset
,
g
=
f
.
top
,
h
=
f
.
bottom
;
"object"
!=
typeof
f
&&
(
h
=
g
=
f
),
"function"
==
typeof
g
&&
(
g
=
f
.
top
()),
"function"
==
typeof
h
&&
(
h
=
f
.
bottom
());
var
i
=
null
!=
this
.
unpin
&&
d
+
this
.
unpin
<=
e
.
top
?
!
1
:
null
!=
h
&&
e
.
top
+
this
.
$element
.
height
()
>=
c
-
h
?
"bottom"
:
null
!=
g
&&
g
>=
d
?
"top"
:
!
1
;
this
.
affixed
!==
i
&&
(
this
.
unpin
&&
this
.
$element
.
css
(
"top"
,
""
),
this
.
affixed
=
i
,
this
.
unpin
=
"bottom"
==
i
?
e
.
top
-
d
:
null
,
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
"affix"
+
(
i
?
"-"
+
i
:
""
)),
"bottom"
==
i
&&
this
.
$element
.
offset
({
top
:
document
.
body
.
offsetHeight
-
h
-
this
.
$element
.
height
()}))}};
var
c
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.affix"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.affix"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
affix
.
Constructor
=
b
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
c
,
this
},
a
(
window
).
on
(
"load"
,
function
(){
a
(
'[data-spy="affix"]'
).
each
(
function
(){
var
b
=
a
(
this
),
c
=
b
.
data
();
c
.
offset
=
c
.
offset
||
{},
c
.
offsetBottom
&&
(
c
.
offset
.
bottom
=
c
.
offsetBottom
),
c
.
offsetTop
&&
(
c
.
offset
.
top
=
c
.
offsetTop
),
b
.
affix
(
c
)})})}(
window
.
jQuery
);
\ No newline at end of file
\ No newline at end of file
framework/yii/debug/assets/main.css
View file @
0e013c4f
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
font
:
11px
Verdana
,
Arial
,
sans-serif
;
font
:
11px
Verdana
,
Arial
,
sans-serif
;
text-align
:
left
;
text-align
:
left
;
height
:
40px
;
height
:
40px
;
border-bottom
:
1px
solid
#
ccc
;
border-bottom
:
1px
solid
#
e4e4e4
;
background
:
rgb
(
237
,
237
,
237
);
background
:
rgb
(
237
,
237
,
237
);
background
:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VkZWRlZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUzJSIgc3RvcC1jb2xvcj0iI2Y2ZjZmNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+)
;
background
:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VkZWRlZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUzJSIgc3RvcC1jb2xvcj0iI2Y2ZjZmNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+)
;
background
:
-moz-linear-gradient
(
top
,
rgba
(
237
,
237
,
237
,
1
)
0%
,
rgba
(
246
,
246
,
246
,
1
)
53%
,
rgba
(
255
,
255
,
255
,
1
)
100%
);
background
:
-moz-linear-gradient
(
top
,
rgba
(
237
,
237
,
237
,
1
)
0%
,
rgba
(
246
,
246
,
246
,
1
)
53%
,
rgba
(
255
,
255
,
255
,
1
)
100%
);
...
@@ -119,11 +119,22 @@ span.indent {
...
@@ -119,11 +119,22 @@ span.indent {
ul
.trace
{
ul
.trace
{
font-size
:
12px
;
font-size
:
12px
;
color
:
#666
;
color
:
#999
;
margin
:
2px
0
0
20px
;
margin
:
2px
0
0
0
;
padding
:
0
;
list-style
:
none
;
}
}
.default-index
.container
,
.default-index
.container
,
.default-view
.container
{
.default-view
.container
{
margin-top
:
10px
;
margin-top
:
10px
;
}
}
.callout-danger
{
background-color
:
#fcf2f2
;
border-color
:
#dFb5b4
;
}
.callout
{
margin
:
0
0
10px
0
;
padding
:
5px
10px
;
}
framework/yii/debug/panels/LogPanel.php
View file @
0e013c4f
...
@@ -65,11 +65,11 @@ EOD;
...
@@ -65,11 +65,11 @@ EOD;
));
));
}
}
if
(
$level
==
Logger
::
LEVEL_ERROR
)
{
if
(
$level
==
Logger
::
LEVEL_ERROR
)
{
$class
=
' class="
erro
r"'
;
$class
=
' class="
dange
r"'
;
}
elseif
(
$level
==
Logger
::
LEVEL_WARNING
)
{
}
elseif
(
$level
==
Logger
::
LEVEL_WARNING
)
{
$class
=
' class="warning"'
;
$class
=
' class="warning"'
;
}
elseif
(
$level
==
Logger
::
LEVEL_INFO
)
{
}
elseif
(
$level
==
Logger
::
LEVEL_INFO
)
{
$class
=
' class="
info
"'
;
$class
=
' class="
success
"'
;
}
else
{
}
else
{
$class
=
''
;
$class
=
''
;
}
}
...
@@ -84,7 +84,7 @@ EOD;
...
@@ -84,7 +84,7 @@ EOD;
<thead>
<thead>
<tr>
<tr>
<th style="width: 100px;">Time</th>
<th style="width: 100px;">Time</th>
<th style="width:
100
px;">Level</th>
<th style="width:
65
px;">Level</th>
<th style="width: 250px;">Category</th>
<th style="width: 250px;">Category</th>
<th>Message</th>
<th>Message</th>
</tr>
</tr>
...
...
framework/yii/debug/views/default/view.php
View file @
0e013c4f
<?php
<?php
use
yii\bootstrap\ButtonDropdown
;
use
yii\bootstrap\ButtonGroup
;
use
yii\helpers\Html
;
use
yii\helpers\Html
;
/**
/**
...
@@ -36,35 +38,36 @@ $this->title = 'Yii Debugger';
...
@@ -36,35 +38,36 @@ $this->title = 'Yii Debugger';
</ul>
</ul>
</div>
<!--/span-->
</div>
<!--/span-->
<div
class=
"col-lg-10"
>
<div
class=
"col-lg-10"
>
<div
class=
"meta alert alert-info"
>
<div
class=
"callout callout-danger"
>
<div
class=
"btn-group"
>
<?php
<?php
echo
Html
::
a
(
'All'
,
array
(
'index'
),
array
(
'class'
=>
'btn'
));
?>
$count
=
0
;
<button
class=
"btn dropdown-toggle"
data-toggle=
"dropdown"
>
$items
=
array
();
Last 10
foreach
(
$manifest
as
$meta
)
{
<span
class=
"caret"
></span>
$label
=
$meta
[
'tag'
]
.
': '
.
$meta
[
'method'
]
.
' '
.
$meta
[
'url'
]
.
(
$meta
[
'ajax'
]
?
' (AJAX)'
:
''
)
</button>
.
', '
.
date
(
'Y-m-d h:i:s a'
,
$meta
[
'time'
])
<ul
class=
"dropdown-menu"
>
.
', '
.
$meta
[
'ip'
];
<?php
$url
=
array
(
'view'
,
'tag'
=>
$meta
[
'tag'
],
'panel'
=>
$activePanel
->
id
);
$count
=
0
;
$items
[]
=
array
(
foreach
(
$manifest
as
$meta
)
{
'label'
=>
$label
,
$label
=
$meta
[
'tag'
]
.
': '
.
$meta
[
'method'
]
.
' '
.
$meta
[
'url'
]
.
(
$meta
[
'ajax'
]
?
' (AJAX)'
:
''
)
'url'
=>
$url
,
.
', '
.
date
(
'Y-m-d h:i:s a'
,
$meta
[
'time'
])
);
.
', '
.
$meta
[
'ip'
];
if
(
++
$count
>=
10
)
{
$url
=
array
(
'view'
,
'tag'
=>
$meta
[
'tag'
],
'panel'
=>
$activePanel
->
id
);
break
;
echo
'<li>'
.
Html
::
a
(
Html
::
encode
(
$label
),
$url
)
.
'</li>'
;
if
(
++
$count
>=
10
)
{
break
;
}
}
}
?>
}
</ul>
echo
ButtonGroup
::
widget
(
array
(
</div>
'buttons'
=>
array
(
<?php
echo
$summary
[
'tag'
];
?>
:
Html
::
a
(
'All'
,
array
(
'index'
),
array
(
'class'
=>
'btn btn-default'
)),
<?php
echo
$summary
[
'method'
];
?>
ButtonDropdown
::
widget
(
array
(
<?php
echo
Html
::
a
(
Html
::
encode
(
$summary
[
'url'
]),
$summary
[
'url'
]);
?>
'label'
=>
'Last 10'
,
<?php
echo
$summary
[
'ajax'
]
?
' (AJAX)'
:
''
;
?>
'options'
=>
array
(
'class'
=>
'btn-default'
),
at
<?php
echo
date
(
'Y-m-d h:i:s a'
,
$summary
[
'time'
]);
?>
'dropdown'
=>
array
(
'items'
=>
$items
),
by
<?php
echo
$summary
[
'ip'
];
?>
)),
),
));
echo
"
\n
"
.
$summary
[
'tag'
]
.
': '
.
$summary
[
'method'
]
.
' '
.
Html
::
a
(
Html
::
encode
(
$summary
[
'url'
]),
$summary
[
'url'
]);
echo
' at '
.
date
(
'Y-m-d h:i:s a'
,
$summary
[
'time'
])
.
' by '
.
$summary
[
'ip'
];
?>
</div>
</div>
<?php
echo
$activePanel
->
getDetail
();
?>
<?php
echo
$activePanel
->
getDetail
();
?>
</div>
</div>
...
...
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