a3 Lazy Load - Version 1.7.1

Version Description

  • Tweak - Register fontawesome in plugin framework with style name is 'font-awesome-styles'
  • Tweak - Update plugin framework to latest version
  • Tweak - Tested for full compatibility with WordPress major version 4.5
Download this release

Release Info

Developer a3rev
Plugin Icon 128x128 a3 Lazy Load
Version 1.7.1
Comparing to
See all releases

Code changes from version 1.7.0 to 1.7.1

a3-lazy-load.php CHANGED
@@ -2,11 +2,11 @@
2
  /*
3
  Plugin Name: a3 Lazy Load
4
  Description: Speed up your site and enhance frontend user's visual experience in PC's, Tablets and mobile with a3 Lazy Load.
5
- Version: 1.7.0
6
  Author: a3 Revolution
7
  Author URI: http://www.a3rev.com/
8
- Requires at least: 3.8
9
- Tested up to: 4.4.2
10
  License: GPLv2 or later
11
  Copyright © 2011 a3 Revolution Software Development team
12
  a3 Revolution Software Development team
@@ -17,7 +17,7 @@ License: GPLv2 or later
17
  */
18
  ?>
19
  <?php
20
- define('A3_LAZY_VERSION', '1.7.0');
21
  define('A3_LAZY_LOAD_FILE_PATH', dirname(__FILE__));
22
  define('A3_LAZY_LOAD_DIR_NAME', basename(A3_LAZY_LOAD_FILE_PATH));
23
  define('A3_LAZY_LOAD_FOLDER', dirname(plugin_basename(__FILE__)));
2
  /*
3
  Plugin Name: a3 Lazy Load
4
  Description: Speed up your site and enhance frontend user's visual experience in PC's, Tablets and mobile with a3 Lazy Load.
5
+ Version: 1.7.1
6
  Author: a3 Revolution
7
  Author URI: http://www.a3rev.com/
8
+ Requires at least: 4.0
9
+ Tested up to: 4.5
10
  License: GPLv2 or later
11
  Copyright © 2011 a3 Revolution Software Development team
12
  a3 Revolution Software Development team
17
  */
18
  ?>
19
  <?php
20
+ define('A3_LAZY_VERSION', '1.7.1');
21
  define('A3_LAZY_LOAD_FILE_PATH', dirname(__FILE__));
22
  define('A3_LAZY_LOAD_DIR_NAME', basename(A3_LAZY_LOAD_FILE_PATH));
23
  define('A3_LAZY_LOAD_FOLDER', dirname(plugin_basename(__FILE__)));
admin/a3-lazy-load-admin.php CHANGED
@@ -2,7 +2,7 @@
2
  update_option('a3rev_lazy_load_plugin', 'a3_lazy_load');
3
 
4
  function a3_lazy_load_activated(){
5
- update_option('a3_lazy_load_version', '1.7.0');
6
 
7
  // Set Settings Default from Admin Init
8
  global $a3_lazy_load_admin_init;
@@ -65,6 +65,6 @@ function a3_lazy_load_upgrade_plugin() {
65
  update_option('a3_lazy_load_style_version', time() );
66
  }
67
 
68
- update_option('a3_lazy_load_version', '1.7.0');
69
  }
70
  ?>
2
  update_option('a3rev_lazy_load_plugin', 'a3_lazy_load');
3
 
4
  function a3_lazy_load_activated(){
5
+ update_option('a3_lazy_load_version', '1.7.1');
6
 
7
  // Set Settings Default from Admin Init
8
  global $a3_lazy_load_admin_init;
65
  update_option('a3_lazy_load_style_version', time() );
66
  }
67
 
68
+ update_option('a3_lazy_load_version', '1.7.1');
69
  }
70
  ?>
admin/admin-interface.php CHANGED
@@ -73,10 +73,16 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
73
  $admin_pages = $this->admin_pages();
74
 
75
  if ( is_admin() && isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $admin_pages ) ) {
 
76
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_css_load' ) );
77
  do_action( $this->plugin_name . '_init_styles' );
78
  }
79
  }
 
 
 
 
 
80
 
81
  /*-----------------------------------------------------------------------------------*/
82
  /* admin_script_load */
@@ -3295,10 +3301,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3295
  } else {
3296
  $return_css .= 'background-color: transparent !important ;';
3297
  }
 
 
 
3298
  }
 
3299
  }
3300
 
3301
  global $a3_lazy_load_admin_interface;
3302
  $a3_lazy_load_admin_interface = new A3_Lazy_Load_Admin_Interface();
3303
 
3304
- ?>
73
  $admin_pages = $this->admin_pages();
74
 
75
  if ( is_admin() && isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $admin_pages ) ) {
76
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_fontawesome_style' ), 0 );
77
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_css_load' ) );
78
  do_action( $this->plugin_name . '_init_styles' );
79
  }
80
  }
81
+
82
+ public function register_fontawesome_style() {
83
+ $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
84
+ wp_register_style( 'font-awesome-styles', $this->admin_plugin_url() . '/assets/css/font-awesome' . $suffix . '.css', array(), '4.5.0', 'all' );
85
+ }
86
 
87
  /*-----------------------------------------------------------------------------------*/
88
  /* admin_script_load */
3301
  } else {
3302
  $return_css .= 'background-color: transparent !important ;';
3303
  }
3304
+
3305
+ return $return_css;
3306
+
3307
  }
3308
+
3309
  }
3310
 
3311
  global $a3_lazy_load_admin_interface;
3312
  $a3_lazy_load_admin_interface = new A3_Lazy_Load_Admin_Interface();
3313
 
3314
+ ?>
admin/admin-ui.php CHANGED
@@ -202,10 +202,11 @@ class A3_Lazy_Load_Admin_UI
202
  if ( is_array( $extension_boxes ) && count( $extension_boxes ) > 0 ) {
203
  foreach ( $extension_boxes as $box ) {
204
  if ( ! isset( $box['id'] ) ) $box['id'] = '';
 
205
  if ( ! isset( $box['css'] ) ) $box['css'] = '';
206
  if ( ! isset( $box['content'] ) ) $box['content'] = '';
207
 
208
- $output .= '<div id="'. esc_attr( $box['id'] ) .'" class="a3_plugin_panel_extension_box" style="'. esc_attr( $box['css'] ) .'">';
209
  $output .= $box['content'];
210
  $output .= '</div>';
211
  }
202
  if ( is_array( $extension_boxes ) && count( $extension_boxes ) > 0 ) {
203
  foreach ( $extension_boxes as $box ) {
204
  if ( ! isset( $box['id'] ) ) $box['id'] = '';
205
+ if ( ! isset( $box['class'] ) ) $box['class'] = '';
206
  if ( ! isset( $box['css'] ) ) $box['css'] = '';
207
  if ( ! isset( $box['content'] ) ) $box['content'] = '';
208
 
209
+ $output .= '<div id="'. esc_attr( $box['id'] ) .'" class="'. esc_attr( $box['class'] ) .' a3_plugin_panel_extension_box" style="'. esc_attr( $box['css'] ) .'">';
210
  $output .= $box['content'];
211
  $output .= '</div>';
212
  }
admin/assets/css/a3_admin_metabox.css CHANGED
@@ -45,16 +45,18 @@
45
 
46
  .a3-metabox-panel-wrap {
47
  background: #fff;
48
- padding-left: 153px;
49
  box-sizing: border-box;
50
  }
51
  .a3-metabox-wrapper, .a3-metabox-options-panel {
52
  float: right;
53
  width: 100%;
54
  }
55
- .a3-metabox-wrapper .a3-metabox-items, .a3-metabox-wrapper p.toolbar, .a3-metabox-options-panel .a3-metabox-items, .a3-metabox-options-panel p.toolbar {
56
- padding-left: 12px!important;
57
- padding-right: 20px!important;
 
 
58
  }
59
  .a3-metabox-tabs-back {
60
  position: absolute;
@@ -70,7 +72,7 @@ ul.a3-metabox-data-tabs {
70
  line-height: 1em;
71
  float: left;
72
  width: 145px;
73
- margin: 0 0 0 -153px;
74
  position: relative;
75
  padding: 0 0 10px;
76
  }
@@ -113,17 +115,20 @@ ul.a3-metabox-data-tabs li.active a {
113
  .a3-metabox-panel * {
114
  font-size: 13px;
115
  }
 
 
 
116
 
117
  .a3-metabox-wrapper .toolbar {
118
  margin: 0!important;
119
  border-top: 1px solid #fff;
120
  border-bottom: 1px solid #DFDFDF;
121
- padding: 9px 12px!important;
122
  }
123
  .a3-metabox-wrapper .toolbar:first-child {
124
  border-top: 0
125
  }
126
- .a3-metabox-wrapper .toolbar: last-child {
127
  border-bottom: 0
128
  }
129
  .a3-metabox-wrapper p.toolbar {
@@ -132,44 +137,35 @@ ul.a3-metabox-data-tabs li.active a {
132
  }
133
  .a3-metabox-wrapper .a3-metabox-items {
134
  border-bottom: 1px solid #DFDFDF;
135
- padding: 0 12px;
136
  }
137
  .a3-metabox-wrapper .a3-metabox-item-sortable-placeholder {
138
  border-color: #bbb;
139
  background-color: #f5f5f5;
140
  margin-bottom: 9px;
141
  border-width: 1px;
142
- border-style: dashed
143
  }
144
  .a3-metabox-wrapper .a3-metabox-item {
145
  background: #fff;
146
- border: 1px solid #dfdfdf;
147
- margin: 9px 0!important;
148
- -moz-border-radius-topleft: 3px;
149
- -moz-border-radius-topright: 3px;
150
- -webkit-border-top-left-radius: 3px;
151
- -webkit-border-top-right-radius: 3px;
152
- border-top-left-radius: 3px;
153
- border-top-right-radius: 3px
154
  }
155
  .a3-metabox-wrapper .a3-metabox-item .handlediv:before {
156
  line-height: 1!important;
157
  }
158
- .a3-metabox-wrapper .a3-metabox-item.closed {
159
- -moz-border-radius: 3px;
160
- -webkit-border-radius: 3px;
161
- border-radius: 3px;
162
- }
163
  .a3-metabox-wrapper .a3-metabox-item.closed h3 {
164
  border: 0;
165
  }
166
  .a3-metabox-wrapper .a3-metabox-item h3 {
167
  margin: 0!important;
168
- padding: 10px 10px 10px 0 !important;
169
  font-size: 1em!important;
170
  overflow: hidden;
171
  zoom: 1;
172
- cursor: pointer;
173
  position: relative;
174
  }
175
  .a3-metabox-wrapper .a3-metabox-item h3 span {
@@ -186,7 +182,6 @@ ul.a3-metabox-data-tabs li.active a {
186
  }
187
  .a3-metabox-wrapper .a3-metabox-item h3 strong {
188
  line-height: 1;
189
- margin-left: 10px;
190
  }
191
  .a3-metabox-wrapper .a3-metabox-item h3 .handlediv {
192
  background-position: 6px 5px!important;
@@ -213,17 +208,19 @@ ul.a3-metabox-data-tabs li.active a {
213
  margin: 0;
214
  }
215
  .a3-metabox-wrapper .a3-metabox-item h3 table td:first-child {
216
- width: 25%;
217
  }
218
  .a3-metabox-panel table tr td:first-child {
219
- width: 25%;
220
  }
221
  .a3-metabox-wrapper .a3-metabox-item table td {
222
  text-align: left;
223
- padding: 10px;
224
  vertical-align: top;
225
  border: 0
226
  }
 
 
 
227
  .a3-metabox-wrapper .a3-metabox-item table td label {
228
  text-align: left;
229
  display: block;
45
 
46
  .a3-metabox-panel-wrap {
47
  background: #fff;
48
+ padding-left: 146px;
49
  box-sizing: border-box;
50
  }
51
  .a3-metabox-wrapper, .a3-metabox-options-panel {
52
  float: right;
53
  width: 100%;
54
  }
55
+ .a3-metabox-wrapper p.toolbar,
56
+ .a3-metabox-options-panel .a3-metabox-items,
57
+ .a3-metabox-options-panel p.toolbar {
58
+ padding-left: 15px!important;
59
+ padding-right: 15px!important;
60
  }
61
  .a3-metabox-tabs-back {
62
  position: absolute;
72
  line-height: 1em;
73
  float: left;
74
  width: 145px;
75
+ margin: 0 0 0 -146px;
76
  position: relative;
77
  padding: 0 0 10px;
78
  }
115
  .a3-metabox-panel * {
116
  font-size: 13px;
117
  }
118
+ .a3-metabox-panel table td {
119
+ padding: 10px 15px;
120
+ }
121
 
122
  .a3-metabox-wrapper .toolbar {
123
  margin: 0!important;
124
  border-top: 1px solid #fff;
125
  border-bottom: 1px solid #DFDFDF;
126
+ padding: 9px 15px!important;
127
  }
128
  .a3-metabox-wrapper .toolbar:first-child {
129
  border-top: 0
130
  }
131
+ .a3-metabox-wrapper .toolbar:last-child {
132
  border-bottom: 0
133
  }
134
  .a3-metabox-wrapper p.toolbar {
137
  }
138
  .a3-metabox-wrapper .a3-metabox-items {
139
  border-bottom: 1px solid #DFDFDF;
 
140
  }
141
  .a3-metabox-wrapper .a3-metabox-item-sortable-placeholder {
142
  border-color: #bbb;
143
  background-color: #f5f5f5;
144
  margin-bottom: 9px;
145
  border-width: 1px;
146
+ border-style: dashed;
147
  }
148
  .a3-metabox-wrapper .a3-metabox-item {
149
  background: #fff;
150
+ border-bottom: 1px solid #DFDFDF;
151
+ margin: 0!important;
152
+ }
153
+ .a3-metabox-wrapper .a3-metabox-item:last-of-type {
154
+ border-bottom: 0 none;
 
 
 
155
  }
156
  .a3-metabox-wrapper .a3-metabox-item .handlediv:before {
157
  line-height: 1!important;
158
  }
 
 
 
 
 
159
  .a3-metabox-wrapper .a3-metabox-item.closed h3 {
160
  border: 0;
161
  }
162
  .a3-metabox-wrapper .a3-metabox-item h3 {
163
  margin: 0!important;
164
+ padding: 10px 15px !important;
165
  font-size: 1em!important;
166
  overflow: hidden;
167
  zoom: 1;
168
+ cursor: move;
169
  position: relative;
170
  }
171
  .a3-metabox-wrapper .a3-metabox-item h3 span {
182
  }
183
  .a3-metabox-wrapper .a3-metabox-item h3 strong {
184
  line-height: 1;
 
185
  }
186
  .a3-metabox-wrapper .a3-metabox-item h3 .handlediv {
187
  background-position: 6px 5px!important;
208
  margin: 0;
209
  }
210
  .a3-metabox-wrapper .a3-metabox-item h3 table td:first-child {
211
+ width: 27%;
212
  }
213
  .a3-metabox-panel table tr td:first-child {
214
+ width: 27%;
215
  }
216
  .a3-metabox-wrapper .a3-metabox-item table td {
217
  text-align: left;
 
218
  vertical-align: top;
219
  border: 0
220
  }
221
+ .a3-metabox-wrapper .a3-metabox-item h3 table td {
222
+ padding: 0;
223
+ }
224
  .a3-metabox-wrapper .a3-metabox-item table td label {
225
  text-align: left;
226
  display: block;
admin/assets/css/a3_admin_metabox.rtl.css CHANGED
@@ -6,7 +6,7 @@
6
  }
7
  .a3-metabox-panel-wrap {
8
  padding-left: 0px;
9
- padding-right: 153px;
10
  }
11
  .a3-metabox-panel-wrap .a3-metabox-tabs-back {
12
  left: auto;
@@ -16,7 +16,7 @@
16
  }
17
  .a3-metabox-panel-wrap ul.a3-metabox-data-tabs {
18
  float: right;
19
- margin: 0 -153px 0 0;
20
  }
21
  .a3-metabox-panel-wrap ul.a3-metabox-data-tabs li.active a {
22
  margin: 0 0 0 -1px;
6
  }
7
  .a3-metabox-panel-wrap {
8
  padding-left: 0px;
9
+ padding-right: 146px;
10
  }
11
  .a3-metabox-panel-wrap .a3-metabox-tabs-back {
12
  left: auto;
16
  }
17
  .a3-metabox-panel-wrap ul.a3-metabox-data-tabs {
18
  float: right;
19
+ margin: 0 -146px 0 0;
20
  }
21
  .a3-metabox-panel-wrap ul.a3-metabox-data-tabs li.active a {
22
  margin: 0 0 0 -1px;
admin/assets/css/a3_admin_metabox.rtl.less CHANGED
@@ -6,7 +6,7 @@
6
 
7
  .a3-metabox-panel-wrap {
8
  padding-left: 0px;
9
- padding-right: 153px;
10
 
11
  .a3-metabox-tabs-back {
12
  left: auto;
@@ -18,7 +18,7 @@
18
  ul {
19
  &.a3-metabox-data-tabs {
20
  float: right;
21
- margin: 0 -153px 0 0;
22
 
23
  li {
24
  &.active {
6
 
7
  .a3-metabox-panel-wrap {
8
  padding-left: 0px;
9
+ padding-right: 146px;
10
 
11
  .a3-metabox-tabs-back {
12
  left: auto;
18
  ul {
19
  &.a3-metabox-data-tabs {
20
  float: right;
21
+ margin: 0 -146px 0 0;
22
 
23
  li {
24
  &.active {
admin/assets/css/a3_admin_metabox.rtl.min.css CHANGED
@@ -1 +1 @@
1
- .clear{clear:both}.nobr{white-space:nowrap}.a3-metabox-panel-wrap{padding-left:0px;padding-right:153px}.a3-metabox-panel-wrap .a3-metabox-tabs-back{left:auto;right:0;border-left:1px solid #DFDFDF;border-right:none}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs{float:right;margin:0 -153px 0 0}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs li.active a{margin:0 0 0 -1px}.a3-metabox-wrapper,.a3-metabox-options-panel{float:left}.a3-metabox-wrapper .a3-metabox-items,.a3-metabox-wrapper p.toolbar,.a3-metabox-options-panel .a3-metabox-items,.a3-metabox-options-panel p.toolbar{padding-left:20px !important;padding-right:12px !important}.a3-metabox-wrapper .close_all,.a3-metabox-wrapper .expand_all{float:left;margin-left:0px;margin-right:14px}.a3-metabox-wrapper .a3-metabox-item table td{text-align:right}.a3-metabox-wrapper .a3-metabox-item table td label{text-align:right}.a3-metabox-wrapper .a3-metabox-item h3 .handlediv{left:0;right:auto}@media only screen and (max-width: 900px){.a3-metabox-panel-wrap{padding-left:0px;padding-right:35px}.a3-metabox-panel-wrap .a3-metabox-tabs-back{left:auto;left:0;border-left:1px solid #DFDFDF;border-right:none}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs{margin-left:0px;margin-right:-35px}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs li a:after{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:40px;height:40px}}
1
+ .clear{clear:both}.nobr{white-space:nowrap}.a3-metabox-panel-wrap{padding-left:0px;padding-right:146px}.a3-metabox-panel-wrap .a3-metabox-tabs-back{left:auto;right:0;border-left:1px solid #DFDFDF;border-right:none}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs{float:right;margin:0 -146px 0 0}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs li.active a{margin:0 0 0 -1px}.a3-metabox-wrapper,.a3-metabox-options-panel{float:left}.a3-metabox-wrapper .a3-metabox-items,.a3-metabox-wrapper p.toolbar,.a3-metabox-options-panel .a3-metabox-items,.a3-metabox-options-panel p.toolbar{padding-left:20px !important;padding-right:12px !important}.a3-metabox-wrapper .close_all,.a3-metabox-wrapper .expand_all{float:left;margin-left:0px;margin-right:14px}.a3-metabox-wrapper .a3-metabox-item table td{text-align:right}.a3-metabox-wrapper .a3-metabox-item table td label{text-align:right}.a3-metabox-wrapper .a3-metabox-item h3 .handlediv{left:0;right:auto}@media only screen and (max-width: 900px){.a3-metabox-panel-wrap{padding-left:0px;padding-right:35px}.a3-metabox-panel-wrap .a3-metabox-tabs-back{left:auto;left:0;border-left:1px solid #DFDFDF;border-right:none}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs{margin-left:0px;margin-right:-35px}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs li a:after{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:40px;height:40px}}
admin/assets/css/font-awesome.css ADDED
@@ -0,0 +1,2086 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+ /* FONT PATH
6
+ * -------------------------- */
7
+ @font-face {
8
+ font-family: 'FontAwesome';
9
+