소스 검색

Update to Bootstrap v4.3.1, jQuery 3.4.1. Adjustments to support updates.

Nate 6 년 전
부모
커밋
a8895177c8
100개의 변경된 파일70662개의 추가작업 그리고 9151개의 파일을 삭제
  1. 4 4
      core/default_settings/default_setting_edit.php
  2. 2 3
      core/default_settings/default_settings.php
  3. 20 0
      core/domain_settings/app_languages.php
  4. 6 5
      core/domain_settings/domain_setting_edit.php
  5. 2 2
      core/domains/domain_edit.php
  6. 1 1
      core/groups/group_permissions.php
  7. 17 17
      core/menu/menu_item_edit.php
  8. 5 5
      core/user_settings/user_setting_edit.php
  9. 0 0
      resources/bootstrap/3.3.6.dist
  10. 3719 0
      resources/bootstrap/css/bootstrap-grid.css
  11. 0 0
      resources/bootstrap/css/bootstrap-grid.css.map
  12. 5 0
      resources/bootstrap/css/bootstrap-grid.min.css
  13. 0 0
      resources/bootstrap/css/bootstrap-grid.min.css.map
  14. 331 0
      resources/bootstrap/css/bootstrap-reboot.css
  15. 0 0
      resources/bootstrap/css/bootstrap-reboot.css.map
  16. 6 0
      resources/bootstrap/css/bootstrap-reboot.min.css
  17. 0 0
      resources/bootstrap/css/bootstrap-reboot.min.css.map
  18. 5908 4776
      resources/bootstrap/css/bootstrap.css
  19. 0 0
      resources/bootstrap/css/bootstrap.css.map
  20. 3 2
      resources/bootstrap/css/bootstrap.min.css
  21. 0 0
      resources/bootstrap/css/bootstrap.min.css.map
  22. BIN
      resources/bootstrap/fonts/glyphicons-halflings-regular.eot
  23. 0 288
      resources/bootstrap/fonts/glyphicons-halflings-regular.svg
  24. BIN
      resources/bootstrap/fonts/glyphicons-halflings-regular.ttf
  25. BIN
      resources/bootstrap/fonts/glyphicons-halflings-regular.woff
  26. BIN
      resources/bootstrap/fonts/glyphicons-halflings-regular.woff2
  27. 0 1040
      resources/bootstrap/glyphicons.json
  28. 7013 0
      resources/bootstrap/js/bootstrap.bundle.js
  29. 0 0
      resources/bootstrap/js/bootstrap.bundle.js.map
  30. 5 0
      resources/bootstrap/js/bootstrap.bundle.min.js
  31. 0 0
      resources/bootstrap/js/bootstrap.bundle.min.js.map
  32. 3861 1789
      resources/bootstrap/js/bootstrap.js
  33. 0 0
      resources/bootstrap/js/bootstrap.js.map
  34. 0 4
      resources/bootstrap/js/bootstrap.min.js
  35. 0 0
      resources/bootstrap/js/bootstrap.min.js.map
  36. 0 13
      resources/bootstrap/js/npm.js
  37. 0 189
      resources/calendar_lw_layers.js
  38. 0 376
      resources/calendar_lw_menu.js
  39. 0 637
      resources/calendar_popcalendar.js
  40. 34 0
      resources/fontawesome/LICENSE.txt
  41. 4396 0
      resources/fontawesome/css/all.css
  42. 4 0
      resources/fontawesome/css/all.min.css
  43. 14 0
      resources/fontawesome/css/brands.css
  44. 5 0
      resources/fontawesome/css/brands.min.css
  45. 4363 0
      resources/fontawesome/css/fontawesome.css
  46. 4 0
      resources/fontawesome/css/fontawesome.min.css
  47. 15 0
      resources/fontawesome/css/regular.css
  48. 5 0
      resources/fontawesome/css/regular.min.css
  49. 16 0
      resources/fontawesome/css/solid.css
  50. 5 0
      resources/fontawesome/css/solid.min.css
  51. 371 0
      resources/fontawesome/css/svg-with-js.css
  52. 4 0
      resources/fontawesome/css/svg-with-js.min.css
  53. 2166 0
      resources/fontawesome/css/v4-shims.css
  54. 4 0
      resources/fontawesome/css/v4-shims.min.css
  55. 961 0
      resources/fontawesome/fas_icons.php
  56. 133 0
      resources/fontawesome/js/all.js
  57. 4 0
      resources/fontawesome/js/all.min.js
  58. 133 0
      resources/fontawesome/js/brands.js
  59. 4 0
      resources/fontawesome/js/brands.min.js
  60. 991 0
      resources/fontawesome/js/conflict-detection.js
  61. 4 0
      resources/fontawesome/js/conflict-detection.min.js
  62. 2071 0
      resources/fontawesome/js/fontawesome.js
  63. 4 0
      resources/fontawesome/js/fontawesome.min.js
  64. 180 0
      resources/fontawesome/js/regular.js
  65. 4 0
      resources/fontawesome/js/regular.min.js
  66. 132 0
      resources/fontawesome/js/solid.js
  67. 4 0
      resources/fontawesome/js/solid.min.js
  68. 54 0
      resources/fontawesome/js/v4-shims.js
  69. 4 0
      resources/fontawesome/js/v4-shims.min.js
  70. 19 0
      resources/fontawesome/less/_animated.less
  71. 16 0
      resources/fontawesome/less/_bordered-pulled.less
  72. 12 0
      resources/fontawesome/less/_core.less
  73. 6 0
      resources/fontawesome/less/_fixed-width.less
  74. 1388 0
      resources/fontawesome/less/_icons.less
  75. 27 0
      resources/fontawesome/less/_larger.less
  76. 18 0
      resources/fontawesome/less/_list.less
  77. 56 0
      resources/fontawesome/less/_mixins.less
  78. 24 0
      resources/fontawesome/less/_rotated-flipped.less
  79. 5 0
      resources/fontawesome/less/_screen-reader.less
  80. 2062 0
      resources/fontawesome/less/_shims.less
  81. 22 0
      resources/fontawesome/less/_stacked.less
  82. 1400 0
      resources/fontawesome/less/_variables.less
  83. 22 0
      resources/fontawesome/less/brands.less
  84. 16 0
      resources/fontawesome/less/fontawesome.less
  85. 23 0
      resources/fontawesome/less/regular.less
  86. 24 0
      resources/fontawesome/less/solid.less
  87. 6 0
      resources/fontawesome/less/v4-shims.less
  88. 2492 0
      resources/fontawesome/metadata/categories.yml
  89. 868 0
      resources/fontawesome/metadata/icons.json
  90. 20382 0
      resources/fontawesome/metadata/icons.yml
  91. 2307 0
      resources/fontawesome/metadata/shims.json
  92. 294 0
      resources/fontawesome/metadata/shims.yml
  93. 680 0
      resources/fontawesome/metadata/sponsors.yml
  94. 20 0
      resources/fontawesome/scss/_animated.scss
  95. 20 0
      resources/fontawesome/scss/_bordered-pulled.scss
  96. 21 0
      resources/fontawesome/scss/_core.scss
  97. 6 0
      resources/fontawesome/scss/_fixed-width.scss
  98. 1388 0
      resources/fontawesome/scss/_icons.scss
  99. 23 0
      resources/fontawesome/scss/_larger.scss
  100. 18 0
      resources/fontawesome/scss/_list.scss

+ 4 - 4
core/default_settings/default_setting_edit.php

@@ -437,7 +437,7 @@
 	elseif ($category == "theme" && substr_count($subcategory, "_font") > 0 && $name == "text") {
 		$default_setting_value = str_replace('"', "'", $default_setting_value);
 		if ($fonts = get_available_fonts('alpha')) {
-			echo "	<select class='formfld' id='sel_default_setting_value' onchange=\"if (this.selectedIndex == $('select#sel_default_setting_value option').length - 1) { $('#txt_default_setting_value').val('').fadeIn('fast'); $('#txt_default_setting_value').focus(); } else { $('#txt_default_setting_value').fadeOut('fast', function(){ $('#txt_default_setting_value').val($('#sel_default_setting_value').val()) }); } \">\n";
+			echo "	<select class='formfld' id='sel_default_setting_value' onchange=\"if (this.selectedIndex == $('select#sel_default_setting_value option').length - 1) { $('#txt_default_setting_value').val('').fadeIn('fast'); $('#txt_default_setting_value').trigger('focus'); } else { $('#txt_default_setting_value').fadeOut('fast', function(){ $('#txt_default_setting_value').val($('#sel_default_setting_value').val()) }); } \">\n";
 			echo "		<option value=''></option>\n";
 			echo "		<optgroup label='".$text['label-web_fonts']."'>\n";
 			$option_found = false;
@@ -671,7 +671,7 @@
 	echo "<script>\n";
 	//capture enter key to submit form
 		if (!($category == "theme" && $subcategory == "custom_css_code" && $name == "text" )) {
-			echo "	$(window).keypress(function(event){\n";
+			echo "	$(window).on('keypress',function(event){\n";
 			echo "		if (event.which == 13) { submit_form(); }\n";
 			echo "	});\n";
 		}
@@ -682,9 +682,9 @@
 		echo "		$('form#frm').submit();\n";
 		echo "	}\n";
 	//define lowercase class
-		echo "	$('.lowercase').blur(function(){ this.value = this.value.toLowerCase(); });";
+		echo "	$('.lowercase').on('blur',function(){ this.value = this.value.toLowerCase(); });";
 	//show order if array
-		echo "	$('#default_setting_name').keyup(function(){ \n";
+		echo "	$('#default_setting_name').on('keyup',function(){ \n";
 		echo "		(this.value.toLowerCase() == 'array') ? $('#tr_order').slideDown('fast') : $('#tr_order').slideUp('fast');\n";
 		echo "	});\n";
 	echo "</script>\n";

+ 2 - 3
core/default_settings/default_settings.php

@@ -219,7 +219,7 @@
 		echo "	}\n";
 		echo "\n";
 		echo "	$( document ).ready(function() {\n";
-		echo "		$('#default_setting_search').focus();\n";
+		echo "		$('#default_setting_search').trigger('focus').trigger('select');\n";
 		if ($search == '') {
 			echo "		// scroll to previous category\n";
 			echo "		var category_span_id;\n";
@@ -240,7 +240,7 @@
 //prevent enter key submit on search field
 	echo "<script language='javascript' type='text/javascript'>\n";
 	echo "	$(document).ready(function() {\n";
-	echo "		$('#default_setting_search').keydown(function(event){\n";
+	echo "		$('#default_setting_search').on('keydown',function(event){\n";
 	echo "			if (event.keyCode == 13) {\n";
 	echo "				event.preventDefault();\n";
 	echo "				return false;\n";
@@ -533,7 +533,6 @@
 	//auto run, if search term passed back
 		if ($search != '') {
 			echo "	setting_search();";
-			echo "	$('#default_setting_search').select();\n";
 		}
 		echo "</script>\n";
 

+ 20 - 0
core/domain_settings/app_languages.php

@@ -421,6 +421,26 @@ $text['label-fixed']['ru-ru'] = "Фиксированный";
 $text['label-fixed']['sv-se'] = "Fast";
 $text['label-fixed']['uk-ua'] = "фіксований";
 
+$text['label-side']['en-us'] = "Side";
+$text['label-side']['ar-eg'] = "Side";
+$text['label-side']['de-at'] = "Side";
+$text['label-side']['de-ch'] = "Side";
+$text['label-side']['de-de'] = "Side";
+$text['label-side']['es-cl'] = "Side";
+$text['label-side']['es-mx'] = "Side";
+$text['label-side']['fr-ca'] = "Side";
+$text['label-side']['fr-fr'] = "Side";
+$text['label-side']['he-il'] = "Side";
+$text['label-side']['it-it'] = "Side";
+$text['label-side']['nl-nl'] = "Side";
+$text['label-side']['pl-pl'] = "Side";
+$text['label-side']['pt-br'] = "Side";
+$text['label-side']['pt-pt'] = "Side";
+$text['label-side']['ro-ro'] = "Side";
+$text['label-side']['ru-ru'] = "Side";
+$text['label-side']['sv-se'] = "Side";
+$text['label-side']['uk-ua'] = "Side";
+
 $text['label-domain']['en-us'] = "Domain";
 $text['label-domain']['ar-eg'] = "";
 $text['label-domain']['de-at'] = "Domain"; //copied from de-de

+ 6 - 5
core/domain_settings/domain_setting_edit.php

@@ -382,7 +382,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 		echo "	<input type='text' class='formfld' name='domain_setting_category' id='domain_setting_category' maxlength='255' value=\"".escape($domain_setting_category)."\">\n";
 	}
 	else {
-		echo "	<select class='formfld' name='domain_setting_category' id='domain_setting_category' onchange=\"$('#domain_setting_subcategory').focus();\">\n";
+		echo "	<select class='formfld' name='domain_setting_category' id='domain_setting_category' onchange=\"$('#domain_setting_subcategory').trigger('focus');\">\n";
 		echo "		<option value=''></option>\n";
 		if (is_array($allowed_categories) && sizeof($allowed_categories) > 0) {
 			foreach ($allowed_categories as $category) {
@@ -534,7 +534,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	elseif ($category == "theme" && substr_count($subcategory, "_font") > 0 && $name == "text") {
 		$row['domain_setting_value'] = str_replace('"', "'", $row['domain_setting_value']);
 		if ($fonts = get_available_fonts('alpha')) {
-			echo "	<select class='formfld' id='sel_domain_setting_value' onchange=\"if (this.selectedIndex == $('select#sel_domain_setting_value option').length - 1) { $('#txt_domain_setting_value').val('').fadeIn('fast'); $('#txt_domain_setting_value').focus(); } else { $('#txt_domain_setting_value').fadeOut('fast', function(){ $('#txt_domain_setting_value').val($('#sel_domain_setting_value').val()) }); } \">\n";
+			echo "	<select class='formfld' id='sel_domain_setting_value' onchange=\"if (this.selectedIndex == $('select#sel_domain_setting_value option').length - 1) { $('#txt_domain_setting_value').val('').fadeIn('fast'); $('#txt_domain_setting_value').trigger('focus'); } else { $('#txt_domain_setting_value').fadeOut('fast', function(){ $('#txt_domain_setting_value').val($('#sel_domain_setting_value').val()) }); } \">\n";
 			echo "		<option value=''></option>\n";
 			echo "		<optgroup label='".$text['label-web_fonts']."'>\n";
 			$option_found = false;
@@ -623,6 +623,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 		echo "    	<option value='fixed' ".(($row['domain_setting_value'] == "fixed") ? "selected='selected'" : null).">".$text['label-fixed']."</option>\n";
 		echo "    	<option value='static' ".(($row['domain_setting_value'] == "static") ? "selected='selected'" : null).">".$text['label-static']."</option>\n";
 		echo "    	<option value='inline' ".(($row['domain_setting_value'] == "inline") ? "selected='selected'" : null).">".$text['label-inline']."</option>\n";
+		echo "    	<option value='side' ".(($row['domain_setting_value'] == "side") ? "selected='selected'" : null).">".$text['label-side']."</option>\n";
 		echo "    </select>\n";
 	}
 	elseif ($category == "theme" && $subcategory == "menu_position" && $name == "text" ) {
@@ -732,7 +733,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 
 	echo "<script>\n";
 	//capture enter key to submit form
-	echo "	$(window).keypress(function(event){\n";
+	echo "	$(window).on('keypress',function(event){\n";
 	echo "		if (event.which == 13) { submit_form(); }\n";
 	echo "	});\n";
 	//hide/convert password fields then submit form
@@ -742,9 +743,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	echo "		$('form#frm').submit();\n";
 	echo "	}\n";
 	//define lowercase class
-	echo "	$('.lowercase').blur(function(){ this.value = this.value.toLowerCase(); });";
+	echo "	$('.lowercase').on('blur',function(){ this.value = this.value.toLowerCase(); });";
 	//show order if array
-	echo "	$('#domain_setting_name').keyup(function(){ \n";
+	echo "	$('#domain_setting_name').on('keyup',function(){ \n";
 	echo "		(this.value.toLowerCase() == 'array') ? $('#tr_order').slideDown('fast') : $('#tr_order').slideUp('fast');\n";
 	echo "	});\n";
 	echo "</script>\n";

+ 2 - 2
core/domains/domain_edit.php

@@ -514,8 +514,8 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 		echo "		});\n";
 		echo "	}\n";
 		echo "\n";
-		echo "	$( document ).ready(function() {\n";
-		echo "		$('#domain_setting_search').focus();\n";
+		echo "	$(document).ready(function() {\n";
+		echo "		$('#domain_setting_search').trigger('focus');\n";
 		if ($search == '') {
 			echo "		// scroll to previous category\n";
 			echo "		var category_span_id;\n";

+ 1 - 1
core/groups/group_permissions.php

@@ -339,7 +339,7 @@
 	echo "	}\n";
 	echo "\n";
 	echo "	$( document ).ready(function() {\n";
-	echo "		$('#group_permission_search').focus();\n";
+	echo "		$('#group_permission_search').trigger('focus');\n";
 	echo "	});\n";
 	echo "</script>\n";
 

+ 17 - 17
core/menu/menu_item_edit.php

@@ -400,36 +400,36 @@ else {
 	echo "	<tr>";
 	echo "		<td class='vncell'>".$text['label-icon']."</td>";
 	echo "		<td class='vtable' style='vertical-align: bottom;'>";
-	if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/bootstrap/glyphicons.json')) {
-		$tmp_array = json_decode(file_get_contents($_SERVER["PROJECT_ROOT"].'/resources/bootstrap/glyphicons.json'), true);
-		if (is_array($tmp_array['icons']) && sizeof($tmp_array['icons']) > 0) {
+	if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fas_icons.php')) {
+		include 'resources/fontawesome/fas_icons.php';
+		if (is_array($font_awesome_solid_icons) && @sizeof($font_awesome_solid_icons) != 0) {
 			// rebuild and sort array
-			foreach ($tmp_array['icons'] as $i => $glyphicon) {
-				$tmp_string = str_replace('glyphicon-', '', $glyphicon['id']);
-				$tmp_string = str_replace('-', ' ', $tmp_string);
-				$tmp_string = ucwords($tmp_string);
-				$glyphicons[$glyphicon['id']] = $tmp_string;
+			foreach ($font_awesome_solid_icons as $i => $icon_class) {
+				$icon_label = str_replace('fa-', '', $icon_class);
+				$icon_label = str_replace('-', ' ', $icon_label);
+				$icon_label = ucwords($icon_label);
+				$icons[$icon_class] = $icon_label;
 			}
-			asort($glyphicons, SORT_STRING);
+			asort($icons, SORT_STRING);
 			echo "<table cellpadding='0' cellspacing='0' border='0'>\n";
 			echo "	<tr>\n";
 			echo "		<td>\n";
-			echo "			<select class='formfld' name='menu_item_icon' id='menu_item_icon' onchange=\"$('#glyphicons').slideUp(); $('#grid_icon').fadeIn();\">\n";
+			echo "			<select class='formfld' name='menu_item_icon' id='menu_item_icon' onchange=\"$('#icons').slideUp(); $('#grid_icon').fadeIn();\">\n";
 			echo "				<option value=''></option>\n";
-			foreach ($glyphicons as $glyphicon_class => $glyphicon_name) {
-				$selected = ($menu_item_icon == $glyphicon_class) ? "selected" : null;
-				echo "			<option value='".escape($glyphicon_class)."' ".$selected.">".escape($glyphicon_name)."</option>\n";
+			foreach ($icons as $icon_class => $icon_label) {
+				$selected = ($menu_item_icon == $icon_class) ? "selected" : null;
+				echo "			<option value='".escape($icon_class)."' ".$selected.">".escape($icon_label)."</option>\n";
 			}
 			echo "			</select>\n";
 			echo "		</td>\n";
 			echo "		<td style='padding: 0 0 0 5px;'>\n";
-			echo "			<button id='grid_icon' type='button' class='btn btn-default list_control_icon' style='font-size: 15px; padding-top: 1px; padding-left: 3px;' onclick=\"$('#glyphicons').slideToggle(); $(this).fadeOut();\"><span class='glyphicon glyphicon-th'></span></button>";
+			echo "			<button id='grid_icon' type='button' class='btn btn-default list_control_icon' style='font-size: 15px; padding-top: 1px; padding-left: 3px;' onclick=\"$('#icons').fadeIn(); $(this).fadeOut();\"><span class='fas fa-th'></span></button>";
 			echo "		</td>\n";
 			echo "	</tr>\n";
 			echo "</table>\n";
-			echo "<div id='glyphicons' style='clear: both; display: none; padding-top: 10px; color: #000;'>";
-			foreach ($glyphicons as $glyphicon_class => $glyphicon_name) {
-				echo "<span class='glyphicon ".escape($glyphicon_class)."' style='font-size: 24px; float: left; margin: 0 8px 8px 0; cursor: pointer; opacity: 0.3;' title='".escape(glyphicon_name)."' onclick=\"$('#menu_item_icon').val('".escape($glyphicon_class)."'); $('#glyphicons').slideUp(); $('#grid_icon').fadeIn();\" onmouseover=\"this.style.opacity='1';\" onmouseout=\"this.style.opacity='0.3';\"></span>\n";
+			echo "<div id='icons' style='clear: both; display: none; margin-top: 8px; padding-top: 10px; color: #000; max-height: 400px; overflow: auto;'>\n";
+			foreach ($icons as $icon_class => $icon_label) {
+				echo "<span class='fas ".escape($icon_class)." fa-fw' style='font-size: 24px; float: left; margin: 0 8px 8px 0; cursor: pointer; opacity: 0.3;' title='".escape($icon_label)."' onclick=\"$('#menu_item_icon').val('".escape($icon_class)."'); $('#icons').slideUp(); $('#grid_icon').fadeIn();\" onmouseover=\"this.style.opacity='1';\" onmouseout=\"this.style.opacity='0.3';\"></span>\n";
 			}
 			echo "</div>";
 		}

+ 5 - 5
core/user_settings/user_setting_edit.php

@@ -377,7 +377,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 		echo "	<input type='text' class='formfld' name='user_setting_category' id='user_setting_category' maxlength='255' value=\"".escape($user_setting_category)."\">\n";
 	}
 	else {
-		echo "	<select class='formfld' name='user_setting_category' id='user_setting_category' onchange=\"$('#user_setting_subcategory').focus();\">\n";
+		echo "	<select class='formfld' name='user_setting_category' id='user_setting_category' onchange=\"$('#user_setting_subcategory').trigger('focus');\">\n";
 		echo "		<option value=''></option>\n";
 		if (is_array($allowed_categories) && sizeof($allowed_categories) > 0) {
 			foreach ($allowed_categories as $category) {
@@ -534,7 +534,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	elseif ($category == "theme" && substr_count($subcategory, "_font") > 0 && $name == "text") {
 		$row['user_setting_value'] = str_replace('"', "'", $row['user_setting_value']);
 		if ($fonts = get_available_fonts('alpha')) {
-			echo "	<select class='formfld' id='sel_user_setting_value' onchange=\"if (this.selectedIndex == $('select#sel_user_setting_value option').length - 1) { $('#txt_user_setting_value').val('').fadeIn('fast'); $('#txt_user_setting_value').focus(); } else { $('#txt_user_setting_value').fadeOut('fast', function(){ $('#txt_user_setting_value').val($('#sel_user_setting_value').val()) }); } \">\n";
+			echo "	<select class='formfld' id='sel_user_setting_value' onchange=\"if (this.selectedIndex == $('select#sel_user_setting_value option').length - 1) { $('#txt_user_setting_value').val('').fadeIn('fast'); $('#txt_user_setting_value').trigger('focus'); } else { $('#txt_user_setting_value').fadeOut('fast', function(){ $('#txt_user_setting_value').val($('#sel_user_setting_value').val()) }); } \">\n";
 			echo "		<option value=''></option>\n";
 			echo "		<optgroup label='".$text['label-web_fonts']."'>\n";
 			$option_found = false;
@@ -714,7 +714,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 
 	echo "<script>\n";
 //capture enter key to submit form
-	echo "	$(window).keypress(function(event){\n";
+	echo "	$(window).on('keypress',function(event){\n";
 	echo "		if (event.which == 13) { submit_form(); }\n";
 	echo "	});\n";
 //hide/convert password fields then submit form
@@ -724,9 +724,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	echo "		$('form#frm').submit();\n";
 	echo "	}\n";
 //define lowercase class
-	echo "	$('.lowercase').blur(function(){ this.value = this.value.toLowerCase(); });";
+	echo "	$('.lowercase').on('blur',function(){ this.value = this.value.toLowerCase(); });";
 //show order if array
-	echo "	$('#user_setting_name').keyup(function(){ \n";
+	echo "	$('#user_setting_name').on('keyup',function(){ \n";
 	echo "		(this.value.toLowerCase() == 'array') ? $('#tr_order').slideDown('fast') : $('#tr_order').slideUp('fast');\n";
 	echo "	});\n";
 	echo "</script>\n";

+ 0 - 0
resources/bootstrap/3.3.6.dist


+ 3719 - 0
resources/bootstrap/css/bootstrap-grid.css

@@ -0,0 +1,3719 @@
+/*!
+ * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 The Bootstrap Authors
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+html {
+  box-sizing: border-box;
+  -ms-overflow-style: scrollbar;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: inherit;
+}
+
+.container {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+@media (min-width: 576px) {
+  .container {
+    max-width: 540px;
+  }
+}
+
+@media (min-width: 768px) {
+  .container {
+    max-width: 720px;
+  }
+}
+
+@media (min-width: 992px) {
+  .container {
+    max-width: 960px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .container {
+    max-width: 1140px;
+  }
+}
+
+.container-fluid {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.no-gutters > .col,
+.no-gutters > [class*="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
+  position: relative;
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+
+.col {
+  -ms-flex-preferred-size: 0;
+  flex-basis: 0;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  max-width: 100%;
+}
+
+.col-auto {
+  -ms-flex: 0 0 auto;
+  flex: 0 0 auto;
+  width: auto;
+  max-width: 100%;
+}
+
+.col-1 {
+  -ms-flex: 0 0 8.333333%;
+  flex: 0 0 8.333333%;
+  max-width: 8.333333%;
+}
+
+.col-2 {
+  -ms-flex: 0 0 16.666667%;
+  flex: 0 0 16.666667%;
+  max-width: 16.666667%;
+}
+
+.col-3 {
+  -ms-flex: 0 0 25%;
+  flex: 0 0 25%;
+  max-width: 25%;
+}
+
+.col-4 {
+  -ms-flex: 0 0 33.333333%;
+  flex: 0 0 33.333333%;
+  max-width: 33.333333%;
+}
+
+.col-5 {
+  -ms-flex: 0 0 41.666667%;
+  flex: 0 0 41.666667%;
+  max-width: 41.666667%;
+}
+
+.col-6 {
+  -ms-flex: 0 0 50%;
+  flex: 0 0 50%;
+  max-width: 50%;
+}
+
+.col-7 {
+  -ms-flex: 0 0 58.333333%;
+  flex: 0 0 58.333333%;
+  max-width: 58.333333%;
+}
+
+.col-8 {
+  -ms-flex: 0 0 66.666667%;
+  flex: 0 0 66.666667%;
+  max-width: 66.666667%;
+}
+
+.col-9 {
+  -ms-flex: 0 0 75%;
+  flex: 0 0 75%;
+  max-width: 75%;
+}
+
+.col-10 {
+  -ms-flex: 0 0 83.333333%;
+  flex: 0 0 83.333333%;
+  max-width: 83.333333%;
+}
+
+.col-11 {
+  -ms-flex: 0 0 91.666667%;
+  flex: 0 0 91.666667%;
+  max-width: 91.666667%;
+}
+
+.col-12 {
+  -ms-flex: 0 0 100%;
+  flex: 0 0 100%;
+  max-width: 100%;
+}
+
+.order-first {
+  -ms-flex-order: -1;
+  order: -1;
+}
+
+.order-last {
+  -ms-flex-order: 13;
+  order: 13;
+}
+
+.order-0 {
+  -ms-flex-order: 0;
+  order: 0;
+}
+
+.order-1 {
+  -ms-flex-order: 1;
+  order: 1;
+}
+
+.order-2 {
+  -ms-flex-order: 2;
+  order: 2;
+}
+
+.order-3 {
+  -ms-flex-order: 3;
+  order: 3;
+}
+
+.order-4 {
+  -ms-flex-order: 4;
+  order: 4;
+}
+
+.order-5 {
+  -ms-flex-order: 5;
+  order: 5;
+}
+
+.order-6 {
+  -ms-flex-order: 6;
+  order: 6;
+}
+
+.order-7 {
+  -ms-flex-order: 7;
+  order: 7;
+}
+
+.order-8 {
+  -ms-flex-order: 8;
+  order: 8;
+}
+
+.order-9 {
+  -ms-flex-order: 9;
+  order: 9;
+}
+
+.order-10 {
+  -ms-flex-order: 10;
+  order: 10;
+}
+
+.order-11 {
+  -ms-flex-order: 11;
+  order: 11;
+}
+
+.order-12 {
+  -ms-flex-order: 12;
+  order: 12;
+}
+
+.offset-1 {
+  margin-left: 8.333333%;
+}
+
+.offset-2 {
+  margin-left: 16.666667%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.offset-4 {
+  margin-left: 33.333333%;
+}
+
+.offset-5 {
+  margin-left: 41.666667%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.offset-7 {
+  margin-left: 58.333333%;
+}
+
+.offset-8 {
+  margin-left: 66.666667%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.offset-10 {
+  margin-left: 83.333333%;
+}
+
+.offset-11 {
+  margin-left: 91.666667%;
+}
+
+@media (min-width: 576px) {
+  .col-sm {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-sm-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-sm-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-sm-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-sm-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-sm-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-sm-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-sm-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-sm-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-sm-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-sm-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-sm-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-sm-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-sm-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-sm-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-sm-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-sm-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-sm-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-sm-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-sm-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-sm-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-sm-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-sm-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-sm-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-sm-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-sm-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-sm-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-sm-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-sm-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-sm-0 {
+    margin-left: 0;
+  }
+  .offset-sm-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-sm-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-sm-3 {
+    margin-left: 25%;
+  }
+  .offset-sm-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-sm-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-sm-6 {
+    margin-left: 50%;
+  }
+  .offset-sm-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-sm-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-sm-9 {
+    margin-left: 75%;
+  }
+  .offset-sm-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-sm-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 768px) {
+  .col-md {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-md-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-md-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-md-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-md-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-md-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-md-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-md-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-md-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-md-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-md-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-md-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-md-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-md-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-md-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-md-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-md-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-md-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-md-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-md-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-md-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-md-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-md-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-md-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-md-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-md-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-md-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-md-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-md-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-md-0 {
+    margin-left: 0;
+  }
+  .offset-md-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-md-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-md-3 {
+    margin-left: 25%;
+  }
+  .offset-md-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-md-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-md-6 {
+    margin-left: 50%;
+  }
+  .offset-md-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-md-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-md-9 {
+    margin-left: 75%;
+  }
+  .offset-md-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-md-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 992px) {
+  .col-lg {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-lg-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-lg-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-lg-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-lg-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-lg-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-lg-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-lg-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-lg-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-lg-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-lg-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-lg-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-lg-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-lg-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-lg-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-lg-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-lg-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-lg-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-lg-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-lg-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-lg-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-lg-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-lg-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-lg-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-lg-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-lg-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-lg-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-lg-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-lg-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-lg-0 {
+    margin-left: 0;
+  }
+  .offset-lg-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-lg-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-lg-3 {
+    margin-left: 25%;
+  }
+  .offset-lg-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-lg-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-lg-6 {
+    margin-left: 50%;
+  }
+  .offset-lg-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-lg-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-lg-9 {
+    margin-left: 75%;
+  }
+  .offset-lg-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-lg-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 1200px) {
+  .col-xl {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-xl-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: 100%;
+  }
+  .col-xl-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-xl-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-xl-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-xl-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-xl-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-xl-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-xl-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-xl-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-xl-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-xl-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-xl-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-xl-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-xl-first {
+    -ms-flex-order: -1;
+    order: -1;
+  }
+  .order-xl-last {
+    -ms-flex-order: 13;
+    order: 13;
+  }
+  .order-xl-0 {
+    -ms-flex-order: 0;
+    order: 0;
+  }
+  .order-xl-1 {
+    -ms-flex-order: 1;
+    order: 1;
+  }
+  .order-xl-2 {
+    -ms-flex-order: 2;
+    order: 2;
+  }
+  .order-xl-3 {
+    -ms-flex-order: 3;
+    order: 3;
+  }
+  .order-xl-4 {
+    -ms-flex-order: 4;
+    order: 4;
+  }
+  .order-xl-5 {
+    -ms-flex-order: 5;
+    order: 5;
+  }
+  .order-xl-6 {
+    -ms-flex-order: 6;
+    order: 6;
+  }
+  .order-xl-7 {
+    -ms-flex-order: 7;
+    order: 7;
+  }
+  .order-xl-8 {
+    -ms-flex-order: 8;
+    order: 8;
+  }
+  .order-xl-9 {
+    -ms-flex-order: 9;
+    order: 9;
+  }
+  .order-xl-10 {
+    -ms-flex-order: 10;
+    order: 10;
+  }
+  .order-xl-11 {
+    -ms-flex-order: 11;
+    order: 11;
+  }
+  .order-xl-12 {
+    -ms-flex-order: 12;
+    order: 12;
+  }
+  .offset-xl-0 {
+    margin-left: 0;
+  }
+  .offset-xl-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-xl-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-xl-3 {
+    margin-left: 25%;
+  }
+  .offset-xl-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-xl-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-xl-6 {
+    margin-left: 50%;
+  }
+  .offset-xl-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-xl-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-xl-9 {
+    margin-left: 75%;
+  }
+  .offset-xl-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-xl-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+.d-none {
+  display: none !important;
+}
+
+.d-inline {
+  display: inline !important;
+}
+
+.d-inline-block {
+  display: inline-block !important;
+}
+
+.d-block {
+  display: block !important;
+}
+
+.d-table {
+  display: table !important;
+}
+
+.d-table-row {
+  display: table-row !important;
+}
+
+.d-table-cell {
+  display: table-cell !important;
+}
+
+.d-flex {
+  display: -ms-flexbox !important;
+  display: flex !important;
+}
+
+.d-inline-flex {
+  display: -ms-inline-flexbox !important;
+  display: inline-flex !important;
+}
+
+@media (min-width: 576px) {
+  .d-sm-none {
+    display: none !important;
+  }
+  .d-sm-inline {
+    display: inline !important;
+  }
+  .d-sm-inline-block {
+    display: inline-block !important;
+  }
+  .d-sm-block {
+    display: block !important;
+  }
+  .d-sm-table {
+    display: table !important;
+  }
+  .d-sm-table-row {
+    display: table-row !important;
+  }
+  .d-sm-table-cell {
+    display: table-cell !important;
+  }
+  .d-sm-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-sm-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .d-md-none {
+    display: none !important;
+  }
+  .d-md-inline {
+    display: inline !important;
+  }
+  .d-md-inline-block {
+    display: inline-block !important;
+  }
+  .d-md-block {
+    display: block !important;
+  }
+  .d-md-table {
+    display: table !important;
+  }
+  .d-md-table-row {
+    display: table-row !important;
+  }
+  .d-md-table-cell {
+    display: table-cell !important;
+  }
+  .d-md-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-md-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .d-lg-none {
+    display: none !important;
+  }
+  .d-lg-inline {
+    display: inline !important;
+  }
+  .d-lg-inline-block {
+    display: inline-block !important;
+  }
+  .d-lg-block {
+    display: block !important;
+  }
+  .d-lg-table {
+    display: table !important;
+  }
+  .d-lg-table-row {
+    display: table-row !important;
+  }
+  .d-lg-table-cell {
+    display: table-cell !important;
+  }
+  .d-lg-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-lg-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .d-xl-none {
+    display: none !important;
+  }
+  .d-xl-inline {
+    display: inline !important;
+  }
+  .d-xl-inline-block {
+    display: inline-block !important;
+  }
+  .d-xl-block {
+    display: block !important;
+  }
+  .d-xl-table {
+    display: table !important;
+  }
+  .d-xl-table-row {
+    display: table-row !important;
+  }
+  .d-xl-table-cell {
+    display: table-cell !important;
+  }
+  .d-xl-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-xl-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media print {
+  .d-print-none {
+    display: none !important;
+  }
+  .d-print-inline {
+    display: inline !important;
+  }
+  .d-print-inline-block {
+    display: inline-block !important;
+  }
+  .d-print-block {
+    display: block !important;
+  }
+  .d-print-table {
+    display: table !important;
+  }
+  .d-print-table-row {
+    display: table-row !important;
+  }
+  .d-print-table-cell {
+    display: table-cell !important;
+  }
+  .d-print-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-print-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+.flex-row {
+  -ms-flex-direction: row !important;
+  flex-direction: row !important;
+}
+
+.flex-column {
+  -ms-flex-direction: column !important;
+  flex-direction: column !important;
+}
+
+.flex-row-reverse {
+  -ms-flex-direction: row-reverse !important;
+  flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+  -ms-flex-direction: column-reverse !important;
+  flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+  -ms-flex-wrap: wrap !important;
+  flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+  -ms-flex-wrap: nowrap !important;
+  flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+  -ms-flex-wrap: wrap-reverse !important;
+  flex-wrap: wrap-reverse !important;
+}
+
+.flex-fill {
+  -ms-flex: 1 1 auto !important;
+  flex: 1 1 auto !important;
+}
+
+.flex-grow-0 {
+  -ms-flex-positive: 0 !important;
+  flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+  -ms-flex-positive: 1 !important;
+  flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+  -ms-flex-negative: 0 !important;
+  flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+  -ms-flex-negative: 1 !important;
+  flex-shrink: 1 !important;
+}
+
+.justify-content-start {
+  -ms-flex-pack: start !important;
+  justify-content: flex-start !important;
+}
+
+.justify-content-end {
+  -ms-flex-pack: end !important;
+  justify-content: flex-end !important;
+}
+
+.justify-content-center {
+  -ms-flex-pack: center !important;
+  justify-content: center !important;
+}
+
+.justify-content-between {
+  -ms-flex-pack: justify !important;
+  justify-content: space-between !important;
+}
+
+.justify-content-around {
+  -ms-flex-pack: distribute !important;
+  justify-content: space-around !important;
+}
+
+.align-items-start {
+  -ms-flex-align: start !important;
+  align-items: flex-start !important;
+}
+
+.align-items-end {
+  -ms-flex-align: end !important;
+  align-items: flex-end !important;
+}
+
+.align-items-center {
+  -ms-flex-align: center !important;
+  align-items: center !important;
+}
+
+.align-items-baseline {
+  -ms-flex-align: baseline !important;
+  align-items: baseline !important;
+}
+
+.align-items-stretch {
+  -ms-flex-align: stretch !important;
+  align-items: stretch !important;
+}
+
+.align-content-start {
+  -ms-flex-line-pack: start !important;
+  align-content: flex-start !important;
+}
+
+.align-content-end {
+  -ms-flex-line-pack: end !important;
+  align-content: flex-end !important;
+}
+
+.align-content-center {
+  -ms-flex-line-pack: center !important;
+  align-content: center !important;
+}
+
+.align-content-between {
+  -ms-flex-line-pack: justify !important;
+  align-content: space-between !important;
+}
+
+.align-content-around {
+  -ms-flex-line-pack: distribute !important;
+  align-content: space-around !important;
+}
+
+.align-content-stretch {
+  -ms-flex-line-pack: stretch !important;
+  align-content: stretch !important;
+}
+
+.align-self-auto {
+  -ms-flex-item-align: auto !important;
+  align-self: auto !important;
+}
+
+.align-self-start {
+  -ms-flex-item-align: start !important;
+  align-self: flex-start !important;
+}
+
+.align-self-end {
+  -ms-flex-item-align: end !important;
+  align-self: flex-end !important;
+}
+
+.align-self-center {
+  -ms-flex-item-align: center !important;
+  align-self: center !important;
+}
+
+.align-self-baseline {
+  -ms-flex-item-align: baseline !important;
+  align-self: baseline !important;
+}
+
+.align-self-stretch {
+  -ms-flex-item-align: stretch !important;
+  align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+  .flex-sm-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-sm-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-sm-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-sm-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-sm-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-sm-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-sm-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-sm-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-sm-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-sm-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-sm-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-sm-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-sm-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-sm-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-sm-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-sm-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-sm-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-sm-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-sm-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-sm-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-sm-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-sm-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-sm-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-sm-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-sm-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-sm-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-sm-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-sm-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-sm-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-sm-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-sm-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-sm-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-sm-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-sm-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .flex-md-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-md-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-md-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-md-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-md-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-md-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-md-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-md-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-md-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-md-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-md-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-md-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-md-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-md-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-md-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-md-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-md-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-md-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-md-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-md-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-md-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-md-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-md-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-md-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-md-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-md-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-md-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-md-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-md-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-md-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-md-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-md-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-md-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-md-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .flex-lg-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-lg-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-lg-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-lg-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-lg-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-lg-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-lg-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-lg-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-lg-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-lg-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-lg-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-lg-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-lg-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-lg-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-lg-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-lg-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-lg-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-lg-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-lg-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-lg-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-lg-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-lg-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-lg-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-lg-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-lg-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-lg-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-lg-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-lg-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-lg-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-lg-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-lg-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-lg-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-lg-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-lg-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .flex-xl-row {
+    -ms-flex-direction: row !important;
+    flex-direction: row !important;
+  }
+  .flex-xl-column {
+    -ms-flex-direction: column !important;
+    flex-direction: column !important;
+  }
+  .flex-xl-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+    flex-direction: row-reverse !important;
+  }
+  .flex-xl-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+    flex-direction: column-reverse !important;
+  }
+  .flex-xl-wrap {
+    -ms-flex-wrap: wrap !important;
+    flex-wrap: wrap !important;
+  }
+  .flex-xl-nowrap {
+    -ms-flex-wrap: nowrap !important;
+    flex-wrap: nowrap !important;
+  }
+  .flex-xl-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-xl-fill {
+    -ms-flex: 1 1 auto !important;
+    flex: 1 1 auto !important;
+  }
+  .flex-xl-grow-0 {
+    -ms-flex-positive: 0 !important;
+    flex-grow: 0 !important;
+  }
+  .flex-xl-grow-1 {
+    -ms-flex-positive: 1 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-xl-shrink-0 {
+    -ms-flex-negative: 0 !important;
+    flex-shrink: 0 !important;
+  }
+  .flex-xl-shrink-1 {
+    -ms-flex-negative: 1 !important;
+    flex-shrink: 1 !important;
+  }
+  .justify-content-xl-start {
+    -ms-flex-pack: start !important;
+    justify-content: flex-start !important;
+  }
+  .justify-content-xl-end {
+    -ms-flex-pack: end !important;
+    justify-content: flex-end !important;
+  }
+  .justify-content-xl-center {
+    -ms-flex-pack: center !important;
+    justify-content: center !important;
+  }
+  .justify-content-xl-between {
+    -ms-flex-pack: justify !important;
+    justify-content: space-between !important;
+  }
+  .justify-content-xl-around {
+    -ms-flex-pack: distribute !important;
+    justify-content: space-around !important;
+  }
+  .align-items-xl-start {
+    -ms-flex-align: start !important;
+    align-items: flex-start !important;
+  }
+  .align-items-xl-end {
+    -ms-flex-align: end !important;
+    align-items: flex-end !important;
+  }
+  .align-items-xl-center {
+    -ms-flex-align: center !important;
+    align-items: center !important;
+  }
+  .align-items-xl-baseline {
+    -ms-flex-align: baseline !important;
+    align-items: baseline !important;
+  }
+  .align-items-xl-stretch {
+    -ms-flex-align: stretch !important;
+    align-items: stretch !important;
+  }
+  .align-content-xl-start {
+    -ms-flex-line-pack: start !important;
+    align-content: flex-start !important;
+  }
+  .align-content-xl-end {
+    -ms-flex-line-pack: end !important;
+    align-content: flex-end !important;
+  }
+  .align-content-xl-center {
+    -ms-flex-line-pack: center !important;
+    align-content: center !important;
+  }
+  .align-content-xl-between {
+    -ms-flex-line-pack: justify !important;
+    align-content: space-between !important;
+  }
+  .align-content-xl-around {
+    -ms-flex-line-pack: distribute !important;
+    align-content: space-around !important;
+  }
+  .align-content-xl-stretch {
+    -ms-flex-line-pack: stretch !important;
+    align-content: stretch !important;
+  }
+  .align-self-xl-auto {
+    -ms-flex-item-align: auto !important;
+    align-self: auto !important;
+  }
+  .align-self-xl-start {
+    -ms-flex-item-align: start !important;
+    align-self: flex-start !important;
+  }
+  .align-self-xl-end {
+    -ms-flex-item-align: end !important;
+    align-self: flex-end !important;
+  }
+  .align-self-xl-center {
+    -ms-flex-item-align: center !important;
+    align-self: center !important;
+  }
+  .align-self-xl-baseline {
+    -ms-flex-item-align: baseline !important;
+    align-self: baseline !important;
+  }
+  .align-self-xl-stretch {
+    -ms-flex-item-align: stretch !important;
+    align-self: stretch !important;
+  }
+}
+
+.m-0 {
+  margin: 0 !important;
+}
+
+.mt-0,
+.my-0 {
+  margin-top: 0 !important;
+}
+
+.mr-0,
+.mx-0 {
+  margin-right: 0 !important;
+}
+
+.mb-0,
+.my-0 {
+  margin-bottom: 0 !important;
+}
+
+.ml-0,
+.mx-0 {
+  margin-left: 0 !important;
+}
+
+.m-1 {
+  margin: 0.25rem !important;
+}
+
+.mt-1,
+.my-1 {
+  margin-top: 0.25rem !important;
+}
+
+.mr-1,
+.mx-1 {
+  margin-right: 0.25rem !important;
+}
+
+.mb-1,
+.my-1 {
+  margin-bottom: 0.25rem !important;
+}
+
+.ml-1,
+.mx-1 {
+  margin-left: 0.25rem !important;
+}
+
+.m-2 {
+  margin: 0.5rem !important;
+}
+
+.mt-2,
+.my-2 {
+  margin-top: 0.5rem !important;
+}
+
+.mr-2,
+.mx-2 {
+  margin-right: 0.5rem !important;
+}
+
+.mb-2,
+.my-2 {
+  margin-bottom: 0.5rem !important;
+}
+
+.ml-2,
+.mx-2 {
+  margin-left: 0.5rem !important;
+}
+
+.m-3 {
+  margin: 1rem !important;
+}
+
+.mt-3,
+.my-3 {
+  margin-top: 1rem !important;
+}
+
+.mr-3,
+.mx-3 {
+  margin-right: 1rem !important;
+}
+
+.mb-3,
+.my-3 {
+  margin-bottom: 1rem !important;
+}
+
+.ml-3,
+.mx-3 {
+  margin-left: 1rem !important;
+}
+
+.m-4 {
+  margin: 1.5rem !important;
+}
+
+.mt-4,
+.my-4 {
+  margin-top: 1.5rem !important;
+}
+
+.mr-4,
+.mx-4 {
+  margin-right: 1.5rem !important;
+}
+
+.mb-4,
+.my-4 {
+  margin-bottom: 1.5rem !important;
+}
+
+.ml-4,
+.mx-4 {
+  margin-left: 1.5rem !important;
+}
+
+.m-5 {
+  margin: 3rem !important;
+}
+
+.mt-5,
+.my-5 {
+  margin-top: 3rem !important;
+}
+
+.mr-5,
+.mx-5 {
+  margin-right: 3rem !important;
+}
+
+.mb-5,
+.my-5 {
+  margin-bottom: 3rem !important;
+}
+
+.ml-5,
+.mx-5 {
+  margin-left: 3rem !important;
+}
+
+.p-0 {
+  padding: 0 !important;
+}
+
+.pt-0,
+.py-0 {
+  padding-top: 0 !important;
+}
+
+.pr-0,
+.px-0 {
+  padding-right: 0 !important;
+}
+
+.pb-0,
+.py-0 {
+  padding-bottom: 0 !important;
+}
+
+.pl-0,
+.px-0 {
+  padding-left: 0 !important;
+}
+
+.p-1 {
+  padding: 0.25rem !important;
+}
+
+.pt-1,
+.py-1 {
+  padding-top: 0.25rem !important;
+}
+
+.pr-1,
+.px-1 {
+  padding-right: 0.25rem !important;
+}
+
+.pb-1,
+.py-1 {
+  padding-bottom: 0.25rem !important;
+}
+
+.pl-1,
+.px-1 {
+  padding-left: 0.25rem !important;
+}
+
+.p-2 {
+  padding: 0.5rem !important;
+}
+
+.pt-2,
+.py-2 {
+  padding-top: 0.5rem !important;
+}
+
+.pr-2,
+.px-2 {
+  padding-right: 0.5rem !important;
+}
+
+.pb-2,
+.py-2 {
+  padding-bottom: 0.5rem !important;
+}
+
+.pl-2,
+.px-2 {
+  padding-left: 0.5rem !important;
+}
+
+.p-3 {
+  padding: 1rem !important;
+}
+
+.pt-3,
+.py-3 {
+  padding-top: 1rem !important;
+}
+
+.pr-3,
+.px-3 {
+  padding-right: 1rem !important;
+}
+
+.pb-3,
+.py-3 {
+  padding-bottom: 1rem !important;
+}
+
+.pl-3,
+.px-3 {
+  padding-left: 1rem !important;
+}
+
+.p-4 {
+  padding: 1.5rem !important;
+}
+
+.pt-4,
+.py-4 {
+  padding-top: 1.5rem !important;
+}
+
+.pr-4,
+.px-4 {
+  padding-right: 1.5rem !important;
+}
+
+.pb-4,
+.py-4 {
+  padding-bottom: 1.5rem !important;
+}
+
+.pl-4,
+.px-4 {
+  padding-left: 1.5rem !important;
+}
+
+.p-5 {
+  padding: 3rem !important;
+}
+
+.pt-5,
+.py-5 {
+  padding-top: 3rem !important;
+}
+
+.pr-5,
+.px-5 {
+  padding-right: 3rem !important;
+}
+
+.pb-5,
+.py-5 {
+  padding-bottom: 3rem !important;
+}
+
+.pl-5,
+.px-5 {
+  padding-left: 3rem !important;
+}
+
+.m-n1 {
+  margin: -0.25rem !important;
+}
+
+.mt-n1,
+.my-n1 {
+  margin-top: -0.25rem !important;
+}
+
+.mr-n1,
+.mx-n1 {
+  margin-right: -0.25rem !important;
+}
+
+.mb-n1,
+.my-n1 {
+  margin-bottom: -0.25rem !important;
+}
+
+.ml-n1,
+.mx-n1 {
+  margin-left: -0.25rem !important;
+}
+
+.m-n2 {
+  margin: -0.5rem !important;
+}
+
+.mt-n2,
+.my-n2 {
+  margin-top: -0.5rem !important;
+}
+
+.mr-n2,
+.mx-n2 {
+  margin-right: -0.5rem !important;
+}
+
+.mb-n2,
+.my-n2 {
+  margin-bottom: -0.5rem !important;
+}
+
+.ml-n2,
+.mx-n2 {
+  margin-left: -0.5rem !important;
+}
+
+.m-n3 {
+  margin: -1rem !important;
+}
+
+.mt-n3,
+.my-n3 {
+  margin-top: -1rem !important;
+}
+
+.mr-n3,
+.mx-n3 {
+  margin-right: -1rem !important;
+}
+
+.mb-n3,
+.my-n3 {
+  margin-bottom: -1rem !important;
+}
+
+.ml-n3,
+.mx-n3 {
+  margin-left: -1rem !important;
+}
+
+.m-n4 {
+  margin: -1.5rem !important;
+}
+
+.mt-n4,
+.my-n4 {
+  margin-top: -1.5rem !important;
+}
+
+.mr-n4,
+.mx-n4 {
+  margin-right: -1.5rem !important;
+}
+
+.mb-n4,
+.my-n4 {
+  margin-bottom: -1.5rem !important;
+}
+
+.ml-n4,
+.mx-n4 {
+  margin-left: -1.5rem !important;
+}
+
+.m-n5 {
+  margin: -3rem !important;
+}
+
+.mt-n5,
+.my-n5 {
+  margin-top: -3rem !important;
+}
+
+.mr-n5,
+.mx-n5 {
+  margin-right: -3rem !important;
+}
+
+.mb-n5,
+.my-n5 {
+  margin-bottom: -3rem !important;
+}
+
+.ml-n5,
+.mx-n5 {
+  margin-left: -3rem !important;
+}
+
+.m-auto {
+  margin: auto !important;
+}
+
+.mt-auto,
+.my-auto {
+  margin-top: auto !important;
+}
+
+.mr-auto,
+.mx-auto {
+  margin-right: auto !important;
+}
+
+.mb-auto,
+.my-auto {
+  margin-bottom: auto !important;
+}
+
+.ml-auto,
+.mx-auto {
+  margin-left: auto !important;
+}
+
+@media (min-width: 576px) {
+  .m-sm-0 {
+    margin: 0 !important;
+  }
+  .mt-sm-0,
+  .my-sm-0 {
+    margin-top: 0 !important;
+  }
+  .mr-sm-0,
+  .mx-sm-0 {
+    margin-right: 0 !important;
+  }
+  .mb-sm-0,
+  .my-sm-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-sm-0,
+  .mx-sm-0 {
+    margin-left: 0 !important;
+  }
+  .m-sm-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-sm-1,
+  .my-sm-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-sm-1,
+  .mx-sm-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-sm-1,
+  .my-sm-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-sm-1,
+  .mx-sm-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-sm-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-sm-2,
+  .my-sm-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-sm-2,
+  .mx-sm-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-sm-2,
+  .my-sm-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-sm-2,
+  .mx-sm-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-sm-3 {
+    margin: 1rem !important;
+  }
+  .mt-sm-3,
+  .my-sm-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-sm-3,
+  .mx-sm-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-sm-3,
+  .my-sm-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-sm-3,
+  .mx-sm-3 {
+    margin-left: 1rem !important;
+  }
+  .m-sm-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-sm-4,
+  .my-sm-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-sm-4,
+  .mx-sm-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-sm-4,
+  .my-sm-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-sm-4,
+  .mx-sm-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-sm-5 {
+    margin: 3rem !important;
+  }
+  .mt-sm-5,
+  .my-sm-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-sm-5,
+  .mx-sm-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-sm-5,
+  .my-sm-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-sm-5,
+  .mx-sm-5 {
+    margin-left: 3rem !important;
+  }
+  .p-sm-0 {
+    padding: 0 !important;
+  }
+  .pt-sm-0,
+  .py-sm-0 {
+    padding-top: 0 !important;
+  }
+  .pr-sm-0,
+  .px-sm-0 {
+    padding-right: 0 !important;
+  }
+  .pb-sm-0,
+  .py-sm-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-sm-0,
+  .px-sm-0 {
+    padding-left: 0 !important;
+  }
+  .p-sm-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-sm-1,
+  .py-sm-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-sm-1,
+  .px-sm-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-sm-1,
+  .py-sm-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-sm-1,
+  .px-sm-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-sm-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-sm-2,
+  .py-sm-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-sm-2,
+  .px-sm-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-sm-2,
+  .py-sm-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-sm-2,
+  .px-sm-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-sm-3 {
+    padding: 1rem !important;
+  }
+  .pt-sm-3,
+  .py-sm-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-sm-3,
+  .px-sm-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-sm-3,
+  .py-sm-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-sm-3,
+  .px-sm-3 {
+    padding-left: 1rem !important;
+  }
+  .p-sm-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-sm-4,
+  .py-sm-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-sm-4,
+  .px-sm-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-sm-4,
+  .py-sm-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-sm-4,
+  .px-sm-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-sm-5 {
+    padding: 3rem !important;
+  }
+  .pt-sm-5,
+  .py-sm-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-sm-5,
+  .px-sm-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-sm-5,
+  .py-sm-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-sm-5,
+  .px-sm-5 {
+    padding-left: 3rem !important;
+  }
+  .m-sm-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-sm-n1,
+  .my-sm-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-sm-n1,
+  .mx-sm-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-sm-n1,
+  .my-sm-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-sm-n1,
+  .mx-sm-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-sm-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-sm-n2,
+  .my-sm-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-sm-n2,
+  .mx-sm-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-sm-n2,
+  .my-sm-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-sm-n2,
+  .mx-sm-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-sm-n3 {
+    margin: -1rem !important;
+  }
+  .mt-sm-n3,
+  .my-sm-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-sm-n3,
+  .mx-sm-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-sm-n3,
+  .my-sm-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-sm-n3,
+  .mx-sm-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-sm-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-sm-n4,
+  .my-sm-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-sm-n4,
+  .mx-sm-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-sm-n4,
+  .my-sm-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-sm-n4,
+  .mx-sm-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-sm-n5 {
+    margin: -3rem !important;
+  }
+  .mt-sm-n5,
+  .my-sm-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-sm-n5,
+  .mx-sm-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-sm-n5,
+  .my-sm-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-sm-n5,
+  .mx-sm-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-sm-auto {
+    margin: auto !important;
+  }
+  .mt-sm-auto,
+  .my-sm-auto {
+    margin-top: auto !important;
+  }
+  .mr-sm-auto,
+  .mx-sm-auto {
+    margin-right: auto !important;
+  }
+  .mb-sm-auto,
+  .my-sm-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-sm-auto,
+  .mx-sm-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .m-md-0 {
+    margin: 0 !important;
+  }
+  .mt-md-0,
+  .my-md-0 {
+    margin-top: 0 !important;
+  }
+  .mr-md-0,
+  .mx-md-0 {
+    margin-right: 0 !important;
+  }
+  .mb-md-0,
+  .my-md-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-md-0,
+  .mx-md-0 {
+    margin-left: 0 !important;
+  }
+  .m-md-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-md-1,
+  .my-md-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-md-1,
+  .mx-md-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-md-1,
+  .my-md-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-md-1,
+  .mx-md-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-md-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-md-2,
+  .my-md-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-md-2,
+  .mx-md-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-md-2,
+  .my-md-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-md-2,
+  .mx-md-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-md-3 {
+    margin: 1rem !important;
+  }
+  .mt-md-3,
+  .my-md-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-md-3,
+  .mx-md-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-md-3,
+  .my-md-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-md-3,
+  .mx-md-3 {
+    margin-left: 1rem !important;
+  }
+  .m-md-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-md-4,
+  .my-md-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-md-4,
+  .mx-md-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-md-4,
+  .my-md-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-md-4,
+  .mx-md-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-md-5 {
+    margin: 3rem !important;
+  }
+  .mt-md-5,
+  .my-md-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-md-5,
+  .mx-md-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-md-5,
+  .my-md-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-md-5,
+  .mx-md-5 {
+    margin-left: 3rem !important;
+  }
+  .p-md-0 {
+    padding: 0 !important;
+  }
+  .pt-md-0,
+  .py-md-0 {
+    padding-top: 0 !important;
+  }
+  .pr-md-0,
+  .px-md-0 {
+    padding-right: 0 !important;
+  }
+  .pb-md-0,
+  .py-md-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-md-0,
+  .px-md-0 {
+    padding-left: 0 !important;
+  }
+  .p-md-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-md-1,
+  .py-md-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-md-1,
+  .px-md-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-md-1,
+  .py-md-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-md-1,
+  .px-md-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-md-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-md-2,
+  .py-md-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-md-2,
+  .px-md-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-md-2,
+  .py-md-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-md-2,
+  .px-md-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-md-3 {
+    padding: 1rem !important;
+  }
+  .pt-md-3,
+  .py-md-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-md-3,
+  .px-md-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-md-3,
+  .py-md-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-md-3,
+  .px-md-3 {
+    padding-left: 1rem !important;
+  }
+  .p-md-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-md-4,
+  .py-md-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-md-4,
+  .px-md-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-md-4,
+  .py-md-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-md-4,
+  .px-md-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-md-5 {
+    padding: 3rem !important;
+  }
+  .pt-md-5,
+  .py-md-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-md-5,
+  .px-md-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-md-5,
+  .py-md-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-md-5,
+  .px-md-5 {
+    padding-left: 3rem !important;
+  }
+  .m-md-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-md-n1,
+  .my-md-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-md-n1,
+  .mx-md-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-md-n1,
+  .my-md-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-md-n1,
+  .mx-md-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-md-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-md-n2,
+  .my-md-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-md-n2,
+  .mx-md-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-md-n2,
+  .my-md-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-md-n2,
+  .mx-md-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-md-n3 {
+    margin: -1rem !important;
+  }
+  .mt-md-n3,
+  .my-md-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-md-n3,
+  .mx-md-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-md-n3,
+  .my-md-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-md-n3,
+  .mx-md-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-md-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-md-n4,
+  .my-md-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-md-n4,
+  .mx-md-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-md-n4,
+  .my-md-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-md-n4,
+  .mx-md-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-md-n5 {
+    margin: -3rem !important;
+  }
+  .mt-md-n5,
+  .my-md-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-md-n5,
+  .mx-md-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-md-n5,
+  .my-md-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-md-n5,
+  .mx-md-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-md-auto {
+    margin: auto !important;
+  }
+  .mt-md-auto,
+  .my-md-auto {
+    margin-top: auto !important;
+  }
+  .mr-md-auto,
+  .mx-md-auto {
+    margin-right: auto !important;
+  }
+  .mb-md-auto,
+  .my-md-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-md-auto,
+  .mx-md-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .m-lg-0 {
+    margin: 0 !important;
+  }
+  .mt-lg-0,
+  .my-lg-0 {
+    margin-top: 0 !important;
+  }
+  .mr-lg-0,
+  .mx-lg-0 {
+    margin-right: 0 !important;
+  }
+  .mb-lg-0,
+  .my-lg-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-lg-0,
+  .mx-lg-0 {
+    margin-left: 0 !important;
+  }
+  .m-lg-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-lg-1,
+  .my-lg-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-lg-1,
+  .mx-lg-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-lg-1,
+  .my-lg-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-lg-1,
+  .mx-lg-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-lg-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-lg-2,
+  .my-lg-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-lg-2,
+  .mx-lg-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-lg-2,
+  .my-lg-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-lg-2,
+  .mx-lg-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-lg-3 {
+    margin: 1rem !important;
+  }
+  .mt-lg-3,
+  .my-lg-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-lg-3,
+  .mx-lg-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-lg-3,
+  .my-lg-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-lg-3,
+  .mx-lg-3 {
+    margin-left: 1rem !important;
+  }
+  .m-lg-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-lg-4,
+  .my-lg-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-lg-4,
+  .mx-lg-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-lg-4,
+  .my-lg-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-lg-4,
+  .mx-lg-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-lg-5 {
+    margin: 3rem !important;
+  }
+  .mt-lg-5,
+  .my-lg-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-lg-5,
+  .mx-lg-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-lg-5,
+  .my-lg-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-lg-5,
+  .mx-lg-5 {
+    margin-left: 3rem !important;
+  }
+  .p-lg-0 {
+    padding: 0 !important;
+  }
+  .pt-lg-0,
+  .py-lg-0 {
+    padding-top: 0 !important;
+  }
+  .pr-lg-0,
+  .px-lg-0 {
+    padding-right: 0 !important;
+  }
+  .pb-lg-0,
+  .py-lg-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-lg-0,
+  .px-lg-0 {
+    padding-left: 0 !important;
+  }
+  .p-lg-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-lg-1,
+  .py-lg-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-lg-1,
+  .px-lg-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-lg-1,
+  .py-lg-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-lg-1,
+  .px-lg-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-lg-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-lg-2,
+  .py-lg-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-lg-2,
+  .px-lg-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-lg-2,
+  .py-lg-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-lg-2,
+  .px-lg-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-lg-3 {
+    padding: 1rem !important;
+  }
+  .pt-lg-3,
+  .py-lg-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-lg-3,
+  .px-lg-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-lg-3,
+  .py-lg-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-lg-3,
+  .px-lg-3 {
+    padding-left: 1rem !important;
+  }
+  .p-lg-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-lg-4,
+  .py-lg-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-lg-4,
+  .px-lg-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-lg-4,
+  .py-lg-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-lg-4,
+  .px-lg-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-lg-5 {
+    padding: 3rem !important;
+  }
+  .pt-lg-5,
+  .py-lg-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-lg-5,
+  .px-lg-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-lg-5,
+  .py-lg-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-lg-5,
+  .px-lg-5 {
+    padding-left: 3rem !important;
+  }
+  .m-lg-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-lg-n1,
+  .my-lg-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-lg-n1,
+  .mx-lg-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-lg-n1,
+  .my-lg-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-lg-n1,
+  .mx-lg-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-lg-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-lg-n2,
+  .my-lg-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-lg-n2,
+  .mx-lg-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-lg-n2,
+  .my-lg-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-lg-n2,
+  .mx-lg-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-lg-n3 {
+    margin: -1rem !important;
+  }
+  .mt-lg-n3,
+  .my-lg-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-lg-n3,
+  .mx-lg-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-lg-n3,
+  .my-lg-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-lg-n3,
+  .mx-lg-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-lg-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-lg-n4,
+  .my-lg-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-lg-n4,
+  .mx-lg-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-lg-n4,
+  .my-lg-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-lg-n4,
+  .mx-lg-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-lg-n5 {
+    margin: -3rem !important;
+  }
+  .mt-lg-n5,
+  .my-lg-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-lg-n5,
+  .mx-lg-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-lg-n5,
+  .my-lg-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-lg-n5,
+  .mx-lg-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-lg-auto {
+    margin: auto !important;
+  }
+  .mt-lg-auto,
+  .my-lg-auto {
+    margin-top: auto !important;
+  }
+  .mr-lg-auto,
+  .mx-lg-auto {
+    margin-right: auto !important;
+  }
+  .mb-lg-auto,
+  .my-lg-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-lg-auto,
+  .mx-lg-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .m-xl-0 {
+    margin: 0 !important;
+  }
+  .mt-xl-0,
+  .my-xl-0 {
+    margin-top: 0 !important;
+  }
+  .mr-xl-0,
+  .mx-xl-0 {
+    margin-right: 0 !important;
+  }
+  .mb-xl-0,
+  .my-xl-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-xl-0,
+  .mx-xl-0 {
+    margin-left: 0 !important;
+  }
+  .m-xl-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-xl-1,
+  .my-xl-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-xl-1,
+  .mx-xl-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-xl-1,
+  .my-xl-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-xl-1,
+  .mx-xl-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-xl-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-xl-2,
+  .my-xl-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-xl-2,
+  .mx-xl-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-xl-2,
+  .my-xl-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-xl-2,
+  .mx-xl-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-xl-3 {
+    margin: 1rem !important;
+  }
+  .mt-xl-3,
+  .my-xl-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-xl-3,
+  .mx-xl-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-xl-3,
+  .my-xl-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-xl-3,
+  .mx-xl-3 {
+    margin-left: 1rem !important;
+  }
+  .m-xl-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-xl-4,
+  .my-xl-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-xl-4,
+  .mx-xl-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-xl-4,
+  .my-xl-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-xl-4,
+  .mx-xl-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-xl-5 {
+    margin: 3rem !important;
+  }
+  .mt-xl-5,
+  .my-xl-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-xl-5,
+  .mx-xl-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-xl-5,
+  .my-xl-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-xl-5,
+  .mx-xl-5 {
+    margin-left: 3rem !important;
+  }
+  .p-xl-0 {
+    padding: 0 !important;
+  }
+  .pt-xl-0,
+  .py-xl-0 {
+    padding-top: 0 !important;
+  }
+  .pr-xl-0,
+  .px-xl-0 {
+    padding-right: 0 !important;
+  }
+  .pb-xl-0,
+  .py-xl-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-xl-0,
+  .px-xl-0 {
+    padding-left: 0 !important;
+  }
+  .p-xl-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-xl-1,
+  .py-xl-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-xl-1,
+  .px-xl-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-xl-1,
+  .py-xl-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-xl-1,
+  .px-xl-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-xl-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-xl-2,
+  .py-xl-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-xl-2,
+  .px-xl-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-xl-2,
+  .py-xl-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-xl-2,
+  .px-xl-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-xl-3 {
+    padding: 1rem !important;
+  }
+  .pt-xl-3,
+  .py-xl-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-xl-3,
+  .px-xl-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-xl-3,
+  .py-xl-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-xl-3,
+  .px-xl-3 {
+    padding-left: 1rem !important;
+  }
+  .p-xl-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-xl-4,
+  .py-xl-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-xl-4,
+  .px-xl-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-xl-4,
+  .py-xl-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-xl-4,
+  .px-xl-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-xl-5 {
+    padding: 3rem !important;
+  }
+  .pt-xl-5,
+  .py-xl-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-xl-5,
+  .px-xl-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-xl-5,
+  .py-xl-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-xl-5,
+  .px-xl-5 {
+    padding-left: 3rem !important;
+  }
+  .m-xl-n1 {
+    margin: -0.25rem !important;
+  }
+  .mt-xl-n1,
+  .my-xl-n1 {
+    margin-top: -0.25rem !important;
+  }
+  .mr-xl-n1,
+  .mx-xl-n1 {
+    margin-right: -0.25rem !important;
+  }
+  .mb-xl-n1,
+  .my-xl-n1 {
+    margin-bottom: -0.25rem !important;
+  }
+  .ml-xl-n1,
+  .mx-xl-n1 {
+    margin-left: -0.25rem !important;
+  }
+  .m-xl-n2 {
+    margin: -0.5rem !important;
+  }
+  .mt-xl-n2,
+  .my-xl-n2 {
+    margin-top: -0.5rem !important;
+  }
+  .mr-xl-n2,
+  .mx-xl-n2 {
+    margin-right: -0.5rem !important;
+  }
+  .mb-xl-n2,
+  .my-xl-n2 {
+    margin-bottom: -0.5rem !important;
+  }
+  .ml-xl-n2,
+  .mx-xl-n2 {
+    margin-left: -0.5rem !important;
+  }
+  .m-xl-n3 {
+    margin: -1rem !important;
+  }
+  .mt-xl-n3,
+  .my-xl-n3 {
+    margin-top: -1rem !important;
+  }
+  .mr-xl-n3,
+  .mx-xl-n3 {
+    margin-right: -1rem !important;
+  }
+  .mb-xl-n3,
+  .my-xl-n3 {
+    margin-bottom: -1rem !important;
+  }
+  .ml-xl-n3,
+  .mx-xl-n3 {
+    margin-left: -1rem !important;
+  }
+  .m-xl-n4 {
+    margin: -1.5rem !important;
+  }
+  .mt-xl-n4,
+  .my-xl-n4 {
+    margin-top: -1.5rem !important;
+  }
+  .mr-xl-n4,
+  .mx-xl-n4 {
+    margin-right: -1.5rem !important;
+  }
+  .mb-xl-n4,
+  .my-xl-n4 {
+    margin-bottom: -1.5rem !important;
+  }
+  .ml-xl-n4,
+  .mx-xl-n4 {
+    margin-left: -1.5rem !important;
+  }
+  .m-xl-n5 {
+    margin: -3rem !important;
+  }
+  .mt-xl-n5,
+  .my-xl-n5 {
+    margin-top: -3rem !important;
+  }
+  .mr-xl-n5,
+  .mx-xl-n5 {
+    margin-right: -3rem !important;
+  }
+  .mb-xl-n5,
+  .my-xl-n5 {
+    margin-bottom: -3rem !important;
+  }
+  .ml-xl-n5,
+  .mx-xl-n5 {
+    margin-left: -3rem !important;
+  }
+  .m-xl-auto {
+    margin: auto !important;
+  }
+  .mt-xl-auto,
+  .my-xl-auto {
+    margin-top: auto !important;
+  }
+  .mr-xl-auto,
+  .mx-xl-auto {
+    margin-right: auto !important;
+  }
+  .mb-xl-auto,
+  .my-xl-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-xl-auto,
+  .mx-xl-auto {
+    margin-left: auto !important;
+  }
+}
+/*# sourceMappingURL=bootstrap-grid.css.map */

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/css/bootstrap-grid.css.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 5 - 0
resources/bootstrap/css/bootstrap-grid.min.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/css/bootstrap-grid.min.css.map


+ 331 - 0
resources/bootstrap/css/bootstrap-reboot.css

@@ -0,0 +1,331 @@
+/*!
+ * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 The Bootstrap Authors
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
+ */
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
+
+html {
+  font-family: sans-serif;
+  line-height: 1.15;
+  -webkit-text-size-adjust: 100%;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
+  display: block;
+}
+
+body {
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  text-align: left;
+  background-color: #fff;
+}
+
+[tabindex="-1"]:focus {
+  outline: 0 !important;
+}
+
+hr {
+  box-sizing: content-box;
+  height: 0;
+  overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+}
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+  text-decoration: underline;
+  -webkit-text-decoration: underline dotted;
+  text-decoration: underline dotted;
+  cursor: help;
+  border-bottom: 0;
+  -webkit-text-decoration-skip-ink: none;
+  text-decoration-skip-ink: none;
+}
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0;
+}
+
+dt {
+  font-weight: 700;
+}
+
+dd {
+  margin-bottom: .5rem;
+  margin-left: 0;
+}
+
+blockquote {
+  margin: 0 0 1rem;
+}
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+small {
+  font-size: 80%;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -.25em;
+}
+
+sup {
+  top: -.5em;
+}
+
+a {
+  color: #007bff;
+  text-decoration: none;
+  background-color: transparent;
+}
+
+a:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+a:not([href]):not([tabindex]) {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus {
+  outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  font-size: 1em;
+}
+
+pre {
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+}
+
+figure {
+  margin: 0 0 1rem;
+}
+
+img {
+  vertical-align: middle;
+  border-style: none;
+}
+
+svg {
+  overflow: hidden;
+  vertical-align: middle;
+}
+
+table {
+  border-collapse: collapse;
+}
+
+caption {
+  padding-top: 0.75rem;
+  padding-bottom: 0.75rem;
+  color: #6c757d;
+  text-align: left;
+  caption-side: bottom;
+}
+
+th {
+  text-align: inherit;
+}
+
+label {
+  display: inline-block;
+  margin-bottom: 0.5rem;
+}
+
+button {
+  border-radius: 0;
+}
+
+button:focus {
+  outline: 1px dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+
+button,
+input {
+  overflow: visible;
+}
+
+button,
+select {
+  text-transform: none;
+}
+
+select {
+  word-wrap: normal;
+}
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+button:not(:disabled),
+[type="button"]:not(:disabled),
+[type="reset"]:not(:disabled),
+[type="submit"]:not(:disabled) {
+  cursor: pointer;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  padding: 0;
+  border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+  box-sizing: border-box;
+  padding: 0;
+}
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  -webkit-appearance: listbox;
+}
+
+textarea {
+  overflow: auto;
+  resize: vertical;
+}
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+  padding: 0;
+  margin-bottom: .5rem;
+  font-size: 1.5rem;
+  line-height: inherit;
+  color: inherit;
+  white-space: normal;
+}
+
+progress {
+  vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+[type="search"] {
+  outline-offset: -2px;
+  -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+  font: inherit;
+  -webkit-appearance: button;
+}
+
+output {
+  display: inline-block;
+}
+
+summary {
+  display: list-item;
+  cursor: pointer;
+}
+
+template {
+  display: none;
+}
+
+[hidden] {
+  display: none !important;
+}
+/*# sourceMappingURL=bootstrap-reboot.css.map */

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/css/bootstrap-reboot.css.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 6 - 0
resources/bootstrap/css/bootstrap-reboot.min.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/css/bootstrap-reboot.min.css.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 5908 - 4776
resources/bootstrap/css/bootstrap.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/css/bootstrap.css.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 2
resources/bootstrap/css/bootstrap.min.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/css/bootstrap.min.css.map


BIN
resources/bootstrap/fonts/glyphicons-halflings-regular.eot


+ 0 - 288
resources/bootstrap/fonts/glyphicons-halflings-regular.svg

@@ -1,288 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="400" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
-<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
-<glyph unicode="&#x2000;" horiz-adv-x="650" />
-<glyph unicode="&#x2001;" horiz-adv-x="1300" />
-<glyph unicode="&#x2002;" horiz-adv-x="650" />
-<glyph unicode="&#x2003;" horiz-adv-x="1300" />
-<glyph unicode="&#x2004;" horiz-adv-x="433" />
-<glyph unicode="&#x2005;" horiz-adv-x="325" />
-<glyph unicode="&#x2006;" horiz-adv-x="216" />
-<glyph unicode="&#x2007;" horiz-adv-x="216" />
-<glyph unicode="&#x2008;" horiz-adv-x="162" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="325" />
-<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
-<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
-<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
-<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
-<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
-<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
-<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
-<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
-<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
-<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
-<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
-<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
-<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
-<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
-<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
-<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
-<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
-<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
-<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
-<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
-<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
-<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
-<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
-<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
-<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
-<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
-<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
-<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
-<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
-<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
-<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
-<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
-<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
-<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
-<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
-<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
-<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
-<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
-<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
-<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
-<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
-<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
-<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
-<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
-<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
-<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
-<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
-<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
-<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
-<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
-<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
-<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
-<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
-<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
-<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
-<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
-<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
-<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
-<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
-<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
-<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
-<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
-<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
-<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
-<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
-<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
-<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
-<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
-<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
-<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
-<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
-<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
-<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
-<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
-<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
-<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
-<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
-<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
-<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
-<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
-<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
-<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
-<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
-<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
-<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
-<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
-<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
-<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
-<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
-<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
-<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
-<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
-<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
-<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
-<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
-<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
-<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
-<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
-<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
-<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
-<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
-<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
-<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
-<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
-<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
-<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
-<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
-<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
-<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
-<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
-<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
-<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
-<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
-<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
-<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
-<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
-<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
-<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
-<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
-<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
-<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
-<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
-<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
-<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
-<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
-<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
-<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
-<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
-<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
-<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
-<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
-<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
-<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
-<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
-<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
-<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
-<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
-<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
-<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
-<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
-<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
-<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
-<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
-<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
-<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
-<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
-<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
-<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
-<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
-<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
-<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
-<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
-<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
-<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
-<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
-<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
-<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
-<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
-<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
-<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
-<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
-<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
-<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
-<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
-<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
-<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
-<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
-<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
-<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
-</font>
-</defs></svg> 

BIN
resources/bootstrap/fonts/glyphicons-halflings-regular.ttf


BIN
resources/bootstrap/fonts/glyphicons-halflings-regular.woff


BIN
resources/bootstrap/fonts/glyphicons-halflings-regular.woff2


+ 0 - 1040
resources/bootstrap/glyphicons.json

@@ -1,1040 +0,0 @@
-{
-   "icons":[
-      {
-         "id":"glyphicon-asterisk",
-         "unicode":"2a"
-      },
-      {
-         "id":"glyphicon-plus",
-         "unicode":"2b"
-      },
-      {
-         "id":"glyphicon-eur",
-         "unicode":"20ac"
-      },
-      {
-         "id":"glyphicon-euro",
-         "unicode":"20ac"
-      },
-      {
-         "id":"glyphicon-minus",
-         "unicode":"2212"
-      },
-      {
-         "id":"glyphicon-cloud",
-         "unicode":"2601"
-      },
-      {
-         "id":"glyphicon-envelope",
-         "unicode":"2709"
-      },
-      {
-         "id":"glyphicon-pencil",
-         "unicode":"270f"
-      },
-      {
-         "id":"glyphicon-glass",
-         "unicode":"e001"
-      },
-      {
-         "id":"glyphicon-music",
-         "unicode":"e002"
-      },
-      {
-         "id":"glyphicon-search",
-         "unicode":"e003"
-      },
-      {
-         "id":"glyphicon-heart",
-         "unicode":"e005"
-      },
-      {
-         "id":"glyphicon-star",
-         "unicode":"e006"
-      },
-      {
-         "id":"glyphicon-star-empty",
-         "unicode":"e007"
-      },
-      {
-         "id":"glyphicon-user",
-         "unicode":"e008"
-      },
-      {
-         "id":"glyphicon-film",
-         "unicode":"e009"
-      },
-      {
-         "id":"glyphicon-th-large",
-         "unicode":"e010"
-      },
-      {
-         "id":"glyphicon-th",
-         "unicode":"e011"
-      },
-      {
-         "id":"glyphicon-th-list",
-         "unicode":"e012"
-      },
-      {
-         "id":"glyphicon-ok",
-         "unicode":"e013"
-      },
-      {
-         "id":"glyphicon-remove",
-         "unicode":"e014"
-      },
-      {
-         "id":"glyphicon-zoom-in",
-         "unicode":"e015"
-      },
-      {
-         "id":"glyphicon-zoom-out",
-         "unicode":"e016"
-      },
-      {
-         "id":"glyphicon-off",
-         "unicode":"e017"
-      },
-      {
-         "id":"glyphicon-signal",
-         "unicode":"e018"
-      },
-      {
-         "id":"glyphicon-cog",
-         "unicode":"e019"
-      },
-      {
-         "id":"glyphicon-trash",
-         "unicode":"e020"
-      },
-      {
-         "id":"glyphicon-home",
-         "unicode":"e021"
-      },
-      {
-         "id":"glyphicon-file",
-         "unicode":"e022"
-      },
-      {
-         "id":"glyphicon-time",
-         "unicode":"e023"
-      },
-      {
-         "id":"glyphicon-road",
-         "unicode":"e024"
-      },
-      {
-         "id":"glyphicon-download-alt",
-         "unicode":"e025"
-      },
-      {
-         "id":"glyphicon-download",
-         "unicode":"e026"
-      },
-      {
-         "id":"glyphicon-upload",
-         "unicode":"e027"
-      },
-      {
-         "id":"glyphicon-inbox",
-         "unicode":"e028"
-      },
-      {
-         "id":"glyphicon-play-circle",
-         "unicode":"e029"
-      },
-      {
-         "id":"glyphicon-repeat",
-         "unicode":"e030"
-      },
-      {
-         "id":"glyphicon-refresh",
-         "unicode":"e031"
-      },
-      {
-         "id":"glyphicon-list-alt",
-         "unicode":"e032"
-      },
-      {
-         "id":"glyphicon-lock",
-         "unicode":"e033"
-      },
-      {
-         "id":"glyphicon-flag",
-         "unicode":"e034"
-      },
-      {
-         "id":"glyphicon-headphones",
-         "unicode":"e035"
-      },
-      {
-         "id":"glyphicon-volume-off",
-         "unicode":"e036"
-      },
-      {
-         "id":"glyphicon-volume-down",
-         "unicode":"e037"
-      },
-      {
-         "id":"glyphicon-volume-up",
-         "unicode":"e038"
-      },
-      {
-         "id":"glyphicon-qrcode",
-         "unicode":"e039"
-      },
-      {
-         "id":"glyphicon-barcode",
-         "unicode":"e040"
-      },
-      {
-         "id":"glyphicon-tag",
-         "unicode":"e041"
-      },
-      {
-         "id":"glyphicon-tags",
-         "unicode":"e042"
-      },
-      {
-         "id":"glyphicon-book",
-         "unicode":"e043"
-      },
-      {
-         "id":"glyphicon-bookmark",
-         "unicode":"e044"
-      },
-      {
-         "id":"glyphicon-print",
-         "unicode":"e045"
-      },
-      {
-         "id":"glyphicon-camera",
-         "unicode":"e046"
-      },
-      {
-         "id":"glyphicon-font",
-         "unicode":"e047"
-      },
-      {
-         "id":"glyphicon-bold",
-         "unicode":"e048"
-      },
-      {
-         "id":"glyphicon-italic",
-         "unicode":"e049"
-      },
-      {
-         "id":"glyphicon-text-height",
-         "unicode":"e050"
-      },
-      {
-         "id":"glyphicon-text-width",
-         "unicode":"e051"
-      },
-      {
-         "id":"glyphicon-align-left",
-         "unicode":"e052"
-      },
-      {
-         "id":"glyphicon-align-center",
-         "unicode":"e053"
-      },
-      {
-         "id":"glyphicon-align-right",
-         "unicode":"e054"
-      },
-      {
-         "id":"glyphicon-align-justify",
-         "unicode":"e055"
-      },
-      {
-         "id":"glyphicon-list",
-         "unicode":"e056"
-      },
-      {
-         "id":"glyphicon-indent-left",
-         "unicode":"e057"
-      },
-      {
-         "id":"glyphicon-indent-right",
-         "unicode":"e058"
-      },
-      {
-         "id":"glyphicon-facetime-video",
-         "unicode":"e059"
-      },
-      {
-         "id":"glyphicon-picture",
-         "unicode":"e060"
-      },
-      {
-         "id":"glyphicon-map-marker",
-         "unicode":"e062"
-      },
-      {
-         "id":"glyphicon-adjust",
-         "unicode":"e063"
-      },
-      {
-         "id":"glyphicon-tint",
-         "unicode":"e064"
-      },
-      {
-         "id":"glyphicon-edit",
-         "unicode":"e065"
-      },
-      {
-         "id":"glyphicon-share",
-         "unicode":"e066"
-      },
-      {
-         "id":"glyphicon-check",
-         "unicode":"e067"
-      },
-      {
-         "id":"glyphicon-move",
-         "unicode":"e068"
-      },
-      {
-         "id":"glyphicon-step-backward",
-         "unicode":"e069"
-      },
-      {
-         "id":"glyphicon-fast-backward",
-         "unicode":"e070"
-      },
-      {
-         "id":"glyphicon-backward",
-         "unicode":"e071"
-      },
-      {
-         "id":"glyphicon-play",
-         "unicode":"e072"
-      },
-      {
-         "id":"glyphicon-pause",
-         "unicode":"e073"
-      },
-      {
-         "id":"glyphicon-stop",
-         "unicode":"e074"
-      },
-      {
-         "id":"glyphicon-forward",
-         "unicode":"e075"
-      },
-      {
-         "id":"glyphicon-fast-forward",
-         "unicode":"e076"
-      },
-      {
-         "id":"glyphicon-step-forward",
-         "unicode":"e077"
-      },
-      {
-         "id":"glyphicon-eject",
-         "unicode":"e078"
-      },
-      {
-         "id":"glyphicon-chevron-left",
-         "unicode":"e079"
-      },
-      {
-         "id":"glyphicon-chevron-right",
-         "unicode":"e080"
-      },
-      {
-         "id":"glyphicon-plus-sign",
-         "unicode":"e081"
-      },
-      {
-         "id":"glyphicon-minus-sign",
-         "unicode":"e082"
-      },
-      {
-         "id":"glyphicon-remove-sign",
-         "unicode":"e083"
-      },
-      {
-         "id":"glyphicon-ok-sign",
-         "unicode":"e084"
-      },
-      {
-         "id":"glyphicon-question-sign",
-         "unicode":"e085"
-      },
-      {
-         "id":"glyphicon-info-sign",
-         "unicode":"e086"
-      },
-      {
-         "id":"glyphicon-screenshot",
-         "unicode":"e087"
-      },
-      {
-         "id":"glyphicon-remove-circle",
-         "unicode":"e088"
-      },
-      {
-         "id":"glyphicon-ok-circle",
-         "unicode":"e089"
-      },
-      {
-         "id":"glyphicon-ban-circle",
-         "unicode":"e090"
-      },
-      {
-         "id":"glyphicon-arrow-left",
-         "unicode":"e091"
-      },
-      {
-         "id":"glyphicon-arrow-right",
-         "unicode":"e092"
-      },
-      {
-         "id":"glyphicon-arrow-up",
-         "unicode":"e093"
-      },
-      {
-         "id":"glyphicon-arrow-down",
-         "unicode":"e094"
-      },
-      {
-         "id":"glyphicon-share-alt",
-         "unicode":"e095"
-      },
-      {
-         "id":"glyphicon-resize-full",
-         "unicode":"e096"
-      },
-      {
-         "id":"glyphicon-resize-small",
-         "unicode":"e097"
-      },
-      {
-         "id":"glyphicon-exclamation-sign",
-         "unicode":"e101"
-      },
-      {
-         "id":"glyphicon-gift",
-         "unicode":"e102"
-      },
-      {
-         "id":"glyphicon-leaf",
-         "unicode":"e103"
-      },
-      {
-         "id":"glyphicon-fire",
-         "unicode":"e104"
-      },
-      {
-         "id":"glyphicon-eye-open",
-         "unicode":"e105"
-      },
-      {
-         "id":"glyphicon-eye-close",
-         "unicode":"e106"
-      },
-      {
-         "id":"glyphicon-warning-sign",
-         "unicode":"e107"
-      },
-      {
-         "id":"glyphicon-plane",
-         "unicode":"e108"
-      },
-      {
-         "id":"glyphicon-calendar",
-         "unicode":"e109"
-      },
-      {
-         "id":"glyphicon-random",
-         "unicode":"e110"
-      },
-      {
-         "id":"glyphicon-comment",
-         "unicode":"e111"
-      },
-      {
-         "id":"glyphicon-magnet",
-         "unicode":"e112"
-      },
-      {
-         "id":"glyphicon-chevron-up",
-         "unicode":"e113"
-      },
-      {
-         "id":"glyphicon-chevron-down",
-         "unicode":"e114"
-      },
-      {
-         "id":"glyphicon-retweet",
-         "unicode":"e115"
-      },
-      {
-         "id":"glyphicon-shopping-cart",
-         "unicode":"e116"
-      },
-      {
-         "id":"glyphicon-folder-close",
-         "unicode":"e117"
-      },
-      {
-         "id":"glyphicon-folder-open",
-         "unicode":"e118"
-      },
-      {
-         "id":"glyphicon-resize-vertical",
-         "unicode":"e119"
-      },
-      {
-         "id":"glyphicon-resize-horizontal",
-         "unicode":"e120"
-      },
-      {
-         "id":"glyphicon-hdd",
-         "unicode":"e121"
-      },
-      {
-         "id":"glyphicon-bullhorn",
-         "unicode":"e122"
-      },
-      {
-         "id":"glyphicon-bell",
-         "unicode":"e123"
-      },
-      {
-         "id":"glyphicon-certificate",
-         "unicode":"e124"
-      },
-      {
-         "id":"glyphicon-thumbs-up",
-         "unicode":"e125"
-      },
-      {
-         "id":"glyphicon-thumbs-down",
-         "unicode":"e126"
-      },
-      {
-         "id":"glyphicon-hand-right",
-         "unicode":"e127"
-      },
-      {
-         "id":"glyphicon-hand-left",
-         "unicode":"e128"
-      },
-      {
-         "id":"glyphicon-hand-up",
-         "unicode":"e129"
-      },
-      {
-         "id":"glyphicon-hand-down",
-         "unicode":"e130"
-      },
-      {
-         "id":"glyphicon-circle-arrow-right",
-         "unicode":"e131"
-      },
-      {
-         "id":"glyphicon-circle-arrow-left",
-         "unicode":"e132"
-      },
-      {
-         "id":"glyphicon-circle-arrow-up",
-         "unicode":"e133"
-      },
-      {
-         "id":"glyphicon-circle-arrow-down",
-         "unicode":"e134"
-      },
-      {
-         "id":"glyphicon-globe",
-         "unicode":"e135"
-      },
-      {
-         "id":"glyphicon-wrench",
-         "unicode":"e136"
-      },
-      {
-         "id":"glyphicon-tasks",
-         "unicode":"e137"
-      },
-      {
-         "id":"glyphicon-filter",
-         "unicode":"e138"
-      },
-      {
-         "id":"glyphicon-briefcase",
-         "unicode":"e139"
-      },
-      {
-         "id":"glyphicon-fullscreen",
-         "unicode":"e140"
-      },
-      {
-         "id":"glyphicon-dashboard",
-         "unicode":"e141"
-      },
-      {
-         "id":"glyphicon-paperclip",
-         "unicode":"e142"
-      },
-      {
-         "id":"glyphicon-heart-empty",
-         "unicode":"e143"
-      },
-      {
-         "id":"glyphicon-link",
-         "unicode":"e144"
-      },
-      {
-         "id":"glyphicon-phone",
-         "unicode":"e145"
-      },
-      {
-         "id":"glyphicon-pushpin",
-         "unicode":"e146"
-      },
-      {
-         "id":"glyphicon-usd",
-         "unicode":"e148"
-      },
-      {
-         "id":"glyphicon-gbp",
-         "unicode":"e149"
-      },
-      {
-         "id":"glyphicon-sort",
-         "unicode":"e150"
-      },
-      {
-         "id":"glyphicon-sort-by-alphabet",
-         "unicode":"e151"
-      },
-      {
-         "id":"glyphicon-sort-by-alphabet-alt",
-         "unicode":"e152"
-      },
-      {
-         "id":"glyphicon-sort-by-order",
-         "unicode":"e153"
-      },
-      {
-         "id":"glyphicon-sort-by-order-alt",
-         "unicode":"e154"
-      },
-      {
-         "id":"glyphicon-sort-by-attributes",
-         "unicode":"e155"
-      },
-      {
-         "id":"glyphicon-sort-by-attributes-alt",
-         "unicode":"e156"
-      },
-      {
-         "id":"glyphicon-unchecked",
-         "unicode":"e157"
-      },
-      {
-         "id":"glyphicon-expand",
-         "unicode":"e158"
-      },
-      {
-         "id":"glyphicon-collapse-down",
-         "unicode":"e159"
-      },
-      {
-         "id":"glyphicon-collapse-up",
-         "unicode":"e160"
-      },
-      {
-         "id":"glyphicon-log-in",
-         "unicode":"e161"
-      },
-      {
-         "id":"glyphicon-flash",
-         "unicode":"e162"
-      },
-      {
-         "id":"glyphicon-log-out",
-         "unicode":"e163"
-      },
-      {
-         "id":"glyphicon-new-window",
-         "unicode":"e164"
-      },
-      {
-         "id":"glyphicon-record",
-         "unicode":"e165"
-      },
-      {
-         "id":"glyphicon-save",
-         "unicode":"e166"
-      },
-      {
-         "id":"glyphicon-open",
-         "unicode":"e167"
-      },
-      {
-         "id":"glyphicon-saved",
-         "unicode":"e168"
-      },
-      {
-         "id":"glyphicon-import",
-         "unicode":"e169"
-      },
-      {
-         "id":"glyphicon-export",
-         "unicode":"e170"
-      },
-      {
-         "id":"glyphicon-send",
-         "unicode":"e171"
-      },
-      {
-         "id":"glyphicon-floppy-disk",
-         "unicode":"e172"
-      },
-      {
-         "id":"glyphicon-floppy-saved",
-         "unicode":"e173"
-      },
-      {
-         "id":"glyphicon-floppy-remove",
-         "unicode":"e174"
-      },
-      {
-         "id":"glyphicon-floppy-save",
-         "unicode":"e175"
-      },
-      {
-         "id":"glyphicon-floppy-open",
-         "unicode":"e176"
-      },
-      {
-         "id":"glyphicon-credit-card",
-         "unicode":"e177"
-      },
-      {
-         "id":"glyphicon-transfer",
-         "unicode":"e178"
-      },
-      {
-         "id":"glyphicon-cutlery",
-         "unicode":"e179"
-      },
-      {
-         "id":"glyphicon-header",
-         "unicode":"e180"
-      },
-      {
-         "id":"glyphicon-compressed",
-         "unicode":"e181"
-      },
-      {
-         "id":"glyphicon-earphone",
-         "unicode":"e182"
-      },
-      {
-         "id":"glyphicon-phone-alt",
-         "unicode":"e183"
-      },
-      {
-         "id":"glyphicon-tower",
-         "unicode":"e184"
-      },
-      {
-         "id":"glyphicon-stats",
-         "unicode":"e185"
-      },
-      {
-         "id":"glyphicon-sd-video",
-         "unicode":"e186"
-      },
-      {
-         "id":"glyphicon-hd-video",
-         "unicode":"e187"
-      },
-      {
-         "id":"glyphicon-subtitles",
-         "unicode":"e188"
-      },
-      {
-         "id":"glyphicon-sound-stereo",
-         "unicode":"e189"
-      },
-      {
-         "id":"glyphicon-sound-dolby",
-         "unicode":"e190"
-      },
-      {
-         "id":"glyphicon-sound-5-1",
-         "unicode":"e191"
-      },
-      {
-         "id":"glyphicon-sound-6-1",
-         "unicode":"e192"
-      },
-      {
-         "id":"glyphicon-sound-7-1",
-         "unicode":"e193"
-      },
-      {
-         "id":"glyphicon-copyright-mark",
-         "unicode":"e194"
-      },
-      {
-         "id":"glyphicon-registration-mark",
-         "unicode":"e195"
-      },
-      {
-         "id":"glyphicon-cloud-download",
-         "unicode":"e197"
-      },
-      {
-         "id":"glyphicon-cloud-upload",
-         "unicode":"e198"
-      },
-      {
-         "id":"glyphicon-tree-conifer",
-         "unicode":"e199"
-      },
-      {
-         "id":"glyphicon-tree-deciduous",
-         "unicode":"e200"
-      },
-      {
-         "id":"glyphicon-cd",
-         "unicode":"e201"
-      },
-      {
-         "id":"glyphicon-save-file",
-         "unicode":"e202"
-      },
-      {
-         "id":"glyphicon-open-file",
-         "unicode":"e203"
-      },
-      {
-         "id":"glyphicon-level-up",
-         "unicode":"e204"
-      },
-      {
-         "id":"glyphicon-copy",
-         "unicode":"e205"
-      },
-      {
-         "id":"glyphicon-paste",
-         "unicode":"e206"
-      },
-      {
-         "id":"glyphicon-alert",
-         "unicode":"e209"
-      },
-      {
-         "id":"glyphicon-equalizer",
-         "unicode":"e210"
-      },
-      {
-         "id":"glyphicon-king",
-         "unicode":"e211"
-      },
-      {
-         "id":"glyphicon-queen",
-         "unicode":"e212"
-      },
-      {
-         "id":"glyphicon-pawn",
-         "unicode":"e213"
-      },
-      {
-         "id":"glyphicon-bishop",
-         "unicode":"e214"
-      },
-      {
-         "id":"glyphicon-knight",
-         "unicode":"e215"
-      },
-      {
-         "id":"glyphicon-baby-formula",
-         "unicode":"e216"
-      },
-      {
-         "id":"glyphicon-tent",
-         "unicode":"26fa"
-      },
-      {
-         "id":"glyphicon-blackboard",
-         "unicode":"e218"
-      },
-      {
-         "id":"glyphicon-bed",
-         "unicode":"e219"
-      },
-      {
-         "id":"glyphicon-apple",
-         "unicode":"f8ff"
-      },
-      {
-         "id":"glyphicon-erase",
-         "unicode":"e221"
-      },
-      {
-         "id":"glyphicon-hourglass",
-         "unicode":"231b"
-      },
-      {
-         "id":"glyphicon-lamp",
-         "unicode":"e223"
-      },
-      {
-         "id":"glyphicon-duplicate",
-         "unicode":"e224"
-      },
-      {
-         "id":"glyphicon-piggy-bank",
-         "unicode":"e225"
-      },
-      {
-         "id":"glyphicon-scissors",
-         "unicode":"e226"
-      },
-      {
-         "id":"glyphicon-bitcoin",
-         "unicode":"e227"
-      },
-      {
-         "id":"glyphicon-yen",
-         "unicode":"00a5"
-      },
-      {
-         "id":"glyphicon-ruble",
-         "unicode":"20bd"
-      },
-      {
-         "id":"glyphicon-scale",
-         "unicode":"e230"
-      },
-      {
-         "id":"glyphicon-ice-lolly",
-         "unicode":"e231"
-      },
-      {
-         "id":"glyphicon-ice-lolly-tasted",
-         "unicode":"e232"
-      },
-      {
-         "id":"glyphicon-education",
-         "unicode":"e233"
-      },
-      {
-         "id":"glyphicon-option-horizontal",
-         "unicode":"e234"
-      },
-      {
-         "id":"glyphicon-option-vertical",
-         "unicode":"e235"
-      },
-      {
-         "id":"glyphicon-menu-hamburger",
-         "unicode":"e236"
-      },
-      {
-         "id":"glyphicon-modal-window",
-         "unicode":"e237"
-      },
-      {
-         "id":"glyphicon-oil",
-         "unicode":"e238"
-      },
-      {
-         "id":"glyphicon-grain",
-         "unicode":"e239"
-      },
-      {
-         "id":"glyphicon-sunglasses",
-         "unicode":"e240"
-      },
-      {
-         "id":"glyphicon-text-size",
-         "unicode":"e241"
-      },
-      {
-         "id":"glyphicon-text-color",
-         "unicode":"e242"
-      },
-      {
-         "id":"glyphicon-text-background",
-         "unicode":"e243"
-      },
-      {
-         "id":"glyphicon-object-align-top",
-         "unicode":"e244"
-      },
-      {
-         "id":"glyphicon-object-align-bottom",
-         "unicode":"e245"
-      },
-      {
-         "id":"glyphicon-object-align-horizontal",
-         "unicode":"e246"
-      },
-      {
-         "id":"glyphicon-object-align-left",
-         "unicode":"e247"
-      },
-      {
-         "id":"glyphicon-object-align-vertical",
-         "unicode":"e248"
-      },
-      {
-         "id":"glyphicon-object-align-right",
-         "unicode":"e249"
-      },
-      {
-         "id":"glyphicon-triangle-right",
-         "unicode":"e250"
-      },
-      {
-         "id":"glyphicon-triangle-left",
-         "unicode":"e251"
-      },
-      {
-         "id":"glyphicon-triangle-bottom",
-         "unicode":"e252"
-      },
-      {
-         "id":"glyphicon-triangle-top",
-         "unicode":"e253"
-      },
-      {
-         "id":"glyphicon-console",
-         "unicode":"e254"
-      },
-      {
-         "id":"glyphicon-superscript",
-         "unicode":"e255"
-      },
-      {
-         "id":"glyphicon-subscript",
-         "unicode":"e256"
-      },
-      {
-         "id":"glyphicon-menu-left",
-         "unicode":"e257"
-      },
-      {
-         "id":"glyphicon-menu-right",
-         "unicode":"e258"
-      },
-      {
-         "id":"glyphicon-menu-down",
-         "unicode":"e259"
-      },
-      {
-         "id":"glyphicon-menu-up",
-         "unicode":"e260"
-      }
-   ]
-}

+ 7013 - 0
resources/bootstrap/js/bootstrap.bundle.js

@@ -0,0 +1,7013 @@
+/*!
+  * Bootstrap v4.3.1 (https://getbootstrap.com/)
+  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+  */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
+  typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
+  (global = global || self, factory(global.bootstrap = {}, global.jQuery));
+}(this, function (exports, $) { 'use strict';
+
+  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+
+  function _defineProperties(target, props) {
+    for (var i = 0; i < props.length; i++) {
+      var descriptor = props[i];
+      descriptor.enumerable = descriptor.enumerable || false;
+      descriptor.configurable = true;
+      if ("value" in descriptor) descriptor.writable = true;
+      Object.defineProperty(target, descriptor.key, descriptor);
+    }
+  }
+
+  function _createClass(Constructor, protoProps, staticProps) {
+    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+    if (staticProps) _defineProperties(Constructor, staticProps);
+    return Constructor;
+  }
+
+  function _defineProperty(obj, key, value) {
+    if (key in obj) {
+      Object.defineProperty(obj, key, {
+        value: value,
+        enumerable: true,
+        configurable: true,
+        writable: true
+      });
+    } else {
+      obj[key] = value;
+    }
+
+    return obj;
+  }
+
+  function _objectSpread(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i] != null ? arguments[i] : {};
+      var ownKeys = Object.keys(source);
+
+      if (typeof Object.getOwnPropertySymbols === 'function') {
+        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
+          return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+        }));
+      }
+
+      ownKeys.forEach(function (key) {
+        _defineProperty(target, key, source[key]);
+      });
+    }
+
+    return target;
+  }
+
+  function _inheritsLoose(subClass, superClass) {
+    subClass.prototype = Object.create(superClass.prototype);
+    subClass.prototype.constructor = subClass;
+    subClass.__proto__ = superClass;
+  }
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap (v4.3.1): util.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+  /**
+   * ------------------------------------------------------------------------
+   * Private TransitionEnd Helpers
+   * ------------------------------------------------------------------------
+   */
+
+  var TRANSITION_END = 'transitionend';
+  var MAX_UID = 1000000;
+  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
+
+  function toType(obj) {
+    return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
+  }
+
+  function getSpecialTransitionEndEvent() {
+    return {
+      bindType: TRANSITION_END,
+      delegateType: TRANSITION_END,
+      handle: function handle(event) {
+        if ($(event.target).is(this)) {
+          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+        }
+
+        return undefined; // eslint-disable-line no-undefined
+      }
+    };
+  }
+
+  function transitionEndEmulator(duration) {
+    var _this = this;
+
+    var called = false;
+    $(this).one(Util.TRANSITION_END, function () {
+      called = true;
+    });
+    setTimeout(function () {
+      if (!called) {
+        Util.triggerTransitionEnd(_this);
+      }
+    }, duration);
+    return this;
+  }
+
+  function setTransitionEndSupport() {
+    $.fn.emulateTransitionEnd = transitionEndEmulator;
+    $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+  }
+  /**
+   * --------------------------------------------------------------------------
+   * Public Util Api
+   * --------------------------------------------------------------------------
+   */
+
+
+  var Util = {
+    TRANSITION_END: 'bsTransitionEnd',
+    getUID: function getUID(prefix) {
+      do {
+        // eslint-disable-next-line no-bitwise
+        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+      } while (document.getElementById(prefix));
+
+      return prefix;
+    },
+    getSelectorFromElement: function getSelectorFromElement(element) {
+      var selector = element.getAttribute('data-target');
+
+      if (!selector || selector === '#') {
+        var hrefAttr = element.getAttribute('href');
+        selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
+      }
+
+      try {
+        return document.querySelector(selector) ? selector : null;
+      } catch (err) {
+        return null;
+      }
+    },
+    getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
+      if (!element) {
+        return 0;
+      } // Get transition-duration of the element
+
+
+      var transitionDuration = $(element).css('transition-duration');
+      var transitionDelay = $(element).css('transition-delay');
+      var floatTransitionDuration = parseFloat(transitionDuration);
+      var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
+
+      if (!floatTransitionDuration && !floatTransitionDelay) {
+        return 0;
+      } // If multiple durations are defined, take the first
+
+
+      transitionDuration = transitionDuration.split(',')[0];
+      transitionDelay = transitionDelay.split(',')[0];
+      return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
+    },
+    reflow: function reflow(element) {
+      return element.offsetHeight;
+    },
+    triggerTransitionEnd: function triggerTransitionEnd(element) {
+      $(element).trigger(TRANSITION_END);
+    },
+    // TODO: Remove in v5
+    supportsTransitionEnd: function supportsTransitionEnd() {
+      return Boolean(TRANSITION_END);
+    },
+    isElement: function isElement(obj) {
+      return (obj[0] || obj).nodeType;
+    },
+    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+      for (var property in configTypes) {
+        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
+          var expectedTypes = configTypes[property];
+          var value = config[property];
+          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
+
+          if (!new RegExp(expectedTypes).test(valueType)) {
+            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+          }
+        }
+      }
+    },
+    findShadowRoot: function findShadowRoot(element) {
+      if (!document.documentElement.attachShadow) {
+        return null;
+      } // Can find the shadow root otherwise it'll return the document
+
+
+      if (typeof element.getRootNode === 'function') {
+        var root = element.getRootNode();
+        return root instanceof ShadowRoot ? root : null;
+      }
+
+      if (element instanceof ShadowRoot) {
+        return element;
+      } // when we don't find a shadow root
+
+
+      if (!element.parentNode) {
+        return null;
+      }
+
+      return Util.findShadowRoot(element.parentNode);
+    }
+  };
+  setTransitionEndSupport();
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME = 'alert';
+  var VERSION = '4.3.1';
+  var DATA_KEY = 'bs.alert';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var Selector = {
+    DISMISS: '[data-dismiss="alert"]'
+  };
+  var Event = {
+    CLOSE: "close" + EVENT_KEY,
+    CLOSED: "closed" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    ALERT: 'alert',
+    FADE: 'fade',
+    SHOW: 'show'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Alert =
+  /*#__PURE__*/
+  function () {
+    function Alert(element) {
+      this._element = element;
+    } // Getters
+
+
+    var _proto = Alert.prototype;
+
+    // Public
+    _proto.close = function close(element) {
+      var rootElement = this._element;
+
+      if (element) {
+        rootElement = this._getRootElement(element);
+      }
+
+      var customEvent = this._triggerCloseEvent(rootElement);
+
+      if (customEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._removeElement(rootElement);
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    } // Private
+    ;
+
+    _proto._getRootElement = function _getRootElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      var parent = false;
+
+      if (selector) {
+        parent = document.querySelector(selector);
+      }
+
+      if (!parent) {
+        parent = $(element).closest("." + ClassName.ALERT)[0];
+      }
+
+      return parent;
+    };
+
+    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
+      var closeEvent = $.Event(Event.CLOSE);
+      $(element).trigger(closeEvent);
+      return closeEvent;
+    };
+
+    _proto._removeElement = function _removeElement(element) {
+      var _this = this;
+
+      $(element).removeClass(ClassName.SHOW);
+
+      if (!$(element).hasClass(ClassName.FADE)) {
+        this._destroyElement(element);
+
+        return;
+      }
+
+      var transitionDuration = Util.getTransitionDurationFromElement(element);
+      $(element).one(Util.TRANSITION_END, function (event) {
+        return _this._destroyElement(element, event);
+      }).emulateTransitionEnd(transitionDuration);
+    };
+
+    _proto._destroyElement = function _destroyElement(element) {
+      $(element).detach().trigger(Event.CLOSED).remove();
+    } // Static
+    ;
+
+    Alert._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $element = $(this);
+        var data = $element.data(DATA_KEY);
+
+        if (!data) {
+          data = new Alert(this);
+          $element.data(DATA_KEY, data);
+        }
+
+        if (config === 'close') {
+          data[config](this);
+        }
+      });
+    };
+
+    Alert._handleDismiss = function _handleDismiss(alertInstance) {
+      return function (event) {
+        if (event) {
+          event.preventDefault();
+        }
+
+        alertInstance.close(this);
+      };
+    };
+
+    _createClass(Alert, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+
+    return Alert;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Alert._jQueryInterface;
+  $.fn[NAME].Constructor = Alert;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Alert._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$1 = 'button';
+  var VERSION$1 = '4.3.1';
+  var DATA_KEY$1 = 'bs.button';
+  var EVENT_KEY$1 = "." + DATA_KEY$1;
+  var DATA_API_KEY$1 = '.data-api';
+  var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
+  var ClassName$1 = {
+    ACTIVE: 'active',
+    BUTTON: 'btn',
+    FOCUS: 'focus'
+  };
+  var Selector$1 = {
+    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+    DATA_TOGGLE: '[data-toggle="buttons"]',
+    INPUT: 'input:not([type="hidden"])',
+    ACTIVE: '.active',
+    BUTTON: '.btn'
+  };
+  var Event$1 = {
+    CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
+    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1)
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Button =
+  /*#__PURE__*/
+  function () {
+    function Button(element) {
+      this._element = element;
+    } // Getters
+
+
+    var _proto = Button.prototype;
+
+    // Public
+    _proto.toggle = function toggle() {
+      var triggerChangeEvent = true;
+      var addAriaPressed = true;
+      var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];
+
+      if (rootElement) {
+        var input = this._element.querySelector(Selector$1.INPUT);
+
+        if (input) {
+          if (input.type === 'radio') {
+            if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
+              triggerChangeEvent = false;
+            } else {
+              var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
+
+              if (activeElement) {
+                $(activeElement).removeClass(ClassName$1.ACTIVE);
+              }
+            }
+          }
+
+          if (triggerChangeEvent) {
+            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+              return;
+            }
+
+            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
+            $(input).trigger('change');
+          }
+
+          input.focus();
+          addAriaPressed = false;
+        }
+      }
+
+      if (addAriaPressed) {
+        this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
+      }
+
+      if (triggerChangeEvent) {
+        $(this._element).toggleClass(ClassName$1.ACTIVE);
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$1);
+      this._element = null;
+    } // Static
+    ;
+
+    Button._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$1);
+
+        if (!data) {
+          data = new Button(this);
+          $(this).data(DATA_KEY$1, data);
+        }
+
+        if (config === 'toggle') {
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(Button, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$1;
+      }
+    }]);
+
+    return Button;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+    event.preventDefault();
+    var button = event.target;
+
+    if (!$(button).hasClass(ClassName$1.BUTTON)) {
+      button = $(button).closest(Selector$1.BUTTON);
+    }
+
+    Button._jQueryInterface.call($(button), 'toggle');
+  }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+    var button = $(event.target).closest(Selector$1.BUTTON)[0];
+    $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$1] = Button._jQueryInterface;
+  $.fn[NAME$1].Constructor = Button;
+
+  $.fn[NAME$1].noConflict = function () {
+    $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
+    return Button._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$2 = 'carousel';
+  var VERSION$2 = '4.3.1';
+  var DATA_KEY$2 = 'bs.carousel';
+  var EVENT_KEY$2 = "." + DATA_KEY$2;
+  var DATA_API_KEY$2 = '.data-api';
+  var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
+  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
+  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
+  var SWIPE_THRESHOLD = 40;
+  var Default = {
+    interval: 5000,
+    keyboard: true,
+    slide: false,
+    pause: 'hover',
+    wrap: true,
+    touch: true
+  };
+  var DefaultType = {
+    interval: '(number|boolean)',
+    keyboard: 'boolean',
+    slide: '(boolean|string)',
+    pause: '(string|boolean)',
+    wrap: 'boolean',
+    touch: 'boolean'
+  };
+  var Direction = {
+    NEXT: 'next',
+    PREV: 'prev',
+    LEFT: 'left',
+    RIGHT: 'right'
+  };
+  var Event$2 = {
+    SLIDE: "slide" + EVENT_KEY$2,
+    SLID: "slid" + EVENT_KEY$2,
+    KEYDOWN: "keydown" + EVENT_KEY$2,
+    MOUSEENTER: "mouseenter" + EVENT_KEY$2,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
+    TOUCHSTART: "touchstart" + EVENT_KEY$2,
+    TOUCHMOVE: "touchmove" + EVENT_KEY$2,
+    TOUCHEND: "touchend" + EVENT_KEY$2,
+    POINTERDOWN: "pointerdown" + EVENT_KEY$2,
+    POINTERUP: "pointerup" + EVENT_KEY$2,
+    DRAG_START: "dragstart" + EVENT_KEY$2,
+    LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
+    CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
+  };
+  var ClassName$2 = {
+    CAROUSEL: 'carousel',
+    ACTIVE: 'active',
+    SLIDE: 'slide',
+    RIGHT: 'carousel-item-right',
+    LEFT: 'carousel-item-left',
+    NEXT: 'carousel-item-next',
+    PREV: 'carousel-item-prev',
+    ITEM: 'carousel-item',
+    POINTER_EVENT: 'pointer-event'
+  };
+  var Selector$2 = {
+    ACTIVE: '.active',
+    ACTIVE_ITEM: '.active.carousel-item',
+    ITEM: '.carousel-item',
+    ITEM_IMG: '.carousel-item img',
+    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+    INDICATORS: '.carousel-indicators',
+    DATA_SLIDE: '[data-slide], [data-slide-to]',
+    DATA_RIDE: '[data-ride="carousel"]'
+  };
+  var PointerType = {
+    TOUCH: 'touch',
+    PEN: 'pen'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Carousel =
+  /*#__PURE__*/
+  function () {
+    function Carousel(element, config) {
+      this._items = null;
+      this._interval = null;
+      this._activeElement = null;
+      this._isPaused = false;
+      this._isSliding = false;
+      this.touchTimeout = null;
+      this.touchStartX = 0;
+      this.touchDeltaX = 0;
+      this._config = this._getConfig(config);
+      this._element = element;
+      this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
+      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
+      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
+
+      this._addEventListeners();
+    } // Getters
+
+
+    var _proto = Carousel.prototype;
+
+    // Public
+    _proto.next = function next() {
+      if (!this._isSliding) {
+        this._slide(Direction.NEXT);
+      }
+    };
+
+    _proto.nextWhenVisible = function nextWhenVisible() {
+      // Don't call next when the page isn't visible
+      // or the carousel or its parent isn't visible
+      if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
+        this.next();
+      }
+    };
+
+    _proto.prev = function prev() {
+      if (!this._isSliding) {
+        this._slide(Direction.PREV);
+      }
+    };
+
+    _proto.pause = function pause(event) {
+      if (!event) {
+        this._isPaused = true;
+      }
+
+      if (this._element.querySelector(Selector$2.NEXT_PREV)) {
+        Util.triggerTransitionEnd(this._element);
+        this.cycle(true);
+      }
+
+      clearInterval(this._interval);
+      this._interval = null;
+    };
+
+    _proto.cycle = function cycle(event) {
+      if (!event) {
+        this._isPaused = false;
+      }
+
+      if (this._interval) {
+        clearInterval(this._interval);
+        this._interval = null;
+      }
+
+      if (this._config.interval && !this._isPaused) {
+        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+      }
+    };
+
+    _proto.to = function to(index) {
+      var _this = this;
+
+      this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
+
+      var activeIndex = this._getItemIndex(this._activeElement);
+
+      if (index > this._items.length - 1 || index < 0) {
+        return;
+      }
+
+      if (this._isSliding) {
+        $(this._element).one(Event$2.SLID, function () {
+          return _this.to(index);
+        });
+        return;
+      }
+
+      if (activeIndex === index) {
+        this.pause();
+        this.cycle();
+        return;
+      }
+
+      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
+      this._slide(direction, this._items[index]);
+    };
+
+    _proto.dispose = function dispose() {
+      $(this._element).off(EVENT_KEY$2);
+      $.removeData(this._element, DATA_KEY$2);
+      this._items = null;
+      this._config = null;
+      this._element = null;
+      this._interval = null;
+      this._isPaused = null;
+      this._isSliding = null;
+      this._activeElement = null;
+      this._indicatorsElement = null;
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default, config);
+      Util.typeCheckConfig(NAME$2, config, DefaultType);
+      return config;
+    };
+
+    _proto._handleSwipe = function _handleSwipe() {
+      var absDeltax = Math.abs(this.touchDeltaX);
+
+      if (absDeltax <= SWIPE_THRESHOLD) {
+        return;
+      }
+
+      var direction = absDeltax / this.touchDeltaX; // swipe left
+
+      if (direction > 0) {
+        this.prev();
+      } // swipe right
+
+
+      if (direction < 0) {
+        this.next();
+      }
+    };
+
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this2 = this;
+
+      if (this._config.keyboard) {
+        $(this._element).on(Event$2.KEYDOWN, function (event) {
+          return _this2._keydown(event);
+        });
+      }
+
+      if (this._config.pause === 'hover') {
+        $(this._element).on(Event$2.MOUSEENTER, function (event) {
+          return _this2.pause(event);
+        }).on(Event$2.MOUSELEAVE, function (event) {
+          return _this2.cycle(event);
+        });
+      }
+
+      if (this._config.touch) {
+        this._addTouchEventListeners();
+      }
+    };
+
+    _proto._addTouchEventListeners = function _addTouchEventListeners() {
+      var _this3 = this;
+
+      if (!this._touchSupported) {
+        return;
+      }
+
+      var start = function start(event) {
+        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
+          _this3.touchStartX = event.originalEvent.clientX;
+        } else if (!_this3._pointerEvent) {
+          _this3.touchStartX = event.originalEvent.touches[0].clientX;
+        }
+      };
+
+      var move = function move(event) {
+        // ensure swiping with one touch and not pinching
+        if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
+          _this3.touchDeltaX = 0;
+        } else {
+          _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;
+        }
+      };
+
+      var end = function end(event) {
+        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
+          _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;
+        }
+
+        _this3._handleSwipe();
+
+        if (_this3._config.pause === 'hover') {
+          // If it's a touch-enabled device, mouseenter/leave are fired as
+          // part of the mouse compatibility events on first tap - the carousel
+          // would stop cycling until user tapped out of it;
+          // here, we listen for touchend, explicitly pause the carousel
+          // (as if it's the second time we tap on it, mouseenter compat event
+          // is NOT fired) and after a timeout (to allow for mouse compatibility
+          // events to fire) we explicitly restart cycling
+          _this3.pause();
+
+          if (_this3.touchTimeout) {
+            clearTimeout(_this3.touchTimeout);
+          }
+
+          _this3.touchTimeout = setTimeout(function (event) {
+            return _this3.cycle(event);
+          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
+        }
+      };
+
+      $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
+        return e.preventDefault();
+      });
+
+      if (this._pointerEvent) {
+        $(this._element).on(Event$2.POINTERDOWN, function (event) {
+          return start(event);
+        });
+        $(this._element).on(Event$2.POINTERUP, function (event) {
+          return end(event);
+        });
+
+        this._element.classList.add(ClassName$2.POINTER_EVENT);
+      } else {
+        $(this._element).on(Event$2.TOUCHSTART, function (event) {
+          return start(event);
+        });
+        $(this._element).on(Event$2.TOUCHMOVE, function (event) {
+          return move(event);
+        });
+        $(this._element).on(Event$2.TOUCHEND, function (event) {
+          return end(event);
+        });
+      }
+    };
+
+    _proto._keydown = function _keydown(event) {
+      if (/input|textarea/i.test(event.target.tagName)) {
+        return;
+      }
+
+      switch (event.which) {
+        case ARROW_LEFT_KEYCODE:
+          event.preventDefault();
+          this.prev();
+          break;
+
+        case ARROW_RIGHT_KEYCODE:
+          event.preventDefault();
+          this.next();
+          break;
+
+        default:
+      }
+    };
+
+    _proto._getItemIndex = function _getItemIndex(element) {
+      this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
+      return this._items.indexOf(element);
+    };
+
+    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+      var isNextDirection = direction === Direction.NEXT;
+      var isPrevDirection = direction === Direction.PREV;
+
+      var activeIndex = this._getItemIndex(activeElement);
+
+      var lastItemIndex = this._items.length - 1;
+      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
+      if (isGoingToWrap && !this._config.wrap) {
+        return activeElement;
+      }
+
+      var delta = direction === Direction.PREV ? -1 : 1;
+      var itemIndex = (activeIndex + delta) % this._items.length;
+      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+    };
+
+    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+      var targetIndex = this._getItemIndex(relatedTarget);
+
+      var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
+
+      var slideEvent = $.Event(Event$2.SLIDE, {
+        relatedTarget: relatedTarget,
+        direction: eventDirectionName,
+        from: fromIndex,
+        to: targetIndex
+      });
+      $(this._element).trigger(slideEvent);
+      return slideEvent;
+    };
+
+    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+      if (this._indicatorsElement) {
+        var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
+        $(indicators).removeClass(ClassName$2.ACTIVE);
+
+        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
+        if (nextIndicator) {
+          $(nextIndicator).addClass(ClassName$2.ACTIVE);
+        }
+      }
+    };
+
+    _proto._slide = function _slide(direction, element) {
+      var _this4 = this;
+
+      var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
+
+      var activeElementIndex = this._getItemIndex(activeElement);
+
+      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+
+      var nextElementIndex = this._getItemIndex(nextElement);
+
+      var isCycling = Boolean(this._interval);
+      var directionalClassName;
+      var orderClassName;
+      var eventDirectionName;
+
+      if (direction === Direction.NEXT) {
+        directionalClassName = ClassName$2.LEFT;
+        orderClassName = ClassName$2.NEXT;
+        eventDirectionName = Direction.LEFT;
+      } else {
+        directionalClassName = ClassName$2.RIGHT;
+        orderClassName = ClassName$2.PREV;
+        eventDirectionName = Direction.RIGHT;
+      }
+
+      if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
+        this._isSliding = false;
+        return;
+      }
+
+      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+
+      if (slideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (!activeElement || !nextElement) {
+        // Some weirdness is happening, so we bail
+        return;
+      }
+
+      this._isSliding = true;
+
+      if (isCycling) {
+        this.pause();
+      }
+
+      this._setActiveIndicatorElement(nextElement);
+
+      var slidEvent = $.Event(Event$2.SLID, {
+        relatedTarget: nextElement,
+        direction: eventDirectionName,
+        from: activeElementIndex,
+        to: nextElementIndex
+      });
+
+      if ($(this._element).hasClass(ClassName$2.SLIDE)) {
+        $(nextElement).addClass(orderClassName);
+        Util.reflow(nextElement);
+        $(activeElement).addClass(directionalClassName);
+        $(nextElement).addClass(directionalClassName);
+        var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
+
+        if (nextElementInterval) {
+          this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
+          this._config.interval = nextElementInterval;
+        } else {
+          this._config.interval = this._config.defaultInterval || this._config.interval;
+        }
+
+        var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
+        $(activeElement).one(Util.TRANSITION_END, function () {
+          $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
+          $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
+          _this4._isSliding = false;
+          setTimeout(function () {
+            return $(_this4._element).trigger(slidEvent);
+          }, 0);
+        }).emulateTransitionEnd(transitionDuration);
+      } else {
+        $(activeElement).removeClass(ClassName$2.ACTIVE);
+        $(nextElement).addClass(ClassName$2.ACTIVE);
+        this._isSliding = false;
+        $(this._element).trigger(slidEvent);
+      }
+
+      if (isCycling) {
+        this.cycle();
+      }
+    } // Static
+    ;
+
+    Carousel._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$2);
+
+        var _config = _objectSpread({}, Default, $(this).data());
+
+        if (typeof config === 'object') {
+          _config = _objectSpread({}, _config, config);
+        }
+
+        var action = typeof config === 'string' ? config : _config.slide;
+
+        if (!data) {
+          data = new Carousel(this, _config);
+          $(this).data(DATA_KEY$2, data);
+        }
+
+        if (typeof config === 'number') {
+          data.to(config);
+        } else if (typeof action === 'string') {
+          if (typeof data[action] === 'undefined') {
+            throw new TypeError("No method named \"" + action + "\"");
+          }
+
+          data[action]();
+        } else if (_config.interval && _config.ride) {
+          data.pause();
+          data.cycle();
+        }
+      });
+    };
+
+    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+      var selector = Util.getSelectorFromElement(this);
+
+      if (!selector) {
+        return;
+      }
+
+      var target = $(selector)[0];
+
+      if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
+        return;
+      }
+
+      var config = _objectSpread({}, $(target).data(), $(this).data());
+
+      var slideIndex = this.getAttribute('data-slide-to');
+
+      if (slideIndex) {
+        config.interval = false;
+      }
+
+      Carousel._jQueryInterface.call($(target), config);
+
+      if (slideIndex) {
+        $(target).data(DATA_KEY$2).to(slideIndex);
+      }
+
+      event.preventDefault();
+    };
+
+    _createClass(Carousel, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$2;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+
+    return Carousel;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
+  $(window).on(Event$2.LOAD_DATA_API, function () {
+    var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
+
+    for (var i = 0, len = carousels.length; i < len; i++) {
+      var $carousel = $(carousels[i]);
+
+      Carousel._jQueryInterface.call($carousel, $carousel.data());
+    }
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$2] = Carousel._jQueryInterface;
+  $.fn[NAME$2].Constructor = Carousel;
+
+  $.fn[NAME$2].noConflict = function () {
+    $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
+    return Carousel._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$3 = 'collapse';
+  var VERSION$3 = '4.3.1';
+  var DATA_KEY$3 = 'bs.collapse';
+  var EVENT_KEY$3 = "." + DATA_KEY$3;
+  var DATA_API_KEY$3 = '.data-api';
+  var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];
+  var Default$1 = {
+    toggle: true,
+    parent: ''
+  };
+  var DefaultType$1 = {
+    toggle: 'boolean',
+    parent: '(string|element)'
+  };
+  var Event$3 = {
+    SHOW: "show" + EVENT_KEY$3,
+    SHOWN: "shown" + EVENT_KEY$3,
+    HIDE: "hide" + EVENT_KEY$3,
+    HIDDEN: "hidden" + EVENT_KEY$3,
+    CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
+  };
+  var ClassName$3 = {
+    SHOW: 'show',
+    COLLAPSE: 'collapse',
+    COLLAPSING: 'collapsing',
+    COLLAPSED: 'collapsed'
+  };
+  var Dimension = {
+    WIDTH: 'width',
+    HEIGHT: 'height'
+  };
+  var Selector$3 = {
+    ACTIVES: '.show, .collapsing',
+    DATA_TOGGLE: '[data-toggle="collapse"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Collapse =
+  /*#__PURE__*/
+  function () {
+    function Collapse(element, config) {
+      this._isTransitioning = false;
+      this._element = element;
+      this._config = this._getConfig(config);
+      this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
+      var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
+
+      for (var i = 0, len = toggleList.length; i < len; i++) {
+        var elem = toggleList[i];
+        var selector = Util.getSelectorFromElement(elem);
+        var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
+          return foundElem === element;
+        });
+
+        if (selector !== null && filterElement.length > 0) {
+          this._selector = selector;
+
+          this._triggerArray.push(elem);
+        }
+      }
+
+      this._parent = this._config.parent ? this._getParent() : null;
+
+      if (!this._config.parent) {
+        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+      }
+
+      if (this._config.toggle) {
+        this.toggle();
+      }
+    } // Getters
+
+
+    var _proto = Collapse.prototype;
+
+    // Public
+    _proto.toggle = function toggle() {
+      if ($(this._element).hasClass(ClassName$3.SHOW)) {
+        this.hide();
+      } else {
+        this.show();
+      }
+    };
+
+    _proto.show = function show() {
+      var _this = this;
+
+      if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
+        return;
+      }
+
+      var actives;
+      var activesData;
+
+      if (this._parent) {
+        actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
+          if (typeof _this._config.parent === 'string') {
+            return elem.getAttribute('data-parent') === _this._config.parent;
+          }
+
+          return elem.classList.contains(ClassName$3.COLLAPSE);
+        });
+
+        if (actives.length === 0) {
+          actives = null;
+        }
+      }
+
+      if (actives) {
+        activesData = $(actives).not(this._selector).data(DATA_KEY$3);
+
+        if (activesData && activesData._isTransitioning) {
+          return;
+        }
+      }
+
+      var startEvent = $.Event(Event$3.SHOW);
+      $(this._element).trigger(startEvent);
+
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (actives) {
+        Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
+
+        if (!activesData) {
+          $(actives).data(DATA_KEY$3, null);
+        }
+      }
+
+      var dimension = this._getDimension();
+
+      $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
+      this._element.style[dimension] = 0;
+
+      if (this._triggerArray.length) {
+        $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
+      }
+
+      this.setTransitioning(true);
+
+      var complete = function complete() {
+        $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
+        _this._element.style[dimension] = '';
+
+        _this.setTransitioning(false);
+
+        $(_this._element).trigger(Event$3.SHOWN);
+      };
+
+      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+      var scrollSize = "scroll" + capitalizedDimension;
+      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      this._element.style[dimension] = this._element[scrollSize] + "px";
+    };
+
+    _proto.hide = function hide() {
+      var _this2 = this;
+
+      if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
+        return;
+      }
+
+      var startEvent = $.Event(Event$3.HIDE);
+      $(this._element).trigger(startEvent);
+
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      var dimension = this._getDimension();
+
+      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
+      Util.reflow(this._element);
+      $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
+      var triggerArrayLength = this._triggerArray.length;
+
+      if (triggerArrayLength > 0) {
+        for (var i = 0; i < triggerArrayLength; i++) {
+          var trigger = this._triggerArray[i];
+          var selector = Util.getSelectorFromElement(trigger);
+
+          if (selector !== null) {
+            var $elem = $([].slice.call(document.querySelectorAll(selector)));
+
+            if (!$elem.hasClass(ClassName$3.SHOW)) {
+              $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
+            }
+          }
+        }
+      }
+
+      this.setTransitioning(true);
+
+      var complete = function complete() {
+        _this2.setTransitioning(false);
+
+        $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
+      };
+
+      this._element.style[dimension] = '';
+      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+    };
+
+    _proto.setTransitioning = function setTransitioning(isTransitioning) {
+      this._isTransitioning = isTransitioning;
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$3);
+      this._config = null;
+      this._parent = null;
+      this._element = null;
+      this._triggerArray = null;
+      this._isTransitioning = null;
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$1, config);
+      config.toggle = Boolean(config.toggle); // Coerce string values
+
+      Util.typeCheckConfig(NAME$3, config, DefaultType$1);
+      return config;
+    };
+
+    _proto._getDimension = function _getDimension() {
+      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+    };
+
+    _proto._getParent = function _getParent() {
+      var _this3 = this;
+
+      var parent;
+
+      if (Util.isElement(this._config.parent)) {
+        parent = this._config.parent; // It's a jQuery object
+
+        if (typeof this._config.parent.jquery !== 'undefined') {
+          parent = this._config.parent[0];
+        }
+      } else {
+        parent = document.querySelector(this._config.parent);
+      }
+
+      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
+      var children = [].slice.call(parent.querySelectorAll(selector));
+      $(children).each(function (i, element) {
+        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+      });
+      return parent;
+    };
+
+    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+      var isOpen = $(element).hasClass(ClassName$3.SHOW);
+
+      if (triggerArray.length) {
+        $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+      }
+    } // Static
+    ;
+
+    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      return selector ? document.querySelector(selector) : null;
+    };
+
+    Collapse._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY$3);
+
+        var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
+
+        if (!data && _config.toggle && /show|hide/.test(config)) {
+          _config.toggle = false;
+        }
+
+        if (!data) {
+          data = new Collapse(this, _config);
+          $this.data(DATA_KEY$3, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(Collapse, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$3;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$1;
+      }
+    }]);
+
+    return Collapse;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
+    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+    if (event.currentTarget.tagName === 'A') {
+      event.preventDefault();
+    }
+
+    var $trigger = $(this);
+    var selector = Util.getSelectorFromElement(this);
+    var selectors = [].slice.call(document.querySelectorAll(selector));
+    $(selectors).each(function () {
+      var $target = $(this);
+      var data = $target.data(DATA_KEY$3);
+      var config = data ? 'toggle' : $trigger.data();
+
+      Collapse._jQueryInterface.call($target, config);
+    });
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$3] = Collapse._jQueryInterface;
+  $.fn[NAME$3].Constructor = Collapse;
+
+  $.fn[NAME$3].noConflict = function () {
+    $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
+    return Collapse._jQueryInterface;
+  };
+
+  /**!
+   * @fileOverview Kickass library to create and place poppers near their reference elements.
+   * @version 1.14.7
+   * @license
+   * Copyright (c) 2016 Federico Zivolo and contributors
+   *
+   * Permission is hereby granted, free of charge, to any person obtaining a copy
+   * of this software and associated documentation files (the "Software"), to deal
+   * in the Software without restriction, including without limitation the rights
+   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+   * copies of the Software, and to permit persons to whom the Software is
+   * furnished to do so, subject to the following conditions:
+   *
+   * The above copyright notice and this permission notice shall be included in all
+   * copies or substantial portions of the Software.
+   *
+   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+   * SOFTWARE.
+   */
+  var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
+
+  var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
+  var timeoutDuration = 0;
+  for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
+    if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
+      timeoutDuration = 1;
+      break;
+    }
+  }
+
+  function microtaskDebounce(fn) {
+    var called = false;
+    return function () {
+      if (called) {
+        return;
+      }
+      called = true;
+      window.Promise.resolve().then(function () {
+        called = false;
+        fn();
+      });
+    };
+  }
+
+  function taskDebounce(fn) {
+    var scheduled = false;
+    return function () {
+      if (!scheduled) {
+        scheduled = true;
+        setTimeout(function () {
+          scheduled = false;
+          fn();
+        }, timeoutDuration);
+      }
+    };
+  }
+
+  var supportsMicroTasks = isBrowser && window.Promise;
+
+  /**
+  * Create a debounced version of a method, that's asynchronously deferred
+  * but called in the minimum time possible.
+  *
+  * @method
+  * @memberof Popper.Utils
+  * @argument {Function} fn
+  * @returns {Function}
+  */
+  var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
+
+  /**
+   * Check if the given variable is a function
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Any} functionToCheck - variable to check
+   * @returns {Boolean} answer to: is a function?
+   */
+  function isFunction(functionToCheck) {
+    var getType = {};
+    return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
+  }
+
+  /**
+   * Get CSS computed property of the given element
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Eement} element
+   * @argument {String} property
+   */
+  function getStyleComputedProperty(element, property) {
+    if (element.nodeType !== 1) {
+      return [];
+    }
+    // NOTE: 1 DOM access here
+    var window = element.ownerDocument.defaultView;
+    var css = window.getComputedStyle(element, null);
+    return property ? css[property] : css;
+  }
+
+  /**
+   * Returns the parentNode or the host of the element
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element
+   * @returns {Element} parent
+   */
+  function getParentNode(element) {
+    if (element.nodeName === 'HTML') {
+      return element;
+    }
+    return element.parentNode || element.host;
+  }
+
+  /**
+   * Returns the scrolling parent of the given element
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element
+   * @returns {Element} scroll parent
+   */
+  function getScrollParent(element) {
+    // Return body, `getScroll` will take care to get the correct `scrollTop` from it
+    if (!element) {
+      return document.body;
+    }
+
+    switch (element.nodeName) {
+      case 'HTML':
+      case 'BODY':
+        return element.ownerDocument.body;
+      case '#document':
+        return element.body;
+    }
+
+    // Firefox want us to check `-x` and `-y` variations as well
+
+    var _getStyleComputedProp = getStyleComputedProperty(element),
+        overflow = _getStyleComputedProp.overflow,
+        overflowX = _getStyleComputedProp.overflowX,
+        overflowY = _getStyleComputedProp.overflowY;
+
+    if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
+      return element;
+    }
+
+    return getScrollParent(getParentNode(element));
+  }
+
+  var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
+  var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
+
+  /**
+   * Determines if the browser is Internet Explorer
+   * @method
+   * @memberof Popper.Utils
+   * @param {Number} version to check
+   * @returns {Boolean} isIE
+   */
+  function isIE(version) {
+    if (version === 11) {
+      return isIE11;
+    }
+    if (version === 10) {
+      return isIE10;
+    }
+    return isIE11 || isIE10;
+  }
+
+  /**
+   * Returns the offset parent of the given element
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element
+   * @returns {Element} offset parent
+   */
+  function getOffsetParent(element) {
+    if (!element) {
+      return document.documentElement;
+    }
+
+    var noOffsetParent = isIE(10) ? document.body : null;
+
+    // NOTE: 1 DOM access here
+    var offsetParent = element.offsetParent || null;
+    // Skip hidden elements which don't have an offsetParent
+    while (offsetParent === noOffsetParent && element.nextElementSibling) {
+      offsetParent = (element = element.nextElementSibling).offsetParent;
+    }
+
+    var nodeName = offsetParent && offsetParent.nodeName;
+
+    if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
+      return element ? element.ownerDocument.documentElement : document.documentElement;
+    }
+
+    // .offsetParent will return the closest TH, TD or TABLE in case
+    // no offsetParent is present, I hate this job...
+    if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
+      return getOffsetParent(offsetParent);
+    }
+
+    return offsetParent;
+  }
+
+  function isOffsetContainer(element) {
+    var nodeName = element.nodeName;
+
+    if (nodeName === 'BODY') {
+      return false;
+    }
+    return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
+  }
+
+  /**
+   * Finds the root node (document, shadowDOM root) of the given element
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} node
+   * @returns {Element} root node
+   */
+  function getRoot(node) {
+    if (node.parentNode !== null) {
+      return getRoot(node.parentNode);
+    }
+
+    return node;
+  }
+
+  /**
+   * Finds the offset parent common to the two provided nodes
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element1
+   * @argument {Element} element2
+   * @returns {Element} common offset parent
+   */
+  function findCommonOffsetParent(element1, element2) {
+    // This check is needed to avoid errors in case one of the elements isn't defined for any reason
+    if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
+      return document.documentElement;
+    }
+
+    // Here we make sure to give as "start" the element that comes first in the DOM
+    var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
+    var start = order ? element1 : element2;
+    var end = order ? element2 : element1;
+
+    // Get common ancestor container
+    var range = document.createRange();
+    range.setStart(start, 0);
+    range.setEnd(end, 0);
+    var commonAncestorContainer = range.commonAncestorContainer;
+
+    // Both nodes are inside #document
+
+    if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
+      if (isOffsetContainer(commonAncestorContainer)) {
+        return commonAncestorContainer;
+      }
+
+      return getOffsetParent(commonAncestorContainer);
+    }
+
+    // one of the nodes is inside shadowDOM, find which one
+    var element1root = getRoot(element1);
+    if (element1root.host) {
+      return findCommonOffsetParent(element1root.host, element2);
+    } else {
+      return findCommonOffsetParent(element1, getRoot(element2).host);
+    }
+  }
+
+  /**
+   * Gets the scroll value of the given element in the given side (top and left)
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element
+   * @argument {String} side `top` or `left`
+   * @returns {number} amount of scrolled pixels
+   */
+  function getScroll(element) {
+    var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
+
+    var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
+    var nodeName = element.nodeName;
+
+    if (nodeName === 'BODY' || nodeName === 'HTML') {
+      var html = element.ownerDocument.documentElement;
+      var scrollingElement = element.ownerDocument.scrollingElement || html;
+      return scrollingElement[upperSide];
+    }
+
+    return element[upperSide];
+  }
+
+  /*
+   * Sum or subtract the element scroll values (left and top) from a given rect object
+   * @method
+   * @memberof Popper.Utils
+   * @param {Object} rect - Rect object you want to change
+   * @param {HTMLElement} element - The element from the function reads the scroll values
+   * @param {Boolean} subtract - set to true if you want to subtract the scroll values
+   * @return {Object} rect - The modifier rect object
+   */
+  function includeScroll(rect, element) {
+    var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+    var scrollTop = getScroll(element, 'top');
+    var scrollLeft = getScroll(element, 'left');
+    var modifier = subtract ? -1 : 1;
+    rect.top += scrollTop * modifier;
+    rect.bottom += scrollTop * modifier;
+    rect.left += scrollLeft * modifier;
+    rect.right += scrollLeft * modifier;
+    return rect;
+  }
+
+  /*
+   * Helper to detect borders of a given element
+   * @method
+   * @memberof Popper.Utils
+   * @param {CSSStyleDeclaration} styles
+   * Result of `getStyleComputedProperty` on the given element
+   * @param {String} axis - `x` or `y`
+   * @return {number} borders - The borders size of the given axis
+   */
+
+  function getBordersSize(styles, axis) {
+    var sideA = axis === 'x' ? 'Left' : 'Top';
+    var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
+
+    return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
+  }
+
+  function getSize(axis, body, html, computedStyle) {
+    return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);
+  }
+
+  function getWindowSizes(document) {
+    var body = document.body;
+    var html = document.documentElement;
+    var computedStyle = isIE(10) && getComputedStyle(html);
+
+    return {
+      height: getSize('Height', body, html, computedStyle),
+      width: getSize('Width', body, html, computedStyle)
+    };
+  }
+
+  var classCallCheck = function (instance, Constructor) {
+    if (!(instance instanceof Constructor)) {
+      throw new TypeError("Cannot call a class as a function");
+    }
+  };
+
+  var createClass = function () {
+    function defineProperties(target, props) {
+      for (var i = 0; i < props.length; i++) {
+        var descriptor = props[i];
+        descriptor.enumerable = descriptor.enumerable || false;
+        descriptor.configurable = true;
+        if ("value" in descriptor) descriptor.writable = true;
+        Object.defineProperty(target, descriptor.key, descriptor);
+      }
+    }
+
+    return function (Constructor, protoProps, staticProps) {
+      if (protoProps) defineProperties(Constructor.prototype, protoProps);
+      if (staticProps) defineProperties(Constructor, staticProps);
+      return Constructor;
+    };
+  }();
+
+
+
+
+
+  var defineProperty = function (obj, key, value) {
+    if (key in obj) {
+      Object.defineProperty(obj, key, {
+        value: value,
+        enumerable: true,
+        configurable: true,
+        writable: true
+      });
+    } else {
+      obj[key] = value;
+    }
+
+    return obj;
+  };
+
+  var _extends = Object.assign || function (target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+
+    return target;
+  };
+
+  /**
+   * Given element offsets, generate an output similar to getBoundingClientRect
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Object} offsets
+   * @returns {Object} ClientRect like output
+   */
+  function getClientRect(offsets) {
+    return _extends({}, offsets, {
+      right: offsets.left + offsets.width,
+      bottom: offsets.top + offsets.height
+    });
+  }
+
+  /**
+   * Get bounding client rect of given element
+   * @method
+   * @memberof Popper.Utils
+   * @param {HTMLElement} element
+   * @return {Object} client rect
+   */
+  function getBoundingClientRect(element) {
+    var rect = {};
+
+    // IE10 10 FIX: Please, don't ask, the element isn't
+    // considered in DOM in some circumstances...
+    // This isn't reproducible in IE10 compatibility mode of IE11
+    try {
+      if (isIE(10)) {
+        rect = element.getBoundingClientRect();
+        var scrollTop = getScroll(element, 'top');
+        var scrollLeft = getScroll(element, 'left');
+        rect.top += scrollTop;
+        rect.left += scrollLeft;
+        rect.bottom += scrollTop;
+        rect.right += scrollLeft;
+      } else {
+        rect = element.getBoundingClientRect();
+      }
+    } catch (e) {}
+
+    var result = {
+      left: rect.left,
+      top: rect.top,
+      width: rect.right - rect.left,
+      height: rect.bottom - rect.top
+    };
+
+    // subtract scrollbar size from sizes
+    var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
+    var width = sizes.width || element.clientWidth || result.right - result.left;
+    var height = sizes.height || element.clientHeight || result.bottom - result.top;
+
+    var horizScrollbar = element.offsetWidth - width;
+    var vertScrollbar = element.offsetHeight - height;
+
+    // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
+    // we make this check conditional for performance reasons
+    if (horizScrollbar || vertScrollbar) {
+      var styles = getStyleComputedProperty(element);
+      horizScrollbar -= getBordersSize(styles, 'x');
+      vertScrollbar -= getBordersSize(styles, 'y');
+
+      result.width -= horizScrollbar;
+      result.height -= vertScrollbar;
+    }
+
+    return getClientRect(result);
+  }
+
+  function getOffsetRectRelativeToArbitraryNode(children, parent) {
+    var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+    var isIE10 = isIE(10);
+    var isHTML = parent.nodeName === 'HTML';
+    var childrenRect = getBoundingClientRect(children);
+    var parentRect = getBoundingClientRect(parent);
+    var scrollParent = getScrollParent(children);
+
+    var styles = getStyleComputedProperty(parent);
+    var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
+    var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+
+    // In cases where the parent is fixed, we must ignore negative scroll in offset calc
+    if (fixedPosition && isHTML) {
+      parentRect.top = Math.max(parentRect.top, 0);
+      parentRect.left = Math.max(parentRect.left, 0);
+    }
+    var offsets = getClientRect({
+      top: childrenRect.top - parentRect.top - borderTopWidth,
+      left: childrenRect.left - parentRect.left - borderLeftWidth,
+      width: childrenRect.width,
+      height: childrenRect.height
+    });
+    offsets.marginTop = 0;
+    offsets.marginLeft = 0;
+
+    // Subtract margins of documentElement in case it's being used as parent
+    // we do this only on HTML because it's the only element that behaves
+    // differently when margins are applied to it. The margins are included in
+    // the box of the documentElement, in the other cases not.
+    if (!isIE10 && isHTML) {
+      var marginTop = parseFloat(styles.marginTop, 10);
+      var marginLeft = parseFloat(styles.marginLeft, 10);
+
+      offsets.top -= borderTopWidth - marginTop;
+      offsets.bottom -= borderTopWidth - marginTop;
+      offsets.left -= borderLeftWidth - marginLeft;
+      offsets.right -= borderLeftWidth - marginLeft;
+
+      // Attach marginTop and marginLeft because in some circumstances we may need them
+      offsets.marginTop = marginTop;
+      offsets.marginLeft = marginLeft;
+    }
+
+    if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
+      offsets = includeScroll(offsets, parent);
+    }
+
+    return offsets;
+  }
+
+  function getViewportOffsetRectRelativeToArtbitraryNode(element) {
+    var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+    var html = element.ownerDocument.documentElement;
+    var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
+    var width = Math.max(html.clientWidth, window.innerWidth || 0);
+    var height = Math.max(html.clientHeight, window.innerHeight || 0);
+
+    var scrollTop = !excludeScroll ? getScroll(html) : 0;
+    var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;
+
+    var offset = {
+      top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
+      left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
+      width: width,
+      height: height
+    };
+
+    return getClientRect(offset);
+  }
+
+  /**
+   * Check if the given element is fixed or is inside a fixed parent
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element
+   * @argument {Element} customContainer
+   * @returns {Boolean} answer to "isFixed?"
+   */
+  function isFixed(element) {
+    var nodeName = element.nodeName;
+    if (nodeName === 'BODY' || nodeName === 'HTML') {
+      return false;
+    }
+    if (getStyleComputedProperty(element, 'position') === 'fixed') {
+      return true;
+    }
+    var parentNode = getParentNode(element);
+    if (!parentNode) {
+      return false;
+    }
+    return isFixed(parentNode);
+  }
+
+  /**
+   * Finds the first parent of an element that has a transformed property defined
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element
+   * @returns {Element} first transformed parent or documentElement
+   */
+
+  function getFixedPositionOffsetParent(element) {
+    // This check is needed to avoid errors in case one of the elements isn't defined for any reason
+    if (!element || !element.parentElement || isIE()) {
+      return document.documentElement;
+    }
+    var el = element.parentElement;
+    while (el && getStyleComputedProperty(el, 'transform') === 'none') {
+      el = el.parentElement;
+    }
+    return el || document.documentElement;
+  }
+
+  /**
+   * Computed the boundaries limits and return them
+   * @method
+   * @memberof Popper.Utils
+   * @param {HTMLElement} popper
+   * @param {HTMLElement} reference
+   * @param {number} padding
+   * @param {HTMLElement} boundariesElement - Element used to define the boundaries
+   * @param {Boolean} fixedPosition - Is in fixed position mode
+   * @returns {Object} Coordinates of the boundaries
+   */
+  function getBoundaries(popper, reference, padding, boundariesElement) {
+    var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
+
+    // NOTE: 1 DOM access here
+
+    var boundaries = { top: 0, left: 0 };
+    var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
+
+    // Handle viewport case
+    if (boundariesElement === 'viewport') {
+      boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
+    } else {
+      // Handle other cases based on DOM element used as boundaries
+      var boundariesNode = void 0;
+      if (boundariesElement === 'scrollParent') {
+        boundariesNode = getScrollParent(getParentNode(reference));
+        if (boundariesNode.nodeName === 'BODY') {
+          boundariesNode = popper.ownerDocument.documentElement;
+        }
+      } else if (boundariesElement === 'window') {
+        boundariesNode = popper.ownerDocument.documentElement;
+      } else {
+        boundariesNode = boundariesElement;
+      }
+
+      var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);
+
+      // In case of HTML, we need a different computation
+      if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
+        var _getWindowSizes = getWindowSizes(popper.ownerDocument),
+            height = _getWindowSizes.height,
+            width = _getWindowSizes.width;
+
+        boundaries.top += offsets.top - offsets.marginTop;
+        boundaries.bottom = height + offsets.top;
+        boundaries.left += offsets.left - offsets.marginLeft;
+        boundaries.right = width + offsets.left;
+      } else {
+        // for all the other DOM elements, this one is good
+        boundaries = offsets;
+      }
+    }
+
+    // Add paddings
+    padding = padding || 0;
+    var isPaddingNumber = typeof padding === 'number';
+    boundaries.left += isPaddingNumber ? padding : padding.left || 0;
+    boundaries.top += isPaddingNumber ? padding : padding.top || 0;
+    boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
+    boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
+
+    return boundaries;
+  }
+
+  function getArea(_ref) {
+    var width = _ref.width,
+        height = _ref.height;
+
+    return width * height;
+  }
+
+  /**
+   * Utility used to transform the `auto` placement to the placement with more
+   * available space.
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Object} data - The data object generated by update method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
+    var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
+
+    if (placement.indexOf('auto') === -1) {
+      return placement;
+    }
+
+    var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
+
+    var rects = {
+      top: {
+        width: boundaries.width,
+        height: refRect.top - boundaries.top
+      },
+      right: {
+        width: boundaries.right - refRect.right,
+        height: boundaries.height
+      },
+      bottom: {
+        width: boundaries.width,
+        height: boundaries.bottom - refRect.bottom
+      },
+      left: {
+        width: refRect.left - boundaries.left,
+        height: boundaries.height
+      }
+    };
+
+    var sortedAreas = Object.keys(rects).map(function (key) {
+      return _extends({
+        key: key
+      }, rects[key], {
+        area: getArea(rects[key])
+      });
+    }).sort(function (a, b) {
+      return b.area - a.area;
+    });
+
+    var filteredAreas = sortedAreas.filter(function (_ref2) {
+      var width = _ref2.width,
+          height = _ref2.height;
+      return width >= popper.clientWidth && height >= popper.clientHeight;
+    });
+
+    var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
+
+    var variation = placement.split('-')[1];
+
+    return computedPlacement + (variation ? '-' + variation : '');
+  }
+
+  /**
+   * Get offsets to the reference element
+   * @method
+   * @memberof Popper.Utils
+   * @param {Object} state
+   * @param {Element} popper - the popper element
+   * @param {Element} reference - the reference element (the popper will be relative to this)
+   * @param {Element} fixedPosition - is in fixed position mode
+   * @returns {Object} An object containing the offsets which will be applied to the popper
+   */
+  function getReferenceOffsets(state, popper, reference) {
+    var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
+
+    var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
+    return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
+  }
+
+  /**
+   * Get the outer sizes of the given element (offset size + margins)
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element
+   * @returns {Object} object containing width and height properties
+   */
+  function getOuterSizes(element) {
+    var window = element.ownerDocument.defaultView;
+    var styles = window.getComputedStyle(element);
+    var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
+    var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
+    var result = {
+      width: element.offsetWidth + y,
+      height: element.offsetHeight + x
+    };
+    return result;
+  }
+
+  /**
+   * Get the opposite placement of the given one
+   * @method
+   * @memberof Popper.Utils
+   * @argument {String} placement
+   * @returns {String} flipped placement
+   */
+  function getOppositePlacement(placement) {
+    var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
+    return placement.replace(/left|right|bottom|top/g, function (matched) {
+      return hash[matched];
+    });
+  }
+
+  /**
+   * Get offsets to the popper
+   * @method
+   * @memberof Popper.Utils
+   * @param {Object} position - CSS position the Popper will get applied
+   * @param {HTMLElement} popper - the popper element
+   * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
+   * @param {String} placement - one of the valid placement options
+   * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
+   */
+  function getPopperOffsets(popper, referenceOffsets, placement) {
+    placement = placement.split('-')[0];
+
+    // Get popper node sizes
+    var popperRect = getOuterSizes(popper);
+
+    // Add position, width and height to our offsets object
+    var popperOffsets = {
+      width: popperRect.width,
+      height: popperRect.height
+    };
+
+    // depending by the popper placement we have to compute its offsets slightly differently
+    var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
+    var mainSide = isHoriz ? 'top' : 'left';
+    var secondarySide = isHoriz ? 'left' : 'top';
+    var measurement = isHoriz ? 'height' : 'width';
+    var secondaryMeasurement = !isHoriz ? 'height' : 'width';
+
+    popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
+    if (placement === secondarySide) {
+      popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
+    } else {
+      popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
+    }
+
+    return popperOffsets;
+  }
+
+  /**
+   * Mimics the `find` method of Array
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Array} arr
+   * @argument prop
+   * @argument value
+   * @returns index or -1
+   */
+  function find(arr, check) {
+    // use native find if supported
+    if (Array.prototype.find) {
+      return arr.find(check);
+    }
+
+    // use `filter` to obtain the same behavior of `find`
+    return arr.filter(check)[0];
+  }
+
+  /**
+   * Return the index of the matching object
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Array} arr
+   * @argument prop
+   * @argument value
+   * @returns index or -1
+   */
+  function findIndex(arr, prop, value) {
+    // use native findIndex if supported
+    if (Array.prototype.findIndex) {
+      return arr.findIndex(function (cur) {
+        return cur[prop] === value;
+      });
+    }
+
+    // use `find` + `indexOf` if `findIndex` isn't supported
+    var match = find(arr, function (obj) {
+      return obj[prop] === value;
+    });
+    return arr.indexOf(match);
+  }
+
+  /**
+   * Loop trough the list of modifiers and run them in order,
+   * each of them will then edit the data object.
+   * @method
+   * @memberof Popper.Utils
+   * @param {dataObject} data
+   * @param {Array} modifiers
+   * @param {String} ends - Optional modifier name used as stopper
+   * @returns {dataObject}
+   */
+  function runModifiers(modifiers, data, ends) {
+    var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
+
+    modifiersToRun.forEach(function (modifier) {
+      if (modifier['function']) {
+        // eslint-disable-line dot-notation
+        console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
+      }
+      var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
+      if (modifier.enabled && isFunction(fn)) {
+        // Add properties to offsets to make them a complete clientRect object
+        // we do this before each modifier to make sure the previous one doesn't
+        // mess with these values
+        data.offsets.popper = getClientRect(data.offsets.popper);
+        data.offsets.reference = getClientRect(data.offsets.reference);
+
+        data = fn(data, modifier);
+      }
+    });
+
+    return data;
+  }
+
+  /**
+   * Updates the position of the popper, computing the new offsets and applying
+   * the new style.<br />
+   * Prefer `scheduleUpdate` over `update` because of performance reasons.
+   * @method
+   * @memberof Popper
+   */
+  function update() {
+    // if popper is destroyed, don't perform any further update
+    if (this.state.isDestroyed) {
+      return;
+    }
+
+    var data = {
+      instance: this,
+      styles: {},
+      arrowStyles: {},
+      attributes: {},
+      flipped: false,
+      offsets: {}
+    };
+
+    // compute reference element offsets
+    data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);
+
+    // compute auto placement, store placement inside the data object,
+    // modifiers will be able to edit `placement` if needed
+    // and refer to originalPlacement to know the original value
+    data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
+
+    // store the computed placement inside `originalPlacement`
+    data.originalPlacement = data.placement;
+
+    data.positionFixed = this.options.positionFixed;
+
+    // compute the popper offsets
+    data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
+
+    data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
+
+    // run the modifiers
+    data = runModifiers(this.modifiers, data);
+
+    // the first `update` will call `onCreate` callback
+    // the other ones will call `onUpdate` callback
+    if (!this.state.isCreated) {
+      this.state.isCreated = true;
+      this.options.onCreate(data);
+    } else {
+      this.options.onUpdate(data);
+    }
+  }
+
+  /**
+   * Helper used to know if the given modifier is enabled.
+   * @method
+   * @memberof Popper.Utils
+   * @returns {Boolean}
+   */
+  function isModifierEnabled(modifiers, modifierName) {
+    return modifiers.some(function (_ref) {
+      var name = _ref.name,
+          enabled = _ref.enabled;
+      return enabled && name === modifierName;
+    });
+  }
+
+  /**
+   * Get the prefixed supported property name
+   * @method
+   * @memberof Popper.Utils
+   * @argument {String} property (camelCase)
+   * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
+   */
+  function getSupportedPropertyName(property) {
+    var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
+    var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
+
+    for (var i = 0; i < prefixes.length; i++) {
+      var prefix = prefixes[i];
+      var toCheck = prefix ? '' + prefix + upperProp : property;
+      if (typeof document.body.style[toCheck] !== 'undefined') {
+        return toCheck;
+      }
+    }
+    return null;
+  }
+
+  /**
+   * Destroys the popper.
+   * @method
+   * @memberof Popper
+   */
+  function destroy() {
+    this.state.isDestroyed = true;
+
+    // touch DOM only if `applyStyle` modifier is enabled
+    if (isModifierEnabled(this.modifiers, 'applyStyle')) {
+      this.popper.removeAttribute('x-placement');
+      this.popper.style.position = '';
+      this.popper.style.top = '';
+      this.popper.style.left = '';
+      this.popper.style.right = '';
+      this.popper.style.bottom = '';
+      this.popper.style.willChange = '';
+      this.popper.style[getSupportedPropertyName('transform')] = '';
+    }
+
+    this.disableEventListeners();
+
+    // remove the popper if user explicity asked for the deletion on destroy
+    // do not use `remove` because IE11 doesn't support it
+    if (this.options.removeOnDestroy) {
+      this.popper.parentNode.removeChild(this.popper);
+    }
+    return this;
+  }
+
+  /**
+   * Get the window associated with the element
+   * @argument {Element} element
+   * @returns {Window}
+   */
+  function getWindow(element) {
+    var ownerDocument = element.ownerDocument;
+    return ownerDocument ? ownerDocument.defaultView : window;
+  }
+
+  function attachToScrollParents(scrollParent, event, callback, scrollParents) {
+    var isBody = scrollParent.nodeName === 'BODY';
+    var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
+    target.addEventListener(event, callback, { passive: true });
+
+    if (!isBody) {
+      attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
+    }
+    scrollParents.push(target);
+  }
+
+  /**
+   * Setup needed event listeners used to update the popper position
+   * @method
+   * @memberof Popper.Utils
+   * @private
+   */
+  function setupEventListeners(reference, options, state, updateBound) {
+    // Resize event listener on window
+    state.updateBound = updateBound;
+    getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
+
+    // Scroll event listener on scroll parents
+    var scrollElement = getScrollParent(reference);
+    attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
+    state.scrollElement = scrollElement;
+    state.eventsEnabled = true;
+
+    return state;
+  }
+
+  /**
+   * It will add resize/scroll events and start recalculating
+   * position of the popper element when they are triggered.
+   * @method
+   * @memberof Popper
+   */
+  function enableEventListeners() {
+    if (!this.state.eventsEnabled) {
+      this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
+    }
+  }
+
+  /**
+   * Remove event listeners used to update the popper position
+   * @method
+   * @memberof Popper.Utils
+   * @private
+   */
+  function removeEventListeners(reference, state) {
+    // Remove resize event listener on window
+    getWindow(reference).removeEventListener('resize', state.updateBound);
+
+    // Remove scroll event listener on scroll parents
+    state.scrollParents.forEach(function (target) {
+      target.removeEventListener('scroll', state.updateBound);
+    });
+
+    // Reset state
+    state.updateBound = null;
+    state.scrollParents = [];
+    state.scrollElement = null;
+    state.eventsEnabled = false;
+    return state;
+  }
+
+  /**
+   * It will remove resize/scroll events and won't recalculate popper position
+   * when they are triggered. It also won't trigger `onUpdate` callback anymore,
+   * unless you call `update` method manually.
+   * @method
+   * @memberof Popper
+   */
+  function disableEventListeners() {
+    if (this.state.eventsEnabled) {
+      cancelAnimationFrame(this.scheduleUpdate);
+      this.state = removeEventListeners(this.reference, this.state);
+    }
+  }
+
+  /**
+   * Tells if a given input is a number
+   * @method
+   * @memberof Popper.Utils
+   * @param {*} input to check
+   * @return {Boolean}
+   */
+  function isNumeric(n) {
+    return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
+  }
+
+  /**
+   * Set the style to the given popper
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element - Element to apply the style to
+   * @argument {Object} styles
+   * Object with a list of properties and values which will be applied to the element
+   */
+  function setStyles(element, styles) {
+    Object.keys(styles).forEach(function (prop) {
+      var unit = '';
+      // add unit if the value is numeric and is one of the following
+      if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
+        unit = 'px';
+      }
+      element.style[prop] = styles[prop] + unit;
+    });
+  }
+
+  /**
+   * Set the attributes to the given popper
+   * @method
+   * @memberof Popper.Utils
+   * @argument {Element} element - Element to apply the attributes to
+   * @argument {Object} styles
+   * Object with a list of properties and values which will be applied to the element
+   */
+  function setAttributes(element, attributes) {
+    Object.keys(attributes).forEach(function (prop) {
+      var value = attributes[prop];
+      if (value !== false) {
+        element.setAttribute(prop, attributes[prop]);
+      } else {
+        element.removeAttribute(prop);
+      }
+    });
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by `update` method
+   * @argument {Object} data.styles - List of style properties - values to apply to popper element
+   * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The same data object
+   */
+  function applyStyle(data) {
+    // any property present in `data.styles` will be applied to the popper,
+    // in this way we can make the 3rd party modifiers add custom styles to it
+    // Be aware, modifiers could override the properties defined in the previous
+    // lines of this modifier!
+    setStyles(data.instance.popper, data.styles);
+
+    // any property present in `data.attributes` will be applied to the popper,
+    // they will be set as HTML attributes of the element
+    setAttributes(data.instance.popper, data.attributes);
+
+    // if arrowElement is defined and arrowStyles has some properties
+    if (data.arrowElement && Object.keys(data.arrowStyles).length) {
+      setStyles(data.arrowElement, data.arrowStyles);
+    }
+
+    return data;
+  }
+
+  /**
+   * Set the x-placement attribute before everything else because it could be used
+   * to add margins to the popper margins needs to be calculated to get the
+   * correct popper offsets.
+   * @method
+   * @memberof Popper.modifiers
+   * @param {HTMLElement} reference - The reference element used to position the popper
+   * @param {HTMLElement} popper - The HTML element used as popper
+   * @param {Object} options - Popper.js options
+   */
+  function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
+    // compute reference element offsets
+    var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);
+
+    // compute auto placement, store placement inside the data object,
+    // modifiers will be able to edit `placement` if needed
+    // and refer to originalPlacement to know the original value
+    var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
+
+    popper.setAttribute('x-placement', placement);
+
+    // Apply `position` to popper before anything else because
+    // without the position applied we can't guarantee correct computations
+    setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });
+
+    return options;
+  }
+
+  /**
+   * @function
+   * @memberof Popper.Utils
+   * @argument {Object} data - The data object generated by `update` method
+   * @argument {Boolean} shouldRound - If the offsets should be rounded at all
+   * @returns {Object} The popper's position offsets rounded
+   *
+   * The tale of pixel-perfect positioning. It's still not 100% perfect, but as
+   * good as it can be within reason.
+   * Discussion here: https://github.com/FezVrasta/popper.js/pull/715
+   *
+   * Low DPI screens cause a popper to be blurry if not using full pixels (Safari
+   * as well on High DPI screens).
+   *
+   * Firefox prefers no rounding for positioning and does not have blurriness on
+   * high DPI screens.
+   *
+   * Only horizontal placement and left/right values need to be considered.
+   */
+  function getRoundedOffsets(data, shouldRound) {
+    var _data$offsets = data.offsets,
+        popper = _data$offsets.popper,
+        reference = _data$offsets.reference;
+    var round = Math.round,
+        floor = Math.floor;
+
+    var noRound = function noRound(v) {
+      return v;
+    };
+
+    var referenceWidth = round(reference.width);
+    var popperWidth = round(popper.width);
+
+    var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
+    var isVariation = data.placement.indexOf('-') !== -1;
+    var sameWidthParity = referenceWidth % 2 === popperWidth % 2;
+    var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
+
+    var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;
+    var verticalToInteger = !shouldRound ? noRound : round;
+
+    return {
+      left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),
+      top: verticalToInteger(popper.top),
+      bottom: verticalToInteger(popper.bottom),
+      right: horizontalToInteger(popper.right)
+    };
+  }
+
+  var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by `update` method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function computeStyle(data, options) {
+    var x = options.x,
+        y = options.y;
+    var popper = data.offsets.popper;
+
+    // Remove this legacy support in Popper.js v2
+
+    var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
+      return modifier.name === 'applyStyle';
+    }).gpuAcceleration;
+    if (legacyGpuAccelerationOption !== undefined) {
+      console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
+    }
+    var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
+
+    var offsetParent = getOffsetParent(data.instance.popper);
+    var offsetParentRect = getBoundingClientRect(offsetParent);
+
+    // Styles
+    var styles = {
+      position: popper.position
+    };
+
+    var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);
+
+    var sideA = x === 'bottom' ? 'top' : 'bottom';
+    var sideB = y === 'right' ? 'left' : 'right';
+
+    // if gpuAcceleration is set to `true` and transform is supported,
+    //  we use `translate3d` to apply the position to the popper we
+    // automatically use the supported prefixed version if needed
+    var prefixedProperty = getSupportedPropertyName('transform');
+
+    // now, let's make a step back and look at this code closely (wtf?)
+    // If the content of the popper grows once it's been positioned, it
+    // may happen that the popper gets misplaced because of the new content
+    // overflowing its reference element
+    // To avoid this problem, we provide two options (x and y), which allow
+    // the consumer to define the offset origin.
+    // If we position a popper on top of a reference element, we can set
+    // `x` to `top` to make the popper grow towards its top instead of
+    // its bottom.
+    var left = void 0,
+        top = void 0;
+    if (sideA === 'bottom') {
+      // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)
+      // and not the bottom of the html element
+      if (offsetParent.nodeName === 'HTML') {
+        top = -offsetParent.clientHeight + offsets.bottom;
+      } else {
+        top = -offsetParentRect.height + offsets.bottom;
+      }
+    } else {
+      top = offsets.top;
+    }
+    if (sideB === 'right') {
+      if (offsetParent.nodeName === 'HTML') {
+        left = -offsetParent.clientWidth + offsets.right;
+      } else {
+        left = -offsetParentRect.width + offsets.right;
+      }
+    } else {
+      left = offsets.left;
+    }
+    if (gpuAcceleration && prefixedProperty) {
+      styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
+      styles[sideA] = 0;
+      styles[sideB] = 0;
+      styles.willChange = 'transform';
+    } else {
+      // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
+      var invertTop = sideA === 'bottom' ? -1 : 1;
+      var invertLeft = sideB === 'right' ? -1 : 1;
+      styles[sideA] = top * invertTop;
+      styles[sideB] = left * invertLeft;
+      styles.willChange = sideA + ', ' + sideB;
+    }
+
+    // Attributes
+    var attributes = {
+      'x-placement': data.placement
+    };
+
+    // Update `data` attributes, styles and arrowStyles
+    data.attributes = _extends({}, attributes, data.attributes);
+    data.styles = _extends({}, styles, data.styles);
+    data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
+
+    return data;
+  }
+
+  /**
+   * Helper used to know if the given modifier depends from another one.<br />
+   * It checks if the needed modifier is listed and enabled.
+   * @method
+   * @memberof Popper.Utils
+   * @param {Array} modifiers - list of modifiers
+   * @param {String} requestingName - name of requesting modifier
+   * @param {String} requestedName - name of requested modifier
+   * @returns {Boolean}
+   */
+  function isModifierRequired(modifiers, requestingName, requestedName) {
+    var requesting = find(modifiers, function (_ref) {
+      var name = _ref.name;
+      return name === requestingName;
+    });
+
+    var isRequired = !!requesting && modifiers.some(function (modifier) {
+      return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
+    });
+
+    if (!isRequired) {
+      var _requesting = '`' + requestingName + '`';
+      var requested = '`' + requestedName + '`';
+      console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
+    }
+    return isRequired;
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by update method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function arrow(data, options) {
+    var _data$offsets$arrow;
+
+    // arrow depends on keepTogether in order to work
+    if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
+      return data;
+    }
+
+    var arrowElement = options.element;
+
+    // if arrowElement is a string, suppose it's a CSS selector
+    if (typeof arrowElement === 'string') {
+      arrowElement = data.instance.popper.querySelector(arrowElement);
+
+      // if arrowElement is not found, don't run the modifier
+      if (!arrowElement) {
+        return data;
+      }
+    } else {
+      // if the arrowElement isn't a query selector we must check that the
+      // provided DOM node is child of its popper node
+      if (!data.instance.popper.contains(arrowElement)) {
+        console.warn('WARNING: `arrow.element` must be child of its popper element!');
+        return data;
+      }
+    }
+
+    var placement = data.placement.split('-')[0];
+    var _data$offsets = data.offsets,
+        popper = _data$offsets.popper,
+        reference = _data$offsets.reference;
+
+    var isVertical = ['left', 'right'].indexOf(placement) !== -1;
+
+    var len = isVertical ? 'height' : 'width';
+    var sideCapitalized = isVertical ? 'Top' : 'Left';
+    var side = sideCapitalized.toLowerCase();
+    var altSide = isVertical ? 'left' : 'top';
+    var opSide = isVertical ? 'bottom' : 'right';
+    var arrowElementSize = getOuterSizes(arrowElement)[len];
+
+    //
+    // extends keepTogether behavior making sure the popper and its
+    // reference have enough pixels in conjunction
+    //
+
+    // top/left side
+    if (reference[opSide] - arrowElementSize < popper[side]) {
+      data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
+    }
+    // bottom/right side
+    if (reference[side] + arrowElementSize > popper[opSide]) {
+      data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
+    }
+    data.offsets.popper = getClientRect(data.offsets.popper);
+
+    // compute center of the popper
+    var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
+
+    // Compute the sideValue using the updated popper offsets
+    // take popper margin in account because we don't have this info available
+    var css = getStyleComputedProperty(data.instance.popper);
+    var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
+    var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
+    var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
+
+    // prevent arrowElement from being placed not contiguously to its popper
+    sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
+
+    data.arrowElement = arrowElement;
+    data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
+
+    return data;
+  }
+
+  /**
+   * Get the opposite placement variation of the given one
+   * @method
+   * @memberof Popper.Utils
+   * @argument {String} placement variation
+   * @returns {String} flipped placement variation
+   */
+  function getOppositeVariation(variation) {
+    if (variation === 'end') {
+      return 'start';
+    } else if (variation === 'start') {
+      return 'end';
+    }
+    return variation;
+  }
+
+  /**
+   * List of accepted placements to use as values of the `placement` option.<br />
+   * Valid placements are:
+   * - `auto`
+   * - `top`
+   * - `right`
+   * - `bottom`
+   * - `left`
+   *
+   * Each placement can have a variation from this list:
+   * - `-start`
+   * - `-end`
+   *
+   * Variations are interpreted easily if you think of them as the left to right
+   * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
+   * is right.<br />
+   * Vertically (`left` and `right`), `start` is top and `end` is bottom.
+   *
+   * Some valid examples are:
+   * - `top-end` (on top of reference, right aligned)
+   * - `right-start` (on right of reference, top aligned)
+   * - `bottom` (on bottom, centered)
+   * - `auto-end` (on the side with more space available, alignment depends by placement)
+   *
+   * @static
+   * @type {Array}
+   * @enum {String}
+   * @readonly
+   * @method placements
+   * @memberof Popper
+   */
+  var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
+
+  // Get rid of `auto` `auto-start` and `auto-end`
+  var validPlacements = placements.slice(3);
+
+  /**
+   * Given an initial placement, returns all the subsequent placements
+   * clockwise (or counter-clockwise).
+   *
+   * @method
+   * @memberof Popper.Utils
+   * @argument {String} placement - A valid placement (it accepts variations)
+   * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
+   * @returns {Array} placements including their variations
+   */
+  function clockwise(placement) {
+    var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+    var index = validPlacements.indexOf(placement);
+    var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
+    return counter ? arr.reverse() : arr;
+  }
+
+  var BEHAVIORS = {
+    FLIP: 'flip',
+    CLOCKWISE: 'clockwise',
+    COUNTERCLOCKWISE: 'counterclockwise'
+  };
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by update method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function flip(data, options) {
+    // if `inner` modifier is enabled, we can't use the `flip` modifier
+    if (isModifierEnabled(data.instance.modifiers, 'inner')) {
+      return data;
+    }
+
+    if (data.flipped && data.placement === data.originalPlacement) {
+      // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
+      return data;
+    }
+
+    var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);
+
+    var placement = data.placement.split('-')[0];
+    var placementOpposite = getOppositePlacement(placement);
+    var variation = data.placement.split('-')[1] || '';
+
+    var flipOrder = [];
+
+    switch (options.behavior) {
+      case BEHAVIORS.FLIP:
+        flipOrder = [placement, placementOpposite];
+        break;
+      case BEHAVIORS.CLOCKWISE:
+        flipOrder = clockwise(placement);
+        break;
+      case BEHAVIORS.COUNTERCLOCKWISE:
+        flipOrder = clockwise(placement, true);
+        break;
+      default:
+        flipOrder = options.behavior;
+    }
+
+    flipOrder.forEach(function (step, index) {
+      if (placement !== step || flipOrder.length === index + 1) {
+        return data;
+      }
+
+      placement = data.placement.split('-')[0];
+      placementOpposite = getOppositePlacement(placement);
+
+      var popperOffsets = data.offsets.popper;
+      var refOffsets = data.offsets.reference;
+
+      // using floor because the reference offsets may contain decimals we are not going to consider here
+      var floor = Math.floor;
+      var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
+
+      var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
+      var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
+      var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
+      var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
+
+      var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
+
+      // flip the variation if required
+      var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
+      var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
+
+      if (overlapsRef || overflowsBoundaries || flippedVariation) {
+        // this boolean to detect any flip loop
+        data.flipped = true;
+
+        if (overlapsRef || overflowsBoundaries) {
+          placement = flipOrder[index + 1];
+        }
+
+        if (flippedVariation) {
+          variation = getOppositeVariation(variation);
+        }
+
+        data.placement = placement + (variation ? '-' + variation : '');
+
+        // this object contains `position`, we want to preserve it along with
+        // any additional property we may add in the future
+        data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
+
+        data = runModifiers(data.instance.modifiers, data, 'flip');
+      }
+    });
+    return data;
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by update method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function keepTogether(data) {
+    var _data$offsets = data.offsets,
+        popper = _data$offsets.popper,
+        reference = _data$offsets.reference;
+
+    var placement = data.placement.split('-')[0];
+    var floor = Math.floor;
+    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
+    var side = isVertical ? 'right' : 'bottom';
+    var opSide = isVertical ? 'left' : 'top';
+    var measurement = isVertical ? 'width' : 'height';
+
+    if (popper[side] < floor(reference[opSide])) {
+      data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
+    }
+    if (popper[opSide] > floor(reference[side])) {
+      data.offsets.popper[opSide] = floor(reference[side]);
+    }
+
+    return data;
+  }
+
+  /**
+   * Converts a string containing value + unit into a px value number
+   * @function
+   * @memberof {modifiers~offset}
+   * @private
+   * @argument {String} str - Value + unit string
+   * @argument {String} measurement - `height` or `width`
+   * @argument {Object} popperOffsets
+   * @argument {Object} referenceOffsets
+   * @returns {Number|String}
+   * Value in pixels, or original string if no values were extracted
+   */
+  function toValue(str, measurement, popperOffsets, referenceOffsets) {
+    // separate value from unit
+    var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
+    var value = +split[1];
+    var unit = split[2];
+
+    // If it's not a number it's an operator, I guess
+    if (!value) {
+      return str;
+    }
+
+    if (unit.indexOf('%') === 0) {
+      var element = void 0;
+      switch (unit) {
+        case '%p':
+          element = popperOffsets;
+          break;
+        case '%':
+        case '%r':
+        default:
+          element = referenceOffsets;
+      }
+
+      var rect = getClientRect(element);
+      return rect[measurement] / 100 * value;
+    } else if (unit === 'vh' || unit === 'vw') {
+      // if is a vh or vw, we calculate the size based on the viewport
+      var size = void 0;
+      if (unit === 'vh') {
+        size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
+      } else {
+        size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
+      }
+      return size / 100 * value;
+    } else {
+      // if is an explicit pixel unit, we get rid of the unit and keep the value
+      // if is an implicit unit, it's px, and we return just the value
+      return value;
+    }
+  }
+
+  /**
+   * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
+   * @function
+   * @memberof {modifiers~offset}
+   * @private
+   * @argument {String} offset
+   * @argument {Object} popperOffsets
+   * @argument {Object} referenceOffsets
+   * @argument {String} basePlacement
+   * @returns {Array} a two cells array with x and y offsets in numbers
+   */
+  function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
+    var offsets = [0, 0];
+
+    // Use height if placement is left or right and index is 0 otherwise use width
+    // in this way the first offset will use an axis and the second one
+    // will use the other one
+    var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
+
+    // Split the offset string to obtain a list of values and operands
+    // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
+    var fragments = offset.split(/(\+|\-)/).map(function (frag) {
+      return frag.trim();
+    });
+
+    // Detect if the offset string contains a pair of values or a single one
+    // they could be separated by comma or space
+    var divider = fragments.indexOf(find(fragments, function (frag) {
+      return frag.search(/,|\s/) !== -1;
+    }));
+
+    if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
+      console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
+    }
+
+    // If divider is found, we divide the list of values and operands to divide
+    // them by ofset X and Y.
+    var splitRegex = /\s*,\s*|\s+/;
+    var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];
+
+    // Convert the values with units to absolute pixels to allow our computations
+    ops = ops.map(function (op, index) {
+      // Most of the units rely on the orientation of the popper
+      var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
+      var mergeWithPrevious = false;
+      return op
+      // This aggregates any `+` or `-` sign that aren't considered operators
+      // e.g.: 10 + +5 => [10, +, +5]
+      .reduce(function (a, b) {
+        if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
+          a[a.length - 1] = b;
+          mergeWithPrevious = true;
+          return a;
+        } else if (mergeWithPrevious) {
+          a[a.length - 1] += b;
+          mergeWithPrevious = false;
+          return a;
+        } else {
+          return a.concat(b);
+        }
+      }, [])
+      // Here we convert the string values into number values (in px)
+      .map(function (str) {
+        return toValue(str, measurement, popperOffsets, referenceOffsets);
+      });
+    });
+
+    // Loop trough the offsets arrays and execute the operations
+    ops.forEach(function (op, index) {
+      op.forEach(function (frag, index2) {
+        if (isNumeric(frag)) {
+          offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
+        }
+      });
+    });
+    return offsets;
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by update method
+   * @argument {Object} options - Modifiers configuration and options
+   * @argument {Number|String} options.offset=0
+   * The offset value as described in the modifier description
+   * @returns {Object} The data object, properly modified
+   */
+  function offset(data, _ref) {
+    var offset = _ref.offset;
+    var placement = data.placement,
+        _data$offsets = data.offsets,
+        popper = _data$offsets.popper,
+        reference = _data$offsets.reference;
+
+    var basePlacement = placement.split('-')[0];
+
+    var offsets = void 0;
+    if (isNumeric(+offset)) {
+      offsets = [+offset, 0];
+    } else {
+      offsets = parseOffset(offset, popper, reference, basePlacement);
+    }
+
+    if (basePlacement === 'left') {
+      popper.top += offsets[0];
+      popper.left -= offsets[1];
+    } else if (basePlacement === 'right') {
+      popper.top += offsets[0];
+      popper.left += offsets[1];
+    } else if (basePlacement === 'top') {
+      popper.left += offsets[0];
+      popper.top -= offsets[1];
+    } else if (basePlacement === 'bottom') {
+      popper.left += offsets[0];
+      popper.top += offsets[1];
+    }
+
+    data.popper = popper;
+    return data;
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by `update` method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function preventOverflow(data, options) {
+    var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
+
+    // If offsetParent is the reference element, we really want to
+    // go one step up and use the next offsetParent as reference to
+    // avoid to make this modifier completely useless and look like broken
+    if (data.instance.reference === boundariesElement) {
+      boundariesElement = getOffsetParent(boundariesElement);
+    }
+
+    // NOTE: DOM access here
+    // resets the popper's position so that the document size can be calculated excluding
+    // the size of the popper element itself
+    var transformProp = getSupportedPropertyName('transform');
+    var popperStyles = data.instance.popper.style; // assignment to help minification
+    var top = popperStyles.top,
+        left = popperStyles.left,
+        transform = popperStyles[transformProp];
+
+    popperStyles.top = '';
+    popperStyles.left = '';
+    popperStyles[transformProp] = '';
+
+    var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);
+
+    // NOTE: DOM access here
+    // restores the original style properties after the offsets have been computed
+    popperStyles.top = top;
+    popperStyles.left = left;
+    popperStyles[transformProp] = transform;
+
+    options.boundaries = boundaries;
+
+    var order = options.priority;
+    var popper = data.offsets.popper;
+
+    var check = {
+      primary: function primary(placement) {
+        var value = popper[placement];
+        if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
+          value = Math.max(popper[placement], boundaries[placement]);
+        }
+        return defineProperty({}, placement, value);
+      },
+      secondary: function secondary(placement) {
+        var mainSide = placement === 'right' ? 'left' : 'top';
+        var value = popper[mainSide];
+        if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
+          value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
+        }
+        return defineProperty({}, mainSide, value);
+      }
+    };
+
+    order.forEach(function (placement) {
+      var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
+      popper = _extends({}, popper, check[side](placement));
+    });
+
+    data.offsets.popper = popper;
+
+    return data;
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by `update` method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function shift(data) {
+    var placement = data.placement;
+    var basePlacement = placement.split('-')[0];
+    var shiftvariation = placement.split('-')[1];
+
+    // if shift shiftvariation is specified, run the modifier
+    if (shiftvariation) {
+      var _data$offsets = data.offsets,
+          reference = _data$offsets.reference,
+          popper = _data$offsets.popper;
+
+      var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
+      var side = isVertical ? 'left' : 'top';
+      var measurement = isVertical ? 'width' : 'height';
+
+      var shiftOffsets = {
+        start: defineProperty({}, side, reference[side]),
+        end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
+      };
+
+      data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);
+    }
+
+    return data;
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by update method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function hide(data) {
+    if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
+      return data;
+    }
+
+    var refRect = data.offsets.reference;
+    var bound = find(data.instance.modifiers, function (modifier) {
+      return modifier.name === 'preventOverflow';
+    }).boundaries;
+
+    if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
+      // Avoid unnecessary DOM access if visibility hasn't changed
+      if (data.hide === true) {
+        return data;
+      }
+
+      data.hide = true;
+      data.attributes['x-out-of-boundaries'] = '';
+    } else {
+      // Avoid unnecessary DOM access if visibility hasn't changed
+      if (data.hide === false) {
+        return data;
+      }
+
+      data.hide = false;
+      data.attributes['x-out-of-boundaries'] = false;
+    }
+
+    return data;
+  }
+
+  /**
+   * @function
+   * @memberof Modifiers
+   * @argument {Object} data - The data object generated by `update` method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {Object} The data object, properly modified
+   */
+  function inner(data) {
+    var placement = data.placement;
+    var basePlacement = placement.split('-')[0];
+    var _data$offsets = data.offsets,
+        popper = _data$offsets.popper,
+        reference = _data$offsets.reference;
+
+    var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
+
+    var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
+
+    popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
+
+    data.placement = getOppositePlacement(placement);
+    data.offsets.popper = getClientRect(popper);
+
+    return data;
+  }
+
+  /**
+   * Modifier function, each modifier can have a function of this type assigned
+   * to its `fn` property.<br />
+   * These functions will be called on each update, this means that you must
+   * make sure they are performant enough to avoid performance bottlenecks.
+   *
+   * @function ModifierFn
+   * @argument {dataObject} data - The data object generated by `update` method
+   * @argument {Object} options - Modifiers configuration and options
+   * @returns {dataObject} The data object, properly modified
+   */
+
+  /**
+   * Modifiers are plugins used to alter the behavior of your poppers.<br />
+   * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
+   * needed by the library.
+   *
+   * Usually you don't want to override the `order`, `fn` and `onLoad` props.
+   * All the other properties are configurations that could be tweaked.
+   * @namespace modifiers
+   */
+  var modifiers = {
+    /**
+     * Modifier used to shift the popper on the start or end of its reference
+     * element.<br />
+     * It will read the variation of the `placement` property.<br />
+     * It can be one either `-end` or `-start`.
+     * @memberof modifiers
+     * @inner
+     */
+    shift: {
+      /** @prop {number} order=100 - Index used to define the order of execution */
+      order: 100,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: shift
+    },
+
+    /**
+     * The `offset` modifier can shift your popper on both its axis.
+     *
+     * It accepts the following units:
+     * - `px` or unit-less, interpreted as pixels
+     * - `%` or `%r`, percentage relative to the length of the reference element
+     * - `%p`, percentage relative to the length of the popper element
+     * - `vw`, CSS viewport width unit
+     * - `vh`, CSS viewport height unit
+     *
+     * For length is intended the main axis relative to the placement of the popper.<br />
+     * This means that if the placement is `top` or `bottom`, the length will be the
+     * `width`. In case of `left` or `right`, it will be the `height`.
+     *
+     * You can provide a single value (as `Number` or `String`), or a pair of values
+     * as `String` divided by a comma or one (or more) white spaces.<br />
+     * The latter is a deprecated method because it leads to confusion and will be
+     * removed in v2.<br />
+     * Additionally, it accepts additions and subtractions between different units.
+     * Note that multiplications and divisions aren't supported.
+     *
+     * Valid examples are:
+     * ```
+     * 10
+     * '10%'
+     * '10, 10'
+     * '10%, 10'
+     * '10 + 10%'
+     * '10 - 5vh + 3%'
+     * '-10px + 5vh, 5px - 6%'
+     * ```
+     * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
+     * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
+     * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).
+     *
+     * @memberof modifiers
+     * @inner
+     */
+    offset: {
+      /** @prop {number} order=200 - Index used to define the order of execution */
+      order: 200,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: offset,
+      /** @prop {Number|String} offset=0
+       * The offset value as described in the modifier description
+       */
+      offset: 0
+    },
+
+    /**
+     * Modifier used to prevent the popper from being positioned outside the boundary.
+     *
+     * A scenario exists where the reference itself is not within the boundaries.<br />
+     * We can say it has "escaped the boundaries" — or just "escaped".<br />
+     * In this case we need to decide whether the popper should either:
+     *
+     * - detach from the reference and remain "trapped" in the boundaries, or
+     * - if it should ignore the boundary and "escape with its reference"
+     *
+     * When `escapeWithReference` is set to`true` and reference is completely
+     * outside its boundaries, the popper will overflow (or completely leave)
+     * the boundaries in order to remain attached to the edge of the reference.
+     *
+     * @memberof modifiers
+     * @inner
+     */
+    preventOverflow: {
+      /** @prop {number} order=300 - Index used to define the order of execution */
+      order: 300,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: preventOverflow,
+      /**
+       * @prop {Array} [priority=['left','right','top','bottom']]
+       * Popper will try to prevent overflow following these priorities by default,
+       * then, it could overflow on the left and on top of the `boundariesElement`
+       */
+      priority: ['left', 'right', 'top', 'bottom'],
+      /**
+       * @prop {number} padding=5
+       * Amount of pixel used to define a minimum distance between the boundaries
+       * and the popper. This makes sure the popper always has a little padding
+       * between the edges of its container
+       */
+      padding: 5,
+      /**
+       * @prop {String|HTMLElement} boundariesElement='scrollParent'
+       * Boundaries used by the modifier. Can be `scrollParent`, `window`,
+       * `viewport` or any DOM element.
+       */
+      boundariesElement: 'scrollParent'
+    },
+
+    /**
+     * Modifier used to make sure the reference and its popper stay near each other
+     * without leaving any gap between the two. Especially useful when the arrow is
+     * enabled and you want to ensure that it points to its reference element.
+     * It cares only about the first axis. You can still have poppers with margin
+     * between the popper and its reference element.
+     * @memberof modifiers
+     * @inner
+     */
+    keepTogether: {
+      /** @prop {number} order=400 - Index used to define the order of execution */
+      order: 400,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: keepTogether
+    },
+
+    /**
+     * This modifier is used to move the `arrowElement` of the popper to make
+     * sure it is positioned between the reference element and its popper element.
+     * It will read the outer size of the `arrowElement` node to detect how many
+     * pixels of conjunction are needed.
+     *
+     * It has no effect if no `arrowElement` is provided.
+     * @memberof modifiers
+     * @inner
+     */
+    arrow: {
+      /** @prop {number} order=500 - Index used to define the order of execution */
+      order: 500,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: arrow,
+      /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
+      element: '[x-arrow]'
+    },
+
+    /**
+     * Modifier used to flip the popper's placement when it starts to overlap its
+     * reference element.
+     *
+     * Requires the `preventOverflow` modifier before it in order to work.
+     *
+     * **NOTE:** this modifier will interrupt the current update cycle and will
+     * restart it if it detects the need to flip the placement.
+     * @memberof modifiers
+     * @inner
+     */
+    flip: {
+      /** @prop {number} order=600 - Index used to define the order of execution */
+      order: 600,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: flip,
+      /**
+       * @prop {String|Array} behavior='flip'
+       * The behavior used to change the popper's placement. It can be one of
+       * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
+       * placements (with optional variations)
+       */
+      behavior: 'flip',
+      /**
+       * @prop {number} padding=5
+       * The popper will flip if it hits the edges of the `boundariesElement`
+       */
+      padding: 5,
+      /**
+       * @prop {String|HTMLElement} boundariesElement='viewport'
+       * The element which will define the boundaries of the popper position.
+       * The popper will never be placed outside of the defined boundaries
+       * (except if `keepTogether` is enabled)
+       */
+      boundariesElement: 'viewport'
+    },
+
+    /**
+     * Modifier used to make the popper flow toward the inner of the reference element.
+     * By default, when this modifier is disabled, the popper will be placed outside
+     * the reference element.
+     * @memberof modifiers
+     * @inner
+     */
+    inner: {
+      /** @prop {number} order=700 - Index used to define the order of execution */
+      order: 700,
+      /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
+      enabled: false,
+      /** @prop {ModifierFn} */
+      fn: inner
+    },
+
+    /**
+     * Modifier used to hide the popper when its reference element is outside of the
+     * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
+     * be used to hide with a CSS selector the popper when its reference is
+     * out of boundaries.
+     *
+     * Requires the `preventOverflow` modifier before it in order to work.
+     * @memberof modifiers
+     * @inner
+     */
+    hide: {
+      /** @prop {number} order=800 - Index used to define the order of execution */
+      order: 800,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: hide
+    },
+
+    /**
+     * Computes the style that will be applied to the popper element to gets
+     * properly positioned.
+     *
+     * Note that this modifier will not touch the DOM, it just prepares the styles
+     * so that `applyStyle` modifier can apply it. This separation is useful
+     * in case you need to replace `applyStyle` with a custom implementation.
+     *
+     * This modifier has `850` as `order` value to maintain backward compatibility
+     * with previous versions of Popper.js. Expect the modifiers ordering method
+     * to change in future major versions of the library.
+     *
+     * @memberof modifiers
+     * @inner
+     */
+    computeStyle: {
+      /** @prop {number} order=850 - Index used to define the order of execution */
+      order: 850,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: computeStyle,
+      /**
+       * @prop {Boolean} gpuAcceleration=true
+       * If true, it uses the CSS 3D transformation to position the popper.
+       * Otherwise, it will use the `top` and `left` properties
+       */
+      gpuAcceleration: true,
+      /**
+       * @prop {string} [x='bottom']
+       * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
+       * Change this if your popper should grow in a direction different from `bottom`
+       */
+      x: 'bottom',
+      /**
+       * @prop {string} [x='left']
+       * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
+       * Change this if your popper should grow in a direction different from `right`
+       */
+      y: 'right'
+    },
+
+    /**
+     * Applies the computed styles to the popper element.
+     *
+     * All the DOM manipulations are limited to this modifier. This is useful in case
+     * you want to integrate Popper.js inside a framework or view library and you
+     * want to delegate all the DOM manipulations to it.
+     *
+     * Note that if you disable this modifier, you must make sure the popper element
+     * has its position set to `absolute` before Popper.js can do its work!
+     *
+     * Just disable this modifier and define your own to achieve the desired effect.
+     *
+     * @memberof modifiers
+     * @inner
+     */
+    applyStyle: {
+      /** @prop {number} order=900 - Index used to define the order of execution */
+      order: 900,
+      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+      enabled: true,
+      /** @prop {ModifierFn} */
+      fn: applyStyle,
+      /** @prop {Function} */
+      onLoad: applyStyleOnLoad,
+      /**
+       * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
+       * @prop {Boolean} gpuAcceleration=true
+       * If true, it uses the CSS 3D transformation to position the popper.
+       * Otherwise, it will use the `top` and `left` properties
+       */
+      gpuAcceleration: undefined
+    }
+  };
+
+  /**
+   * The `dataObject` is an object containing all the information used by Popper.js.
+   * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
+   * @name dataObject
+   * @property {Object} data.instance The Popper.js instance
+   * @property {String} data.placement Placement applied to popper
+   * @property {String} data.originalPlacement Placement originally defined on init
+   * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
+   * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper
+   * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
+   * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)
+   * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)
+   * @property {Object} data.boundaries Offsets of the popper boundaries
+   * @property {Object} data.offsets The measurements of popper, reference and arrow elements
+   * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
+   * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
+   * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
+   */
+
+  /**
+   * Default options provided to Popper.js constructor.<br />
+   * These can be overridden using the `options` argument of Popper.js.<br />
+   * To override an option, simply pass an object with the same
+   * structure of the `options` object, as the 3rd argument. For example:
+   * ```
+   * new Popper(ref, pop, {
+   *   modifiers: {
+   *     preventOverflow: { enabled: false }
+   *   }
+   * })
+   * ```
+   * @type {Object}
+   * @static
+   * @memberof Popper
+   */
+  var Defaults = {
+    /**
+     * Popper's placement.
+     * @prop {Popper.placements} placement='bottom'
+     */
+    placement: 'bottom',
+
+    /**
+     * Set this to true if you want popper to position it self in 'fixed' mode
+     * @prop {Boolean} positionFixed=false
+     */
+    positionFixed: false,
+
+    /**
+     * Whether events (resize, scroll) are initially enabled.
+     * @prop {Boolean} eventsEnabled=true
+     */
+    eventsEnabled: true,
+
+    /**
+     * Set to true if you want to automatically remove the popper when
+     * you call the `destroy` method.
+     * @prop {Boolean} removeOnDestroy=false
+     */
+    removeOnDestroy: false,
+
+    /**
+     * Callback called when the popper is created.<br />
+     * By default, it is set to no-op.<br />
+     * Access Popper.js instance with `data.instance`.
+     * @prop {onCreate}
+     */
+    onCreate: function onCreate() {},
+
+    /**
+     * Callback called when the popper is updated. This callback is not called
+     * on the initialization/creation of the popper, but only on subsequent
+     * updates.<br />
+     * By default, it is set to no-op.<br />
+     * Access Popper.js instance with `data.instance`.
+     * @prop {onUpdate}
+     */
+    onUpdate: function onUpdate() {},
+
+    /**
+     * List of modifiers used to modify the offsets before they are applied to the popper.
+     * They provide most of the functionalities of Popper.js.
+     * @prop {modifiers}
+     */
+    modifiers: modifiers
+  };
+
+  /**
+   * @callback onCreate
+   * @param {dataObject} data
+   */
+
+  /**
+   * @callback onUpdate
+   * @param {dataObject} data
+   */
+
+  // Utils
+  // Methods
+  var Popper = function () {
+    /**
+     * Creates a new Popper.js instance.
+     * @class Popper
+     * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
+     * @param {HTMLElement} popper - The HTML element used as the popper
+     * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
+     * @return {Object} instance - The generated Popper.js instance
+     */
+    function Popper(reference, popper) {
+      var _this = this;
+
+      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+      classCallCheck(this, Popper);
+
+      this.scheduleUpdate = function () {
+        return requestAnimationFrame(_this.update);
+      };
+
+      // make update() debounced, so that it only runs at most once-per-tick
+      this.update = debounce(this.update.bind(this));
+
+      // with {} we create a new object with the options inside it
+      this.options = _extends({}, Popper.Defaults, options);
+
+      // init state
+      this.state = {
+        isDestroyed: false,
+        isCreated: false,
+        scrollParents: []
+      };
+
+      // get reference and popper elements (allow jQuery wrappers)
+      this.reference = reference && reference.jquery ? reference[0] : reference;
+      this.popper = popper && popper.jquery ? popper[0] : popper;
+
+      // Deep merge modifiers options
+      this.options.modifiers = {};
+      Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
+        _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
+      });
+
+      // Refactoring modifiers' list (Object => Array)
+      this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
+        return _extends({
+          name: name
+        }, _this.options.modifiers[name]);
+      })
+      // sort the modifiers by order
+      .sort(function (a, b) {
+        return a.order - b.order;
+      });
+
+      // modifiers have the ability to execute arbitrary code when Popper.js get inited
+      // such code is executed in the same order of its modifier
+      // they could add new properties to their options configuration
+      // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
+      this.modifiers.forEach(function (modifierOptions) {
+        if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
+          modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
+        }
+      });
+
+      // fire the first update to position the popper in the right place
+      this.update();
+
+      var eventsEnabled = this.options.eventsEnabled;
+      if (eventsEnabled) {
+        // setup event listeners, they will take care of update the position in specific situations
+        this.enableEventListeners();
+      }
+
+      this.state.eventsEnabled = eventsEnabled;
+    }
+
+    // We can't use class properties because they don't get listed in the
+    // class prototype and break stuff like Sinon stubs
+
+
+    createClass(Popper, [{
+      key: 'update',
+      value: function update$$1() {
+        return update.call(this);
+      }
+    }, {
+      key: 'destroy',
+      value: function destroy$$1() {
+        return destroy.call(this);
+      }
+    }, {
+      key: 'enableEventListeners',
+      value: function enableEventListeners$$1() {
+        return enableEventListeners.call(this);
+      }
+    }, {
+      key: 'disableEventListeners',
+      value: function disableEventListeners$$1() {
+        return disableEventListeners.call(this);
+      }
+
+      /**
+       * Schedules an update. It will run on the next UI update available.
+       * @method scheduleUpdate
+       * @memberof Popper
+       */
+
+
+      /**
+       * Collection of utilities useful when writing custom modifiers.
+       * Starting from version 1.7, this method is available only if you
+       * include `popper-utils.js` before `popper.js`.
+       *
+       * **DEPRECATION**: This way to access PopperUtils is deprecated
+       * and will be removed in v2! Use the PopperUtils module directly instead.
+       * Due to the high instability of the methods contained in Utils, we can't
+       * guarantee them to follow semver. Use them at your own risk!
+       * @static
+       * @private
+       * @type {Object}
+       * @deprecated since version 1.8
+       * @member Utils
+       * @memberof Popper
+       */
+
+    }]);
+    return Popper;
+  }();
+
+  /**
+   * The `referenceObject` is an object that provides an interface compatible with Popper.js
+   * and lets you use it as replacement of a real DOM node.<br />
+   * You can use this method to position a popper relatively to a set of coordinates
+   * in case you don't have a DOM node to use as reference.
+   *
+   * ```
+   * new Popper(referenceObject, popperNode);
+   * ```
+   *
+   * NB: This feature isn't supported in Internet Explorer 10.
+   * @name referenceObject
+   * @property {Function} data.getBoundingClientRect
+   * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
+   * @property {number} data.clientWidth
+   * An ES6 getter that will return the width of the virtual reference element.
+   * @property {number} data.clientHeight
+   * An ES6 getter that will return the height of the virtual reference element.
+   */
+
+
+  Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
+  Popper.placements = placements;
+  Popper.Defaults = Defaults;
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$4 = 'dropdown';
+  var VERSION$4 = '4.3.1';
+  var DATA_KEY$4 = 'bs.dropdown';
+  var EVENT_KEY$4 = "." + DATA_KEY$4;
+  var DATA_API_KEY$4 = '.data-api';
+  var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
+  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
+  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
+  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
+  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
+  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
+  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+  var Event$4 = {
+    HIDE: "hide" + EVENT_KEY$4,
+    HIDDEN: "hidden" + EVENT_KEY$4,
+    SHOW: "show" + EVENT_KEY$4,
+    SHOWN: "shown" + EVENT_KEY$4,
+    CLICK: "click" + EVENT_KEY$4,
+    CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
+    KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
+    KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
+  };
+  var ClassName$4 = {
+    DISABLED: 'disabled',
+    SHOW: 'show',
+    DROPUP: 'dropup',
+    DROPRIGHT: 'dropright',
+    DROPLEFT: 'dropleft',
+    MENURIGHT: 'dropdown-menu-right',
+    MENULEFT: 'dropdown-menu-left',
+    POSITION_STATIC: 'position-static'
+  };
+  var Selector$4 = {
+    DATA_TOGGLE: '[data-toggle="dropdown"]',
+    FORM_CHILD: '.dropdown form',
+    MENU: '.dropdown-menu',
+    NAVBAR_NAV: '.navbar-nav',
+    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
+  };
+  var AttachmentMap = {
+    TOP: 'top-start',
+    TOPEND: 'top-end',
+    BOTTOM: 'bottom-start',
+    BOTTOMEND: 'bottom-end',
+    RIGHT: 'right-start',
+    RIGHTEND: 'right-end',
+    LEFT: 'left-start',
+    LEFTEND: 'left-end'
+  };
+  var Default$2 = {
+    offset: 0,
+    flip: true,
+    boundary: 'scrollParent',
+    reference: 'toggle',
+    display: 'dynamic'
+  };
+  var DefaultType$2 = {
+    offset: '(number|string|function)',
+    flip: 'boolean',
+    boundary: '(string|element)',
+    reference: '(string|element)',
+    display: 'string'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Dropdown =
+  /*#__PURE__*/
+  function () {
+    function Dropdown(element, config) {
+      this._element = element;
+      this._popper = null;
+      this._config = this._getConfig(config);
+      this._menu = this._getMenuElement();
+      this._inNavbar = this._detectNavbar();
+
+      this._addEventListeners();
+    } // Getters
+
+
+    var _proto = Dropdown.prototype;
+
+    // Public
+    _proto.toggle = function toggle() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
+        return;
+      }
+
+      var parent = Dropdown._getParentFromElement(this._element);
+
+      var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
+
+      Dropdown._clearMenus();
+
+      if (isActive) {
+        return;
+      }
+
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
+      $(parent).trigger(showEvent);
+
+      if (showEvent.isDefaultPrevented()) {
+        return;
+      } // Disable totally Popper.js for Dropdown in Navbar
+
+
+      if (!this._inNavbar) {
+        /**
+         * Check for Popper dependency
+         * Popper - https://popper.js.org
+         */
+        if (typeof Popper === 'undefined') {
+          throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
+        }
+
+        var referenceElement = this._element;
+
+        if (this._config.reference === 'parent') {
+          referenceElement = parent;
+        } else if (Util.isElement(this._config.reference)) {
+          referenceElement = this._config.reference; // Check if it's jQuery element
+
+          if (typeof this._config.reference.jquery !== 'undefined') {
+            referenceElement = this._config.reference[0];
+          }
+        } // If boundary is not `scrollParent`, then set position to `static`
+        // to allow the menu to "escape" the scroll parent's boundaries
+        // https://github.com/twbs/bootstrap/issues/24251
+
+
+        if (this._config.boundary !== 'scrollParent') {
+          $(parent).addClass(ClassName$4.POSITION_STATIC);
+        }
+
+        this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
+      } // If this is a touch-enabled device we add extra
+      // empty mouseover listeners to the body's immediate children;
+      // only needed because of broken event delegation on iOS
+      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+
+      if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
+        $(document.body).children().on('mouseover', null, $.noop);
+      }
+
+      this._element.focus();
+
+      this._element.setAttribute('aria-expanded', true);
+
+      $(this._menu).toggleClass(ClassName$4.SHOW);
+      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
+    };
+
+    _proto.show = function show() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
+        return;
+      }
+
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
+
+      var parent = Dropdown._getParentFromElement(this._element);
+
+      $(parent).trigger(showEvent);
+
+      if (showEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      $(this._menu).toggleClass(ClassName$4.SHOW);
+      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
+    };
+
+    _proto.hide = function hide() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
+        return;
+      }
+
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
+
+      var parent = Dropdown._getParentFromElement(this._element);
+
+      $(parent).trigger(hideEvent);
+
+      if (hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      $(this._menu).toggleClass(ClassName$4.SHOW);
+      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$4);
+      $(this._element).off(EVENT_KEY$4);
+      this._element = null;
+      this._menu = null;
+
+      if (this._popper !== null) {
+        this._popper.destroy();
+
+        this._popper = null;
+      }
+    };
+
+    _proto.update = function update() {
+      this._inNavbar = this._detectNavbar();
+
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    } // Private
+    ;
+
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this = this;
+
+      $(this._element).on(Event$4.CLICK, function (event) {
+        event.preventDefault();
+        event.stopPropagation();
+
+        _this.toggle();
+      });
+    };
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
+      Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
+      return config;
+    };
+
+    _proto._getMenuElement = function _getMenuElement() {
+      if (!this._menu) {
+        var parent = Dropdown._getParentFromElement(this._element);
+
+        if (parent) {
+          this._menu = parent.querySelector(Selector$4.MENU);
+        }
+      }
+
+      return this._menu;
+    };
+
+    _proto._getPlacement = function _getPlacement() {
+      var $parentDropdown = $(this._element.parentNode);
+      var placement = AttachmentMap.BOTTOM; // Handle dropup
+
+      if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
+        placement = AttachmentMap.TOP;
+
+        if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
+          placement = AttachmentMap.TOPEND;
+        }
+      } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
+        placement = AttachmentMap.RIGHT;
+      } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
+        placement = AttachmentMap.LEFT;
+      } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
+        placement = AttachmentMap.BOTTOMEND;
+      }
+
+      return placement;
+    };
+
+    _proto._detectNavbar = function _detectNavbar() {
+      return $(this._element).closest('.navbar').length > 0;
+    };
+
+    _proto._getOffset = function _getOffset() {
+      var _this2 = this;
+
+      var offset = {};
+
+      if (typeof this._config.offset === 'function') {
+        offset.fn = function (data) {
+          data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
+          return data;
+        };
+      } else {
+        offset.offset = this._config.offset;
+      }
+
+      return offset;
+    };
+
+    _proto._getPopperConfig = function _getPopperConfig() {
+      var popperConfig = {
+        placement: this._getPlacement(),
+        modifiers: {
+          offset: this._getOffset(),
+          flip: {
+            enabled: this._config.flip
+          },
+          preventOverflow: {
+            boundariesElement: this._config.boundary
+          }
+        } // Disable Popper.js if we have a static display
+
+      };
+
+      if (this._config.display === 'static') {
+        popperConfig.modifiers.applyStyle = {
+          enabled: false
+        };
+      }
+
+      return popperConfig;
+    } // Static
+    ;
+
+    Dropdown._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$4);
+
+        var _config = typeof config === 'object' ? config : null;
+
+        if (!data) {
+          data = new Dropdown(this, _config);
+          $(this).data(DATA_KEY$4, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    Dropdown._clearMenus = function _clearMenus(event) {
+      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+        return;
+      }
+
+      var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
+
+      for (var i = 0, len = toggles.length; i < len; i++) {
+        var parent = Dropdown._getParentFromElement(toggles[i]);
+
+        var context = $(toggles[i]).data(DATA_KEY$4);
+        var relatedTarget = {
+          relatedTarget: toggles[i]
+        };
+
+        if (event && event.type === 'click') {
+          relatedTarget.clickEvent = event;
+        }
+
+        if (!context) {
+          continue;
+        }
+
+        var dropdownMenu = context._menu;
+
+        if (!$(parent).hasClass(ClassName$4.SHOW)) {
+          continue;
+        }
+
+        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
+          continue;
+        }
+
+        var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
+        $(parent).trigger(hideEvent);
+
+        if (hideEvent.isDefaultPrevented()) {
+          continue;
+        } // If this is a touch-enabled device we remove the extra
+        // empty mouseover listeners we added for iOS support
+
+
+        if ('ontouchstart' in document.documentElement) {
+          $(document.body).children().off('mouseover', null, $.noop);
+        }
+
+        toggles[i].setAttribute('aria-expanded', 'false');
+        $(dropdownMenu).removeClass(ClassName$4.SHOW);
+        $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+      }
+    };
+
+    Dropdown._getParentFromElement = function _getParentFromElement(element) {
+      var parent;
+      var selector = Util.getSelectorFromElement(element);
+
+      if (selector) {
+        parent = document.querySelector(selector);
+      }
+
+      return parent || element.parentNode;
+    } // eslint-disable-next-line complexity
+    ;
+
+    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+      // If not input/textarea:
+      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command
+      // If input/textarea:
+      //  - If space key => not a dropdown command
+      //  - If key is other than escape
+      //    - If key is not up or down => not a dropdown command
+      //    - If trigger inside the menu => not a dropdown command
+      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+        return;
+      }
+
+      event.preventDefault();
+      event.stopPropagation();
+
+      if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
+        return;
+      }
+
+      var parent = Dropdown._getParentFromElement(this);
+
+      var isActive = $(parent).hasClass(ClassName$4.SHOW);
+
+      if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+        if (event.which === ESCAPE_KEYCODE) {
+          var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
+          $(toggle).trigger('focus');
+        }
+
+        $(this).trigger('click');
+        return;
+      }
+
+      var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
+
+      if (items.length === 0) {
+        return;
+      }
+
+      var index = items.indexOf(event.target);
+
+      if (event.which === ARROW_UP_KEYCODE && index > 0) {
+        // Up
+        index--;
+      }
+
+      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+        // Down
+        index++;
+      }
+
+      if (index < 0) {
+        index = 0;
+      }
+
+      items[index].focus();
+    };
+
+    _createClass(Dropdown, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$4;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$2;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$2;
+      }
+    }]);
+
+    return Dropdown;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+    event.stopPropagation();
+
+    Dropdown._jQueryInterface.call($(this), 'toggle');
+  }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
+    e.stopPropagation();
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$4] = Dropdown._jQueryInterface;
+  $.fn[NAME$4].Constructor = Dropdown;
+
+  $.fn[NAME$4].noConflict = function () {
+    $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
+    return Dropdown._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$5 = 'modal';
+  var VERSION$5 = '4.3.1';
+  var DATA_KEY$5 = 'bs.modal';
+  var EVENT_KEY$5 = "." + DATA_KEY$5;
+  var DATA_API_KEY$5 = '.data-api';
+  var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
+  var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var Default$3 = {
+    backdrop: true,
+    keyboard: true,
+    focus: true,
+    show: true
+  };
+  var DefaultType$3 = {
+    backdrop: '(boolean|string)',
+    keyboard: 'boolean',
+    focus: 'boolean',
+    show: 'boolean'
+  };
+  var Event$5 = {
+    HIDE: "hide" + EVENT_KEY$5,
+    HIDDEN: "hidden" + EVENT_KEY$5,
+    SHOW: "show" + EVENT_KEY$5,
+    SHOWN: "shown" + EVENT_KEY$5,
+    FOCUSIN: "focusin" + EVENT_KEY$5,
+    RESIZE: "resize" + EVENT_KEY$5,
+    CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
+    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
+    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
+    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
+    CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
+  };
+  var ClassName$5 = {
+    SCROLLABLE: 'modal-dialog-scrollable',
+    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+    BACKDROP: 'modal-backdrop',
+    OPEN: 'modal-open',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$5 = {
+    DIALOG: '.modal-dialog',
+    MODAL_BODY: '.modal-body',
+    DATA_TOGGLE: '[data-toggle="modal"]',
+    DATA_DISMISS: '[data-dismiss="modal"]',
+    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+    STICKY_CONTENT: '.sticky-top'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Modal =
+  /*#__PURE__*/
+  function () {
+    function Modal(element, config) {
+      this._config = this._getConfig(config);
+      this._element = element;
+      this._dialog = element.querySelector(Selector$5.DIALOG);
+      this._backdrop = null;
+      this._isShown = false;
+      this._isBodyOverflowing = false;
+      this._ignoreBackdropClick = false;
+      this._isTransitioning = false;
+      this._scrollbarWidth = 0;
+    } // Getters
+
+
+    var _proto = Modal.prototype;
+
+    // Public
+    _proto.toggle = function toggle(relatedTarget) {
+      return this._isShown ? this.hide() : this.show(relatedTarget);
+    };
+
+    _proto.show = function show(relatedTarget) {
+      var _this = this;
+
+      if (this._isShown || this._isTransitioning) {
+        return;
+      }
+
+      if ($(this._element).hasClass(ClassName$5.FADE)) {
+        this._isTransitioning = true;
+      }
+
+      var showEvent = $.Event(Event$5.SHOW, {
+        relatedTarget: relatedTarget
+      });
+      $(this._element).trigger(showEvent);
+
+      if (this._isShown || showEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._isShown = true;
+
+      this._checkScrollbar();
+
+      this._setScrollbar();
+
+      this._adjustDialog();
+
+      this._setEscapeEvent();
+
+      this._setResizeEvent();
+
+      $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
+        return _this.hide(event);
+      });
+      $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
+        $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
+          if ($(event.target).is(_this._element)) {
+            _this._ignoreBackdropClick = true;
+          }
+        });
+      });
+
+      this._showBackdrop(function () {
+        return _this._showElement(relatedTarget);
+      });
+    };
+
+    _proto.hide = function hide(event) {
+      var _this2 = this;
+
+      if (event) {
+        event.preventDefault();
+      }
+
+      if (!this._isShown || this._isTransitioning) {
+        return;
+      }
+
+      var hideEvent = $.Event(Event$5.HIDE);
+      $(this._element).trigger(hideEvent);
+
+      if (!this._isShown || hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._isShown = false;
+      var transition = $(this._element).hasClass(ClassName$5.FADE);
+
+      if (transition) {
+        this._isTransitioning = true;
+      }
+
+      this._setEscapeEvent();
+
+      this._setResizeEvent();
+
+      $(document).off(Event$5.FOCUSIN);
+      $(this._element).removeClass(ClassName$5.SHOW);
+      $(this._element).off(Event$5.CLICK_DISMISS);
+      $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
+
+      if (transition) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+        $(this._element).one(Util.TRANSITION_END, function (event) {
+          return _this2._hideModal(event);
+        }).emulateTransitionEnd(transitionDuration);
+      } else {
+        this._hideModal();
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      [window, this._element, this._dialog].forEach(function (htmlElement) {
+        return $(htmlElement).off(EVENT_KEY$5);
+      });
+      /**
+       * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+       * Do not move `document` in `htmlElements` array
+       * It will remove `Event.CLICK_DATA_API` event that should remain
+       */
+
+      $(document).off(Event$5.FOCUSIN);
+      $.removeData(this._element, DATA_KEY$5);
+      this._config = null;
+      this._element = null;
+      this._dialog = null;
+      this._backdrop = null;
+      this._isShown = null;
+      this._isBodyOverflowing = null;
+      this._ignoreBackdropClick = null;
+      this._isTransitioning = null;
+      this._scrollbarWidth = null;
+    };
+
+    _proto.handleUpdate = function handleUpdate() {
+      this._adjustDialog();
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$3, config);
+      Util.typeCheckConfig(NAME$5, config, DefaultType$3);
+      return config;
+    };
+
+    _proto._showElement = function _showElement(relatedTarget) {
+      var _this3 = this;
+
+      var transition = $(this._element).hasClass(ClassName$5.FADE);
+
+      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+        // Don't move modal's DOM position
+        document.body.appendChild(this._element);
+      }
+
+      this._element.style.display = 'block';
+
+      this._element.removeAttribute('aria-hidden');
+
+      this._element.setAttribute('aria-modal', true);
+
+      if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
+        this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
+      } else {
+        this._element.scrollTop = 0;
+      }
+
+      if (transition) {
+        Util.reflow(this._element);
+      }
+
+      $(this._element).addClass(ClassName$5.SHOW);
+
+      if (this._config.focus) {
+        this._enforceFocus();
+      }
+
+      var shownEvent = $.Event(Event$5.SHOWN, {
+        relatedTarget: relatedTarget
+      });
+
+      var transitionComplete = function transitionComplete() {
+        if (_this3._config.focus) {
+          _this3._element.focus();
+        }
+
+        _this3._isTransitioning = false;
+        $(_this3._element).trigger(shownEvent);
+      };
+
+      if (transition) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
+        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
+      } else {
+        transitionComplete();
+      }
+    };
+
+    _proto._enforceFocus = function _enforceFocus() {
+      var _this4 = this;
+
+      $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
+      .on(Event$5.FOCUSIN, function (event) {
+        if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
+          _this4._element.focus();
+        }
+      });
+    };
+
+    _proto._setEscapeEvent = function _setEscapeEvent() {
+      var _this5 = this;
+
+      if (this._isShown && this._config.keyboard) {
+        $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
+          if (event.which === ESCAPE_KEYCODE$1) {
+            event.preventDefault();
+
+            _this5.hide();
+          }
+        });
+      } else if (!this._isShown) {
+        $(this._element).off(Event$5.KEYDOWN_DISMISS);
+      }
+    };
+
+    _proto._setResizeEvent = function _setResizeEvent() {
+      var _this6 = this;
+
+      if (this._isShown) {
+        $(window).on(Event$5.RESIZE, function (event) {
+          return _this6.handleUpdate(event);
+        });
+      } else {
+        $(window).off(Event$5.RESIZE);
+      }
+    };
+
+    _proto._hideModal = function _hideModal() {
+      var _this7 = this;
+
+      this._element.style.display = 'none';
+
+      this._element.setAttribute('aria-hidden', true);
+
+      this._element.removeAttribute('aria-modal');
+
+      this._isTransitioning = false;
+
+      this._showBackdrop(function () {
+        $(document.body).removeClass(ClassName$5.OPEN);
+
+        _this7._resetAdjustments();
+
+        _this7._resetScrollbar();
+
+        $(_this7._element).trigger(Event$5.HIDDEN);
+      });
+    };
+
+    _proto._removeBackdrop = function _removeBackdrop() {
+      if (this._backdrop) {
+        $(this._backdrop).remove();
+        this._backdrop = null;
+      }
+    };
+
+    _proto._showBackdrop = function _showBackdrop(callback) {
+      var _this8 = this;
+
+      var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
+
+      if (this._isShown && this._config.backdrop) {
+        this._backdrop = document.createElement('div');
+        this._backdrop.className = ClassName$5.BACKDROP;
+
+        if (animate) {
+          this._backdrop.classList.add(animate);
+        }
+
+        $(this._backdrop).appendTo(document.body);
+        $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
+          if (_this8._ignoreBackdropClick) {
+            _this8._ignoreBackdropClick = false;
+            return;
+          }
+
+          if (event.target !== event.currentTarget) {
+            return;
+          }
+
+          if (_this8._config.backdrop === 'static') {
+            _this8._element.focus();
+          } else {
+            _this8.hide();
+          }
+        });
+
+        if (animate) {
+          Util.reflow(this._backdrop);
+        }
+
+        $(this._backdrop).addClass(ClassName$5.SHOW);
+
+        if (!callback) {
+          return;
+        }
+
+        if (!animate) {
+          callback();
+          return;
+        }
+
+        var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
+        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
+      } else if (!this._isShown && this._backdrop) {
+        $(this._backdrop).removeClass(ClassName$5.SHOW);
+
+        var callbackRemove = function callbackRemove() {
+          _this8._removeBackdrop();
+
+          if (callback) {
+            callback();
+          }
+        };
+
+        if ($(this._element).hasClass(ClassName$5.FADE)) {
+          var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
+
+          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
+        } else {
+          callbackRemove();
+        }
+      } else if (callback) {
+        callback();
+      }
+    } // ----------------------------------------------------------------------
+    // the following methods are used to handle overflowing modals
+    // todo (fat): these should probably be refactored out of modal.js
+    // ----------------------------------------------------------------------
+    ;
+
+    _proto._adjustDialog = function _adjustDialog() {
+      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
+      if (!this._isBodyOverflowing && isModalOverflowing) {
+        this._element.style.paddingLeft = this._scrollbarWidth + "px";
+      }
+
+      if (this._isBodyOverflowing && !isModalOverflowing) {
+        this._element.style.paddingRight = this._scrollbarWidth + "px";
+      }
+    };
+
+    _proto._resetAdjustments = function _resetAdjustments() {
+      this._element.style.paddingLeft = '';
+      this._element.style.paddingRight = '';
+    };
+
+    _proto._checkScrollbar = function _checkScrollbar() {
+      var rect = document.body.getBoundingClientRect();
+      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+      this._scrollbarWidth = this._getScrollbarWidth();
+    };
+
+    _proto._setScrollbar = function _setScrollbar() {
+      var _this9 = this;
+
+      if (this._isBodyOverflowing) {
+        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+        var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
+        var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
+
+        $(fixedContent).each(function (index, element) {
+          var actualPadding = element.style.paddingRight;
+          var calculatedPadding = $(element).css('padding-right');
+          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
+        }); // Adjust sticky content margin
+
+        $(stickyContent).each(function (index, element) {
+          var actualMargin = element.style.marginRight;
+          var calculatedMargin = $(element).css('margin-right');
+          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
+        }); // Adjust body padding
+
+        var actualPadding = document.body.style.paddingRight;
+        var calculatedPadding = $(document.body).css('padding-right');
+        $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+      }
+
+      $(document.body).addClass(ClassName$5.OPEN);
+    };
+
+    _proto._resetScrollbar = function _resetScrollbar() {
+      // Restore fixed content padding
+      var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
+      $(fixedContent).each(function (index, element) {
+        var padding = $(element).data('padding-right');
+        $(element).removeData('padding-right');
+        element.style.paddingRight = padding ? padding : '';
+      }); // Restore sticky content
+
+      var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
+      $(elements).each(function (index, element) {
+        var margin = $(element).data('margin-right');
+
+        if (typeof margin !== 'undefined') {
+          $(element).css('margin-right', margin).removeData('margin-right');
+        }
+      }); // Restore body padding
+
+      var padding = $(document.body).data('padding-right');
+      $(document.body).removeData('padding-right');
+      document.body.style.paddingRight = padding ? padding : '';
+    };
+
+    _proto._getScrollbarWidth = function _getScrollbarWidth() {
+      // thx d.walsh
+      var scrollDiv = document.createElement('div');
+      scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
+      document.body.appendChild(scrollDiv);
+      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+      document.body.removeChild(scrollDiv);
+      return scrollbarWidth;
+    } // Static
+    ;
+
+    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$5);
+
+        var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
+
+        if (!data) {
+          data = new Modal(this, _config);
+          $(this).data(DATA_KEY$5, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config](relatedTarget);
+        } else if (_config.show) {
+          data.show(relatedTarget);
+        }
+      });
+    };
+
+    _createClass(Modal, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$5;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$3;
+      }
+    }]);
+
+    return Modal;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
+    var _this10 = this;
+
+    var target;
+    var selector = Util.getSelectorFromElement(this);
+
+    if (selector) {
+      target = document.querySelector(selector);
+    }
+
+    var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
+
+    if (this.tagName === 'A' || this.tagName === 'AREA') {
+      event.preventDefault();
+    }
+
+    var $target = $(target).one(Event$5.SHOW, function (showEvent) {
+      if (showEvent.isDefaultPrevented()) {
+        // Only register focus restorer if modal will actually get shown
+        return;
+      }
+
+      $target.one(Event$5.HIDDEN, function () {
+        if ($(_this10).is(':visible')) {
+          _this10.focus();
+        }
+      });
+    });
+
+    Modal._jQueryInterface.call($(target), config, this);
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$5] = Modal._jQueryInterface;
+  $.fn[NAME$5].Constructor = Modal;
+
+  $.fn[NAME$5].noConflict = function () {
+    $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
+    return Modal._jQueryInterface;
+  };
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap (v4.3.1): tools/sanitizer.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+  var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
+  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
+  var DefaultWhitelist = {
+    // Global attributes allowed on any supplied element below.
+    '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
+    a: ['target', 'href', 'title', 'rel'],
+    area: [],
+    b: [],
+    br: [],
+    col: [],
+    code: [],
+    div: [],
+    em: [],
+    hr: [],
+    h1: [],
+    h2: [],
+    h3: [],
+    h4: [],
+    h5: [],
+    h6: [],
+    i: [],
+    img: ['src', 'alt', 'title', 'width', 'height'],
+    li: [],
+    ol: [],
+    p: [],
+    pre: [],
+    s: [],
+    small: [],
+    span: [],
+    sub: [],
+    sup: [],
+    strong: [],
+    u: [],
+    ul: []
+    /**
+     * A pattern that recognizes a commonly useful subset of URLs that are safe.
+     *
+     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+     */
+
+  };
+  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
+  /**
+   * A pattern that matches safe data URLs. Only matches image, video and audio types.
+   *
+   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+   */
+
+  var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
+
+  function allowedAttribute(attr, allowedAttributeList) {
+    var attrName = attr.nodeName.toLowerCase();
+
+    if (allowedAttributeList.indexOf(attrName) !== -1) {
+      if (uriAttrs.indexOf(attrName) !== -1) {
+        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+      }
+
+      return true;
+    }
+
+    var regExp = allowedAttributeList.filter(function (attrRegex) {
+      return attrRegex instanceof RegExp;
+    }); // Check if a regular expression validates the attribute.
+
+    for (var i = 0, l = regExp.length; i < l; i++) {
+      if (attrName.match(regExp[i])) {
+        return true;
+      }
+    }
+
+    return false;
+  }
+
+  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
+    if (unsafeHtml.length === 0) {
+      return unsafeHtml;
+    }
+
+    if (sanitizeFn && typeof sanitizeFn === 'function') {
+      return sanitizeFn(unsafeHtml);
+    }
+
+    var domParser = new window.DOMParser();
+    var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
+    var whitelistKeys = Object.keys(whiteList);
+    var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
+
+    var _loop = function _loop(i, len) {
+      var el = elements[i];
+      var elName = el.nodeName.toLowerCase();
+
+      if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
+        el.parentNode.removeChild(el);
+        return "continue";
+      }
+
+      var attributeList = [].slice.call(el.attributes);
+      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
+      attributeList.forEach(function (attr) {
+        if (!allowedAttribute(attr, whitelistedAttributes)) {
+          el.removeAttribute(attr.nodeName);
+        }
+      });
+    };
+
+    for (var i = 0, len = elements.length; i < len; i++) {
+      var _ret = _loop(i, len);
+
+      if (_ret === "continue") continue;
+    }
+
+    return createdDocument.body.innerHTML;
+  }
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$6 = 'tooltip';
+  var VERSION$6 = '4.3.1';
+  var DATA_KEY$6 = 'bs.tooltip';
+  var EVENT_KEY$6 = "." + DATA_KEY$6;
+  var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
+  var CLASS_PREFIX = 'bs-tooltip';
+  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
+  var DefaultType$4 = {
+    animation: 'boolean',
+    template: 'string',
+    title: '(string|element|function)',
+    trigger: 'string',
+    delay: '(number|object)',
+    html: 'boolean',
+    selector: '(string|boolean)',
+    placement: '(string|function)',
+    offset: '(number|string|function)',
+    container: '(string|element|boolean)',
+    fallbackPlacement: '(string|array)',
+    boundary: '(string|element)',
+    sanitize: 'boolean',
+    sanitizeFn: '(null|function)',
+    whiteList: 'object'
+  };
+  var AttachmentMap$1 = {
+    AUTO: 'auto',
+    TOP: 'top',
+    RIGHT: 'right',
+    BOTTOM: 'bottom',
+    LEFT: 'left'
+  };
+  var Default$4 = {
+    animation: true,
+    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+    trigger: 'hover focus',
+    title: '',
+    delay: 0,
+    html: false,
+    selector: false,
+    placement: 'top',
+    offset: 0,
+    container: false,
+    fallbackPlacement: 'flip',
+    boundary: 'scrollParent',
+    sanitize: true,
+    sanitizeFn: null,
+    whiteList: DefaultWhitelist
+  };
+  var HoverState = {
+    SHOW: 'show',
+    OUT: 'out'
+  };
+  var Event$6 = {
+    HIDE: "hide" + EVENT_KEY$6,
+    HIDDEN: "hidden" + EVENT_KEY$6,
+    SHOW: "show" + EVENT_KEY$6,
+    SHOWN: "shown" + EVENT_KEY$6,
+    INSERTED: "inserted" + EVENT_KEY$6,
+    CLICK: "click" + EVENT_KEY$6,
+    FOCUSIN: "focusin" + EVENT_KEY$6,
+    FOCUSOUT: "focusout" + EVENT_KEY$6,
+    MOUSEENTER: "mouseenter" + EVENT_KEY$6,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY$6
+  };
+  var ClassName$6 = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$6 = {
+    TOOLTIP: '.tooltip',
+    TOOLTIP_INNER: '.tooltip-inner',
+    ARROW: '.arrow'
+  };
+  var Trigger = {
+    HOVER: 'hover',
+    FOCUS: 'focus',
+    CLICK: 'click',
+    MANUAL: 'manual'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tooltip =
+  /*#__PURE__*/
+  function () {
+    function Tooltip(element, config) {
+      /**
+       * Check for Popper dependency
+       * Popper - https://popper.js.org
+       */
+      if (typeof Popper === 'undefined') {
+        throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
+      } // private
+
+
+      this._isEnabled = true;
+      this._timeout = 0;
+      this._hoverState = '';
+      this._activeTrigger = {};
+      this._popper = null; // Protected
+
+      this.element = element;
+      this.config = this._getConfig(config);
+      this.tip = null;
+
+      this._setListeners();
+    } // Getters
+
+
+    var _proto = Tooltip.prototype;
+
+    // Public
+    _proto.enable = function enable() {
+      this._isEnabled = true;
+    };
+
+    _proto.disable = function disable() {
+      this._isEnabled = false;
+    };
+
+    _proto.toggleEnabled = function toggleEnabled() {
+      this._isEnabled = !this._isEnabled;
+    };
+
+    _proto.toggle = function toggle(event) {
+      if (!this._isEnabled) {
+        return;
+      }
+
+      if (event) {
+        var dataKey = this.constructor.DATA_KEY;
+        var context = $(event.currentTarget).data(dataKey);
+
+        if (!context) {
+          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+          $(event.currentTarget).data(dataKey, context);
+        }
+
+        context._activeTrigger.click = !context._activeTrigger.click;
+
+        if (context._isWithActiveTrigger()) {
+          context._enter(null, context);
+        } else {
+          context._leave(null, context);
+        }
+      } else {
+        if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
+          this._leave(null, this);
+
+          return;
+        }
+
+        this._enter(null, this);
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      clearTimeout(this._timeout);
+      $.removeData(this.element, this.constructor.DATA_KEY);
+      $(this.element).off(this.constructor.EVENT_KEY);
+      $(this.element).closest('.modal').off('hide.bs.modal');
+
+      if (this.tip) {
+        $(this.tip).remove();
+      }
+
+      this._isEnabled = null;
+      this._timeout = null;
+      this._hoverState = null;
+      this._activeTrigger = null;
+
+      if (this._popper !== null) {
+        this._popper.destroy();
+      }
+
+      this._popper = null;
+      this.element = null;
+      this.config = null;
+      this.tip = null;
+    };
+
+    _proto.show = function show() {
+      var _this = this;
+
+      if ($(this.element).css('display') === 'none') {
+        throw new Error('Please use show on visible elements');
+      }
+
+      var showEvent = $.Event(this.constructor.Event.SHOW);
+
+      if (this.isWithContent() && this._isEnabled) {
+        $(this.element).trigger(showEvent);
+        var shadowRoot = Util.findShadowRoot(this.element);
+        var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
+
+        if (showEvent.isDefaultPrevented() || !isInTheDom) {
+          return;
+        }
+
+        var tip = this.getTipElement();
+        var tipId = Util.getUID(this.constructor.NAME);
+        tip.setAttribute('id', tipId);
+        this.element.setAttribute('aria-describedby', tipId);
+        this.setContent();
+
+        if (this.config.animation) {
+          $(tip).addClass(ClassName$6.FADE);
+        }
+
+        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
+        var attachment = this._getAttachment(placement);
+
+        this.addAttachmentClass(attachment);
+
+        var container = this._getContainer();
+
+        $(tip).data(this.constructor.DATA_KEY, this);
+
+        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+          $(tip).appendTo(container);
+        }
+
+        $(this.element).trigger(this.constructor.Event.INSERTED);
+        this._popper = new Popper(this.element, tip, {
+          placement: attachment,
+          modifiers: {
+            offset: this._getOffset(),
+            flip: {
+              behavior: this.config.fallbackPlacement
+            },
+            arrow: {
+              element: Selector$6.ARROW
+            },
+            preventOverflow: {
+              boundariesElement: this.config.boundary
+            }
+          },
+          onCreate: function onCreate(data) {
+            if (data.originalPlacement !== data.placement) {
+              _this._handlePopperPlacementChange(data);
+            }
+          },
+          onUpdate: function onUpdate(data) {
+            return _this._handlePopperPlacementChange(data);
+          }
+        });
+        $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
+        // empty mouseover listeners to the body's immediate children;
+        // only needed because of broken event delegation on iOS
+        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+        if ('ontouchstart' in document.documentElement) {
+          $(document.body).children().on('mouseover', null, $.noop);
+        }
+
+        var complete = function complete() {
+          if (_this.config.animation) {
+            _this._fixTransition();
+          }
+
+          var prevHoverState = _this._hoverState;
+          _this._hoverState = null;
+          $(_this.element).trigger(_this.constructor.Event.SHOWN);
+
+          if (prevHoverState === HoverState.OUT) {
+            _this._leave(null, _this);
+          }
+        };
+
+        if ($(this.tip).hasClass(ClassName$6.FADE)) {
+          var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
+          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+        } else {
+          complete();
+        }
+      }
+    };
+
+    _proto.hide = function hide(callback) {
+      var _this2 = this;
+
+      var tip = this.getTipElement();
+      var hideEvent = $.Event(this.constructor.Event.HIDE);
+
+      var complete = function complete() {
+        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+          tip.parentNode.removeChild(tip);
+        }
+
+        _this2._cleanTipClass();
+
+        _this2.element.removeAttribute('aria-describedby');
+
+        $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+
+        if (_this2._popper !== null) {
+          _this2._popper.destroy();
+        }
+
+        if (callback) {
+          callback();
+        }
+      };
+
+      $(this.element).trigger(hideEvent);
+
+      if (hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
+      // empty mouseover listeners we added for iOS support
+
+      if ('ontouchstart' in document.documentElement) {
+        $(document.body).children().off('mouseover', null, $.noop);
+      }
+
+      this._activeTrigger[Trigger.CLICK] = false;
+      this._activeTrigger[Trigger.FOCUS] = false;
+      this._activeTrigger[Trigger.HOVER] = false;
+
+      if ($(this.tip).hasClass(ClassName$6.FADE)) {
+        var transitionDuration = Util.getTransitionDurationFromElement(tip);
+        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
+
+      this._hoverState = '';
+    };
+
+    _proto.update = function update() {
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    } // Protected
+    ;
+
+    _proto.isWithContent = function isWithContent() {
+      return Boolean(this.getTitle());
+    };
+
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+    };
+
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
+
+    _proto.setContent = function setContent() {
+      var tip = this.getTipElement();
+      this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
+      $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
+    };
+
+    _proto.setElementContent = function setElementContent($element, content) {
+      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
+        // Content is a DOM node or a jQuery
+        if (this.config.html) {
+          if (!$(content).parent().is($element)) {
+            $element.empty().append(content);
+          }
+        } else {
+          $element.text($(content).text());
+        }
+
+        return;
+      }
+
+      if (this.config.html) {
+        if (this.config.sanitize) {
+          content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
+        }
+
+        $element.html(content);
+      } else {
+        $element.text(content);
+      }
+    };
+
+    _proto.getTitle = function getTitle() {
+      var title = this.element.getAttribute('data-original-title');
+
+      if (!title) {
+        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+      }
+
+      return title;
+    } // Private
+    ;
+
+    _proto._getOffset = function _getOffset() {
+      var _this3 = this;
+
+      var offset = {};
+
+      if (typeof this.config.offset === 'function') {
+        offset.fn = function (data) {
+          data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
+          return data;
+        };
+      } else {
+        offset.offset = this.config.offset;
+      }
+
+      return offset;
+    };
+
+    _proto._getContainer = function _getContainer() {
+      if (this.config.container === false) {
+        return document.body;
+      }
+
+      if (Util.isElement(this.config.container)) {
+        return $(this.config.container);
+      }
+
+      return $(document).find(this.config.container);
+    };
+
+    _proto._getAttachment = function _getAttachment(placement) {
+      return AttachmentMap$1[placement.toUpperCase()];
+    };
+
+    _proto._setListeners = function _setListeners() {
+      var _this4 = this;
+
+      var triggers = this.config.trigger.split(' ');
+      triggers.forEach(function (trigger) {
+        if (trigger === 'click') {
+          $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
+            return _this4.toggle(event);
+          });
+        } else if (trigger !== Trigger.MANUAL) {
+          var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
+          var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
+          $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
+            return _this4._enter(event);
+          }).on(eventOut, _this4.config.selector, function (event) {
+            return _this4._leave(event);
+          });
+        }
+      });
+      $(this.element).closest('.modal').on('hide.bs.modal', function () {
+        if (_this4.element) {
+          _this4.hide();
+        }
+      });
+
+      if (this.config.selector) {
+        this.config = _objectSpread({}, this.config, {
+          trigger: 'manual',
+          selector: ''
+        });
+      } else {
+        this._fixTitle();
+      }
+    };
+
+    _proto._fixTitle = function _fixTitle() {
+      var titleType = typeof this.element.getAttribute('data-original-title');
+
+      if (this.element.getAttribute('title') || titleType !== 'string') {
+        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+        this.element.setAttribute('title', '');
+      }
+    };
+
+    _proto._enter = function _enter(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
+
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
+
+      if (event) {
+        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+      }
+
+      if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
+        context._hoverState = HoverState.SHOW;
+        return;
+      }
+
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.SHOW;
+
+      if (!context.config.delay || !context.config.delay.show) {
+        context.show();
+        return;
+      }
+
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.SHOW) {
+          context.show();
+        }
+      }, context.config.delay.show);
+    };
+
+    _proto._leave = function _leave(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
+
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
+
+      if (event) {
+        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+      }
+
+      if (context._isWithActiveTrigger()) {
+        return;
+      }
+
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.OUT;
+
+      if (!context.config.delay || !context.config.delay.hide) {
+        context.hide();
+        return;
+      }
+
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.OUT) {
+          context.hide();
+        }
+      }, context.config.delay.hide);
+    };
+
+    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
+      for (var trigger in this._activeTrigger) {
+        if (this._activeTrigger[trigger]) {
+          return true;
+        }
+      }
+
+      return false;
+    };
+
+    _proto._getConfig = function _getConfig(config) {
+      var dataAttributes = $(this.element).data();
+      Object.keys(dataAttributes).forEach(function (dataAttr) {
+        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
+          delete dataAttributes[dataAttr];
+        }
+      });
+      config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
+
+      if (typeof config.delay === 'number') {
+        config.delay = {
+          show: config.delay,
+          hide: config.delay
+        };
+      }
+
+      if (typeof config.title === 'number') {
+        config.title = config.title.toString();
+      }
+
+      if (typeof config.content === 'number') {
+        config.content = config.content.toString();
+      }
+
+      Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
+
+      if (config.sanitize) {
+        config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
+      }
+
+      return config;
+    };
+
+    _proto._getDelegateConfig = function _getDelegateConfig() {
+      var config = {};
+
+      if (this.config) {
+        for (var key in this.config) {
+          if (this.constructor.Default[key] !== this.config[key]) {
+            config[key] = this.config[key];
+          }
+        }
+      }
+
+      return config;
+    };
+
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
+      if (tabClass !== null && tabClass.length) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    };
+
+    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
+      var popperInstance = popperData.instance;
+      this.tip = popperInstance.popper;
+
+      this._cleanTipClass();
+
+      this.addAttachmentClass(this._getAttachment(popperData.placement));
+    };
+
+    _proto._fixTransition = function _fixTransition() {
+      var tip = this.getTipElement();
+      var initConfigAnimation = this.config.animation;
+
+      if (tip.getAttribute('x-placement') !== null) {
+        return;
+      }
+
+      $(tip).removeClass(ClassName$6.FADE);
+      this.config.animation = false;
+      this.hide();
+      this.show();
+      this.config.animation = initConfigAnimation;
+    } // Static
+    ;
+
+    Tooltip._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$6);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data && /dispose|hide/.test(config)) {
+          return;
+        }
+
+        if (!data) {
+          data = new Tooltip(this, _config);
+          $(this).data(DATA_KEY$6, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(Tooltip, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$6;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$4;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME$6;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY$6;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event$6;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY$6;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$4;
+      }
+    }]);
+
+    return Tooltip;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME$6] = Tooltip._jQueryInterface;
+  $.fn[NAME$6].Constructor = Tooltip;
+
+  $.fn[NAME$6].noConflict = function () {
+    $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
+    return Tooltip._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$7 = 'popover';
+  var VERSION$7 = '4.3.1';
+  var DATA_KEY$7 = 'bs.popover';
+  var EVENT_KEY$7 = "." + DATA_KEY$7;
+  var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
+  var CLASS_PREFIX$1 = 'bs-popover';
+  var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
+
+  var Default$5 = _objectSpread({}, Tooltip.Default, {
+    placement: 'right',
+    trigger: 'click',
+    content: '',
+    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
+  });
+
+  var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {
+    content: '(string|element|function)'
+  });
+
+  var ClassName$7 = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$7 = {
+    TITLE: '.popover-header',
+    CONTENT: '.popover-body'
+  };
+  var Event$7 = {
+    HIDE: "hide" + EVENT_KEY$7,
+    HIDDEN: "hidden" + EVENT_KEY$7,
+    SHOW: "show" + EVENT_KEY$7,
+    SHOWN: "shown" + EVENT_KEY$7,
+    INSERTED: "inserted" + EVENT_KEY$7,
+    CLICK: "click" + EVENT_KEY$7,
+    FOCUSIN: "focusin" + EVENT_KEY$7,
+    FOCUSOUT: "focusout" + EVENT_KEY$7,
+    MOUSEENTER: "mouseenter" + EVENT_KEY$7,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY$7
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Popover =
+  /*#__PURE__*/
+  function (_Tooltip) {
+    _inheritsLoose(Popover, _Tooltip);
+
+    function Popover() {
+      return _Tooltip.apply(this, arguments) || this;
+    }
+
+    var _proto = Popover.prototype;
+
+    // Overrides
+    _proto.isWithContent = function isWithContent() {
+      return this.getTitle() || this._getContent();
+    };
+
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
+    };
+
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
+
+    _proto.setContent = function setContent() {
+      var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
+
+      this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
+
+      var content = this._getContent();
+
+      if (typeof content === 'function') {
+        content = content.call(this.element);
+      }
+
+      this.setElementContent($tip.find(Selector$7.CONTENT), content);
+      $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
+    } // Private
+    ;
+
+    _proto._getContent = function _getContent() {
+      return this.element.getAttribute('data-content') || this.config.content;
+    };
+
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
+
+      if (tabClass !== null && tabClass.length > 0) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    } // Static
+    ;
+
+    Popover._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$7);
+
+        var _config = typeof config === 'object' ? config : null;
+
+        if (!data && /dispose|hide/.test(config)) {
+          return;
+        }
+
+        if (!data) {
+          data = new Popover(this, _config);
+          $(this).data(DATA_KEY$7, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(Popover, null, [{
+      key: "VERSION",
+      // Getters
+      get: function get() {
+        return VERSION$7;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$5;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME$7;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY$7;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event$7;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY$7;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$5;
+      }
+    }]);
+
+    return Popover;
+  }(Tooltip);
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME$7] = Popover._jQueryInterface;
+  $.fn[NAME$7].Constructor = Popover;
+
+  $.fn[NAME$7].noConflict = function () {
+    $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
+    return Popover._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$8 = 'scrollspy';
+  var VERSION$8 = '4.3.1';
+  var DATA_KEY$8 = 'bs.scrollspy';
+  var EVENT_KEY$8 = "." + DATA_KEY$8;
+  var DATA_API_KEY$6 = '.data-api';
+  var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];
+  var Default$6 = {
+    offset: 10,
+    method: 'auto',
+    target: ''
+  };
+  var DefaultType$6 = {
+    offset: 'number',
+    method: 'string',
+    target: '(string|element)'
+  };
+  var Event$8 = {
+    ACTIVATE: "activate" + EVENT_KEY$8,
+    SCROLL: "scroll" + EVENT_KEY$8,
+    LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
+  };
+  var ClassName$8 = {
+    DROPDOWN_ITEM: 'dropdown-item',
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active'
+  };
+  var Selector$8 = {
+    DATA_SPY: '[data-spy="scroll"]',
+    ACTIVE: '.active',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    NAV_LINKS: '.nav-link',
+    NAV_ITEMS: '.nav-item',
+    LIST_ITEMS: '.list-group-item',
+    DROPDOWN: '.dropdown',
+    DROPDOWN_ITEMS: '.dropdown-item',
+    DROPDOWN_TOGGLE: '.dropdown-toggle'
+  };
+  var OffsetMethod = {
+    OFFSET: 'offset',
+    POSITION: 'position'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var ScrollSpy =
+  /*#__PURE__*/
+  function () {
+    function ScrollSpy(element, config) {
+      var _this = this;
+
+      this._element = element;
+      this._scrollElement = element.tagName === 'BODY' ? window : element;
+      this._config = this._getConfig(config);
+      this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
+      this._offsets = [];
+      this._targets = [];
+      this._activeTarget = null;
+      this._scrollHeight = 0;
+      $(this._scrollElement).on(Event$8.SCROLL, function (event) {
+        return _this._process(event);
+      });
+      this.refresh();
+
+      this._process();
+    } // Getters
+
+
+    var _proto = ScrollSpy.prototype;
+
+    // Public
+    _proto.refresh = function refresh() {
+      var _this2 = this;
+
+      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+      this._offsets = [];
+      this._targets = [];
+      this._scrollHeight = this._getScrollHeight();
+      var targets = [].slice.call(document.querySelectorAll(this._selector));
+      targets.map(function (element) {
+        var target;
+        var targetSelector = Util.getSelectorFromElement(element);
+
+        if (targetSelector) {
+          target = document.querySelector(targetSelector);
+        }
+
+        if (target) {
+          var targetBCR = target.getBoundingClientRect();
+
+          if (targetBCR.width || targetBCR.height) {
+            // TODO (fat): remove sketch reliance on jQuery position/offset
+            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+          }
+        }
+
+        return null;
+      }).filter(function (item) {
+        return item;
+      }).sort(function (a, b) {
+        return a[0] - b[0];
+      }).forEach(function (item) {
+        _this2._offsets.push(item[0]);
+
+        _this2._targets.push(item[1]);
+      });
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$8);
+      $(this._scrollElement).off(EVENT_KEY$8);
+      this._element = null;
+      this._scrollElement = null;
+      this._config = null;
+      this._selector = null;
+      this._offsets = null;
+      this._targets = null;
+      this._activeTarget = null;
+      this._scrollHeight = null;
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
+
+      if (typeof config.target !== 'string') {
+        var id = $(config.target).attr('id');
+
+        if (!id) {
+          id = Util.getUID(NAME$8);
+          $(config.target).attr('id', id);
+        }
+
+        config.target = "#" + id;
+      }
+
+      Util.typeCheckConfig(NAME$8, config, DefaultType$6);
+      return config;
+    };
+
+    _proto._getScrollTop = function _getScrollTop() {
+      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+    };
+
+    _proto._getScrollHeight = function _getScrollHeight() {
+      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+    };
+
+    _proto._getOffsetHeight = function _getOffsetHeight() {
+      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+    };
+
+    _proto._process = function _process() {
+      var scrollTop = this._getScrollTop() + this._config.offset;
+
+      var scrollHeight = this._getScrollHeight();
+
+      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
+      if (this._scrollHeight !== scrollHeight) {
+        this.refresh();
+      }
+
+      if (scrollTop >= maxScroll) {
+        var target = this._targets[this._targets.length - 1];
+
+        if (this._activeTarget !== target) {
+          this._activate(target);
+        }
+
+        return;
+      }
+
+      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+        this._activeTarget = null;
+
+        this._clear();
+
+        return;
+      }
+
+      var offsetLength = this._offsets.length;
+
+      for (var i = offsetLength; i--;) {
+        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
+
+        if (isActiveTarget) {
+          this._activate(this._targets[i]);
+        }
+      }
+    };
+
+    _proto._activate = function _activate(target) {
+      this._activeTarget = target;
+
+      this._clear();
+
+      var queries = this._selector.split(',').map(function (selector) {
+        return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
+      });
+
+      var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
+
+      if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
+        $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
+        $link.addClass(ClassName$8.ACTIVE);
+      } else {
+        // Set triggered link as active
+        $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active
+        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+
+        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+
+        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
+      }
+
+      $(this._scrollElement).trigger(Event$8.ACTIVATE, {
+        relatedTarget: target
+      });
+    };
+
+    _proto._clear = function _clear() {
+      [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
+        return node.classList.contains(ClassName$8.ACTIVE);
+      }).forEach(function (node) {
+        return node.classList.remove(ClassName$8.ACTIVE);
+      });
+    } // Static
+    ;
+
+    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$8);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data) {
+          data = new ScrollSpy(this, _config);
+          $(this).data(DATA_KEY$8, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(ScrollSpy, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$8;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$6;
+      }
+    }]);
+
+    return ScrollSpy;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(window).on(Event$8.LOAD_DATA_API, function () {
+    var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
+    var scrollSpysLength = scrollSpys.length;
+
+    for (var i = scrollSpysLength; i--;) {
+      var $spy = $(scrollSpys[i]);
+
+      ScrollSpy._jQueryInterface.call($spy, $spy.data());
+    }
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$8] = ScrollSpy._jQueryInterface;
+  $.fn[NAME$8].Constructor = ScrollSpy;
+
+  $.fn[NAME$8].noConflict = function () {
+    $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
+    return ScrollSpy._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$9 = 'tab';
+  var VERSION$9 = '4.3.1';
+  var DATA_KEY$9 = 'bs.tab';
+  var EVENT_KEY$9 = "." + DATA_KEY$9;
+  var DATA_API_KEY$7 = '.data-api';
+  var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
+  var Event$9 = {
+    HIDE: "hide" + EVENT_KEY$9,
+    HIDDEN: "hidden" + EVENT_KEY$9,
+    SHOW: "show" + EVENT_KEY$9,
+    SHOWN: "shown" + EVENT_KEY$9,
+    CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
+  };
+  var ClassName$9 = {
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active',
+    DISABLED: 'disabled',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$9 = {
+    DROPDOWN: '.dropdown',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    ACTIVE: '.active',
+    ACTIVE_UL: '> li > .active',
+    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+    DROPDOWN_TOGGLE: '.dropdown-toggle',
+    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tab =
+  /*#__PURE__*/
+  function () {
+    function Tab(element) {
+      this._element = element;
+    } // Getters
+
+
+    var _proto = Tab.prototype;
+
+    // Public
+    _proto.show = function show() {
+      var _this = this;
+
+      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
+        return;
+      }
+
+      var target;
+      var previous;
+      var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
+      var selector = Util.getSelectorFromElement(this._element);
+
+      if (listElement) {
+        var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
+        previous = $.makeArray($(listElement).find(itemSelector));
+        previous = previous[previous.length - 1];
+      }
+
+      var hideEvent = $.Event(Event$9.HIDE, {
+        relatedTarget: this._element
+      });
+      var showEvent = $.Event(Event$9.SHOW, {
+        relatedTarget: previous
+      });
+
+      if (previous) {
+        $(previous).trigger(hideEvent);
+      }
+
+      $(this._element).trigger(showEvent);
+
+      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (selector) {
+        target = document.querySelector(selector);
+      }
+
+      this._activate(this._element, listElement);
+
+      var complete = function complete() {
+        var hiddenEvent = $.Event(Event$9.HIDDEN, {
+          relatedTarget: _this._element
+        });
+        var shownEvent = $.Event(Event$9.SHOWN, {
+          relatedTarget: previous
+        });
+        $(previous).trigger(hiddenEvent);
+        $(_this._element).trigger(shownEvent);
+      };
+
+      if (target) {
+        this._activate(target, target.parentNode, complete);
+      } else {
+        complete();
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$9);
+      this._element = null;
+    } // Private
+    ;
+
+    _proto._activate = function _activate(element, container, callback) {
+      var _this2 = this;
+
+      var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
+      var active = activeElements[0];
+      var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
+
+      var complete = function complete() {
+        return _this2._transitionComplete(element, active, callback);
+      };
+
+      if (active && isTransitioning) {
+        var transitionDuration = Util.getTransitionDurationFromElement(active);
+        $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
+    };
+
+    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
+      if (active) {
+        $(active).removeClass(ClassName$9.ACTIVE);
+        var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
+
+        if (dropdownChild) {
+          $(dropdownChild).removeClass(ClassName$9.ACTIVE);
+        }
+
+        if (active.getAttribute('role') === 'tab') {
+          active.setAttribute('aria-selected', false);
+        }
+      }
+
+      $(element).addClass(ClassName$9.ACTIVE);
+
+      if (element.getAttribute('role') === 'tab') {
+        element.setAttribute('aria-selected', true);
+      }
+
+      Util.reflow(element);
+
+      if (element.classList.contains(ClassName$9.FADE)) {
+        element.classList.add(ClassName$9.SHOW);
+      }
+
+      if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
+        var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
+
+        if (dropdownElement) {
+          var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
+          $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
+        }
+
+        element.setAttribute('aria-expanded', true);
+      }
+
+      if (callback) {
+        callback();
+      }
+    } // Static
+    ;
+
+    Tab._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY$9);
+
+        if (!data) {
+          data = new Tab(this);
+          $this.data(DATA_KEY$9, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(Tab, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$9;
+      }
+    }]);
+
+    return Tab;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+
+    Tab._jQueryInterface.call($(this), 'show');
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$9] = Tab._jQueryInterface;
+  $.fn[NAME$9].Constructor = Tab;
+
+  $.fn[NAME$9].noConflict = function () {
+    $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
+    return Tab._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$a = 'toast';
+  var VERSION$a = '4.3.1';
+  var DATA_KEY$a = 'bs.toast';
+  var EVENT_KEY$a = "." + DATA_KEY$a;
+  var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
+  var Event$a = {
+    CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
+    HIDE: "hide" + EVENT_KEY$a,
+    HIDDEN: "hidden" + EVENT_KEY$a,
+    SHOW: "show" + EVENT_KEY$a,
+    SHOWN: "shown" + EVENT_KEY$a
+  };
+  var ClassName$a = {
+    FADE: 'fade',
+    HIDE: 'hide',
+    SHOW: 'show',
+    SHOWING: 'showing'
+  };
+  var DefaultType$7 = {
+    animation: 'boolean',
+    autohide: 'boolean',
+    delay: 'number'
+  };
+  var Default$7 = {
+    animation: true,
+    autohide: true,
+    delay: 500
+  };
+  var Selector$a = {
+    DATA_DISMISS: '[data-dismiss="toast"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Toast =
+  /*#__PURE__*/
+  function () {
+    function Toast(element, config) {
+      this._element = element;
+      this._config = this._getConfig(config);
+      this._timeout = null;
+
+      this._setListeners();
+    } // Getters
+
+
+    var _proto = Toast.prototype;
+
+    // Public
+    _proto.show = function show() {
+      var _this = this;
+
+      $(this._element).trigger(Event$a.SHOW);
+
+      if (this._config.animation) {
+        this._element.classList.add(ClassName$a.FADE);
+      }
+
+      var complete = function complete() {
+        _this._element.classList.remove(ClassName$a.SHOWING);
+
+        _this._element.classList.add(ClassName$a.SHOW);
+
+        $(_this._element).trigger(Event$a.SHOWN);
+
+        if (_this._config.autohide) {
+          _this.hide();
+        }
+      };
+
+      this._element.classList.remove(ClassName$a.HIDE);
+
+      this._element.classList.add(ClassName$a.SHOWING);
+
+      if (this._config.animation) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
+    };
+
+    _proto.hide = function hide(withoutTimeout) {
+      var _this2 = this;
+
+      if (!this._element.classList.contains(ClassName$a.SHOW)) {
+        return;
+      }
+
+      $(this._element).trigger(Event$a.HIDE);
+
+      if (withoutTimeout) {
+        this._close();
+      } else {
+        this._timeout = setTimeout(function () {
+          _this2._close();
+        }, this._config.delay);
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      clearTimeout(this._timeout);
+      this._timeout = null;
+
+      if (this._element.classList.contains(ClassName$a.SHOW)) {
+        this._element.classList.remove(ClassName$a.SHOW);
+      }
+
+      $(this._element).off(Event$a.CLICK_DISMISS);
+      $.removeData(this._element, DATA_KEY$a);
+      this._element = null;
+      this._config = null;
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
+      Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
+      return config;
+    };
+
+    _proto._setListeners = function _setListeners() {
+      var _this3 = this;
+
+      $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
+        return _this3.hide(true);
+      });
+    };
+
+    _proto._close = function _close() {
+      var _this4 = this;
+
+      var complete = function complete() {
+        _this4._element.classList.add(ClassName$a.HIDE);
+
+        $(_this4._element).trigger(Event$a.HIDDEN);
+      };
+
+      this._element.classList.remove(ClassName$a.SHOW);
+
+      if (this._config.animation) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
+    } // Static
+    ;
+
+    Toast._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $element = $(this);
+        var data = $element.data(DATA_KEY$a);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data) {
+          data = new Toast(this, _config);
+          $element.data(DATA_KEY$a, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config](this);
+        }
+      });
+    };
+
+    _createClass(Toast, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$a;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$7;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$7;
+      }
+    }]);
+
+    return Toast;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME$a] = Toast._jQueryInterface;
+  $.fn[NAME$a].Constructor = Toast;
+
+  $.fn[NAME$a].noConflict = function () {
+    $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
+    return Toast._jQueryInterface;
+  };
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap (v4.3.1): index.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+  (function () {
+    if (typeof $ === 'undefined') {
+      throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+    }
+
+    var version = $.fn.jquery.split(' ')[0].split('.');
+    var minMajor = 1;
+    var ltMajor = 2;
+    var minMinor = 9;
+    var minPatch = 1;
+    var maxMajor = 4;
+
+    if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
+      throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
+    }
+  })();
+
+  exports.Util = Util;
+  exports.Alert = Alert;
+  exports.Button = Button;
+  exports.Carousel = Carousel;
+  exports.Collapse = Collapse;
+  exports.Dropdown = Dropdown;
+  exports.Modal = Modal;
+  exports.Popover = Popover;
+  exports.Scrollspy = ScrollSpy;
+  exports.Tab = Tab;
+  exports.Toast = Toast;
+  exports.Tooltip = Tooltip;
+
+  Object.defineProperty(exports, '__esModule', { value: true });
+
+}));
+//# sourceMappingURL=bootstrap.bundle.js.map

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/js/bootstrap.bundle.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 5 - 0
resources/bootstrap/js/bootstrap.bundle.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/js/bootstrap.bundle.min.js.map


+ 3861 - 1789
resources/bootstrap/js/bootstrap.js

@@ -1,2363 +1,4435 @@
 /*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under the MIT license
- */
-
-if (typeof jQuery === 'undefined') {
-  throw new Error('Bootstrap\'s JavaScript requires jQuery')
-}
-
-+function ($) {
-  'use strict';
-  var version = $.fn.jquery.split(' ')[0].split('.')
-  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) {
-    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3')
+  * Bootstrap v4.3.1 (https://getbootstrap.com/)
+  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+  */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
+  typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
+  (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
+}(this, function (exports, $, Popper) { 'use strict';
+
+  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+  Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
+
+  function _defineProperties(target, props) {
+    for (var i = 0; i < props.length; i++) {
+      var descriptor = props[i];
+      descriptor.enumerable = descriptor.enumerable || false;
+      descriptor.configurable = true;
+      if ("value" in descriptor) descriptor.writable = true;
+      Object.defineProperty(target, descriptor.key, descriptor);
+    }
   }
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: transition.js v3.3.6
- * http://getbootstrap.com/javascript/#transitions
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
 
+  function _createClass(Constructor, protoProps, staticProps) {
+    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+    if (staticProps) _defineProperties(Constructor, staticProps);
+    return Constructor;
+  }
 
-+function ($) {
-  'use strict';
-
-  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
-  // ============================================================
+  function _defineProperty(obj, key, value) {
+    if (key in obj) {
+      Object.defineProperty(obj, key, {
+        value: value,
+        enumerable: true,
+        configurable: true,
+        writable: true
+      });
+    } else {
+      obj[key] = value;
+    }
 
-  function transitionEnd() {
-    var el = document.createElement('bootstrap')
+    return obj;
+  }
 
-    var transEndEventNames = {
-      WebkitTransition : 'webkitTransitionEnd',
-      MozTransition    : 'transitionend',
-      OTransition      : 'oTransitionEnd otransitionend',
-      transition       : 'transitionend'
-    }
+  function _objectSpread(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i] != null ? arguments[i] : {};
+      var ownKeys = Object.keys(source);
 
-    for (var name in transEndEventNames) {
-      if (el.style[name] !== undefined) {
-        return { end: transEndEventNames[name] }
+      if (typeof Object.getOwnPropertySymbols === 'function') {
+        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
+          return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+        }));
       }
+
+      ownKeys.forEach(function (key) {
+        _defineProperty(target, key, source[key]);
+      });
     }
 
-    return false // explicit for ie8 (  ._.)
+    return target;
   }
 
-  // http://blog.alexmaccaw.com/css-transitions
-  $.fn.emulateTransitionEnd = function (duration) {
-    var called = false
-    var $el = this
-    $(this).one('bsTransitionEnd', function () { called = true })
-    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
-    setTimeout(callback, duration)
-    return this
+  function _inheritsLoose(subClass, superClass) {
+    subClass.prototype = Object.create(superClass.prototype);
+    subClass.prototype.constructor = subClass;
+    subClass.__proto__ = superClass;
   }
 
-  $(function () {
-    $.support.transition = transitionEnd()
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap (v4.3.1): util.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+  /**
+   * ------------------------------------------------------------------------
+   * Private TransitionEnd Helpers
+   * ------------------------------------------------------------------------
+   */
+
+  var TRANSITION_END = 'transitionend';
+  var MAX_UID = 1000000;
+  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
+
+  function toType(obj) {
+    return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
+  }
 
-    if (!$.support.transition) return
+  function getSpecialTransitionEndEvent() {
+    return {
+      bindType: TRANSITION_END,
+      delegateType: TRANSITION_END,
+      handle: function handle(event) {
+        if ($(event.target).is(this)) {
+          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+        }
 
-    $.event.special.bsTransitionEnd = {
-      bindType: $.support.transition.end,
-      delegateType: $.support.transition.end,
-      handle: function (e) {
-        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
+        return undefined; // eslint-disable-line no-undefined
       }
-    }
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: alert.js v3.3.6
- * http://getbootstrap.com/javascript/#alerts
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
+    };
+  }
 
-+function ($) {
-  'use strict';
+  function transitionEndEmulator(duration) {
+    var _this = this;
 
-  // ALERT CLASS DEFINITION
-  // ======================
+    var called = false;
+    $(this).one(Util.TRANSITION_END, function () {
+      called = true;
+    });
+    setTimeout(function () {
+      if (!called) {
+        Util.triggerTransitionEnd(_this);
+      }
+    }, duration);
+    return this;
+  }
 
-  var dismiss = '[data-dismiss="alert"]'
-  var Alert   = function (el) {
-    $(el).on('click', dismiss, this.close)
+  function setTransitionEndSupport() {
+    $.fn.emulateTransitionEnd = transitionEndEmulator;
+    $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
   }
+  /**
+   * --------------------------------------------------------------------------
+   * Public Util Api
+   * --------------------------------------------------------------------------
+   */
+
+
+  var Util = {
+    TRANSITION_END: 'bsTransitionEnd',
+    getUID: function getUID(prefix) {
+      do {
+        // eslint-disable-next-line no-bitwise
+        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+      } while (document.getElementById(prefix));
+
+      return prefix;
+    },
+    getSelectorFromElement: function getSelectorFromElement(element) {
+      var selector = element.getAttribute('data-target');
+
+      if (!selector || selector === '#') {
+        var hrefAttr = element.getAttribute('href');
+        selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
+      }
 
-  Alert.VERSION = '3.3.6'
+      try {
+        return document.querySelector(selector) ? selector : null;
+      } catch (err) {
+        return null;
+      }
+    },
+    getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
+      if (!element) {
+        return 0;
+      } // Get transition-duration of the element
+
+
+      var transitionDuration = $(element).css('transition-duration');
+      var transitionDelay = $(element).css('transition-delay');
+      var floatTransitionDuration = parseFloat(transitionDuration);
+      var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
+
+      if (!floatTransitionDuration && !floatTransitionDelay) {
+        return 0;
+      } // If multiple durations are defined, take the first
+
+
+      transitionDuration = transitionDuration.split(',')[0];
+      transitionDelay = transitionDelay.split(',')[0];
+      return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
+    },
+    reflow: function reflow(element) {
+      return element.offsetHeight;
+    },
+    triggerTransitionEnd: function triggerTransitionEnd(element) {
+      $(element).trigger(TRANSITION_END);
+    },
+    // TODO: Remove in v5
+    supportsTransitionEnd: function supportsTransitionEnd() {
+      return Boolean(TRANSITION_END);
+    },
+    isElement: function isElement(obj) {
+      return (obj[0] || obj).nodeType;
+    },
+    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+      for (var property in configTypes) {
+        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
+          var expectedTypes = configTypes[property];
+          var value = config[property];
+          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
+
+          if (!new RegExp(expectedTypes).test(valueType)) {
+            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+          }
+        }
+      }
+    },
+    findShadowRoot: function findShadowRoot(element) {
+      if (!document.documentElement.attachShadow) {
+        return null;
+      } // Can find the shadow root otherwise it'll return the document
 
-  Alert.TRANSITION_DURATION = 150
 
-  Alert.prototype.close = function (e) {
-    var $this    = $(this)
-    var selector = $this.attr('data-target')
+      if (typeof element.getRootNode === 'function') {
+        var root = element.getRootNode();
+        return root instanceof ShadowRoot ? root : null;
+      }
 
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
+      if (element instanceof ShadowRoot) {
+        return element;
+      } // when we don't find a shadow root
 
-    var $parent = $(selector)
 
-    if (e) e.preventDefault()
+      if (!element.parentNode) {
+        return null;
+      }
 
-    if (!$parent.length) {
-      $parent = $this.closest('.alert')
+      return Util.findShadowRoot(element.parentNode);
     }
+  };
+  setTransitionEndSupport();
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME = 'alert';
+  var VERSION = '4.3.1';
+  var DATA_KEY = 'bs.alert';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var Selector = {
+    DISMISS: '[data-dismiss="alert"]'
+  };
+  var Event = {
+    CLOSE: "close" + EVENT_KEY,
+    CLOSED: "closed" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    ALERT: 'alert',
+    FADE: 'fade',
+    SHOW: 'show'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Alert =
+  /*#__PURE__*/
+  function () {
+    function Alert(element) {
+      this._element = element;
+    } // Getters
+
+
+    var _proto = Alert.prototype;
+
+    // Public
+    _proto.close = function close(element) {
+      var rootElement = this._element;
+
+      if (element) {
+        rootElement = this._getRootElement(element);
+      }
 
-    $parent.trigger(e = $.Event('close.bs.alert'))
-
-    if (e.isDefaultPrevented()) return
-
-    $parent.removeClass('in')
+      var customEvent = this._triggerCloseEvent(rootElement);
 
-    function removeElement() {
-      // detach from parent, fire event then clean up data
-      $parent.detach().trigger('closed.bs.alert').remove()
-    }
+      if (customEvent.isDefaultPrevented()) {
+        return;
+      }
 
-    $.support.transition && $parent.hasClass('fade') ?
-      $parent
-        .one('bsTransitionEnd', removeElement)
-        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
-      removeElement()
-  }
+      this._removeElement(rootElement);
+    };
 
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    } // Private
+    ;
 
-  // ALERT PLUGIN DEFINITION
-  // =======================
+    _proto._getRootElement = function _getRootElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      var parent = false;
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.alert')
+      if (selector) {
+        parent = document.querySelector(selector);
+      }
 
-      if (!data) $this.data('bs.alert', (data = new Alert(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
+      if (!parent) {
+        parent = $(element).closest("." + ClassName.ALERT)[0];
+      }
 
-  var old = $.fn.alert
+      return parent;
+    };
 
-  $.fn.alert             = Plugin
-  $.fn.alert.Constructor = Alert
+    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
+      var closeEvent = $.Event(Event.CLOSE);
+      $(element).trigger(closeEvent);
+      return closeEvent;
+    };
 
+    _proto._removeElement = function _removeElement(element) {
+      var _this = this;
 
-  // ALERT NO CONFLICT
-  // =================
+      $(element).removeClass(ClassName.SHOW);
 
-  $.fn.alert.noConflict = function () {
-    $.fn.alert = old
-    return this
-  }
+      if (!$(element).hasClass(ClassName.FADE)) {
+        this._destroyElement(element);
 
+        return;
+      }
 
-  // ALERT DATA-API
-  // ==============
+      var transitionDuration = Util.getTransitionDurationFromElement(element);
+      $(element).one(Util.TRANSITION_END, function (event) {
+        return _this._destroyElement(element, event);
+      }).emulateTransitionEnd(transitionDuration);
+    };
+
+    _proto._destroyElement = function _destroyElement(element) {
+      $(element).detach().trigger(Event.CLOSED).remove();
+    } // Static
+    ;
+
+    Alert._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $element = $(this);
+        var data = $element.data(DATA_KEY);
+
+        if (!data) {
+          data = new Alert(this);
+          $element.data(DATA_KEY, data);
+        }
 
-  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
+        if (config === 'close') {
+          data[config](this);
+        }
+      });
+    };
 
-}(jQuery);
+    Alert._handleDismiss = function _handleDismiss(alertInstance) {
+      return function (event) {
+        if (event) {
+          event.preventDefault();
+        }
 
-/* ========================================================================
- * Bootstrap: button.js v3.3.6
- * http://getbootstrap.com/javascript/#buttons
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+        alertInstance.close(this);
+      };
+    };
 
+    _createClass(Alert, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+
+    return Alert;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Alert._jQueryInterface;
+  $.fn[NAME].Constructor = Alert;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Alert._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$1 = 'button';
+  var VERSION$1 = '4.3.1';
+  var DATA_KEY$1 = 'bs.button';
+  var EVENT_KEY$1 = "." + DATA_KEY$1;
+  var DATA_API_KEY$1 = '.data-api';
+  var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
+  var ClassName$1 = {
+    ACTIVE: 'active',
+    BUTTON: 'btn',
+    FOCUS: 'focus'
+  };
+  var Selector$1 = {
+    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+    DATA_TOGGLE: '[data-toggle="buttons"]',
+    INPUT: 'input:not([type="hidden"])',
+    ACTIVE: '.active',
+    BUTTON: '.btn'
+  };
+  var Event$1 = {
+    CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
+    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1)
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Button =
+  /*#__PURE__*/
+  function () {
+    function Button(element) {
+      this._element = element;
+    } // Getters
+
+
+    var _proto = Button.prototype;
+
+    // Public
+    _proto.toggle = function toggle() {
+      var triggerChangeEvent = true;
+      var addAriaPressed = true;
+      var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];
+
+      if (rootElement) {
+        var input = this._element.querySelector(Selector$1.INPUT);
+
+        if (input) {
+          if (input.type === 'radio') {
+            if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
+              triggerChangeEvent = false;
+            } else {
+              var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
+
+              if (activeElement) {
+                $(activeElement).removeClass(ClassName$1.ACTIVE);
+              }
+            }
+          }
+
+          if (triggerChangeEvent) {
+            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+              return;
+            }
+
+            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
+            $(input).trigger('change');
+          }
+
+          input.focus();
+          addAriaPressed = false;
+        }
+      }
 
-+function ($) {
-  'use strict';
+      if (addAriaPressed) {
+        this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
+      }
 
-  // BUTTON PUBLIC CLASS DEFINITION
-  // ==============================
+      if (triggerChangeEvent) {
+        $(this._element).toggleClass(ClassName$1.ACTIVE);
+      }
+    };
 
-  var Button = function (element, options) {
-    this.$element  = $(element)
-    this.options   = $.extend({}, Button.DEFAULTS, options)
-    this.isLoading = false
-  }
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$1);
+      this._element = null;
+    } // Static
+    ;
 
-  Button.VERSION  = '3.3.6'
+    Button._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$1);
 
-  Button.DEFAULTS = {
-    loadingText: 'loading...'
-  }
+        if (!data) {
+          data = new Button(this);
+          $(this).data(DATA_KEY$1, data);
+        }
 
-  Button.prototype.setState = function (state) {
-    var d    = 'disabled'
-    var $el  = this.$element
-    var val  = $el.is('input') ? 'val' : 'html'
-    var data = $el.data()
+        if (config === 'toggle') {
+          data[config]();
+        }
+      });
+    };
 
-    state += 'Text'
+    _createClass(Button, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$1;
+      }
+    }]);
 
-    if (data.resetText == null) $el.data('resetText', $el[val]())
+    return Button;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
 
-    // push to event loop to allow forms to submit
-    setTimeout($.proxy(function () {
-      $el[val](data[state] == null ? this.options[state] : data[state])
 
-      if (state == 'loadingText') {
-        this.isLoading = true
-        $el.addClass(d).attr(d, d)
-      } else if (this.isLoading) {
-        this.isLoading = false
-        $el.removeClass(d).removeAttr(d)
-      }
-    }, this), 0)
-  }
+  $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+    event.preventDefault();
+    var button = event.target;
 
-  Button.prototype.toggle = function () {
-    var changed = true
-    var $parent = this.$element.closest('[data-toggle="buttons"]')
-
-    if ($parent.length) {
-      var $input = this.$element.find('input')
-      if ($input.prop('type') == 'radio') {
-        if ($input.prop('checked')) changed = false
-        $parent.find('.active').removeClass('active')
-        this.$element.addClass('active')
-      } else if ($input.prop('type') == 'checkbox') {
-        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
-        this.$element.toggleClass('active')
-      }
-      $input.prop('checked', this.$element.hasClass('active'))
-      if (changed) $input.trigger('change')
-    } else {
-      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
-      this.$element.toggleClass('active')
+    if (!$(button).hasClass(ClassName$1.BUTTON)) {
+      button = $(button).closest(Selector$1.BUTTON);
     }
-  }
 
+    Button._jQueryInterface.call($(button), 'toggle');
+  }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+    var button = $(event.target).closest(Selector$1.BUTTON)[0];
+    $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$1] = Button._jQueryInterface;
+  $.fn[NAME$1].Constructor = Button;
+
+  $.fn[NAME$1].noConflict = function () {
+    $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
+    return Button._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$2 = 'carousel';
+  var VERSION$2 = '4.3.1';
+  var DATA_KEY$2 = 'bs.carousel';
+  var EVENT_KEY$2 = "." + DATA_KEY$2;
+  var DATA_API_KEY$2 = '.data-api';
+  var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
+  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
+  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
+  var SWIPE_THRESHOLD = 40;
+  var Default = {
+    interval: 5000,
+    keyboard: true,
+    slide: false,
+    pause: 'hover',
+    wrap: true,
+    touch: true
+  };
+  var DefaultType = {
+    interval: '(number|boolean)',
+    keyboard: 'boolean',
+    slide: '(boolean|string)',
+    pause: '(string|boolean)',
+    wrap: 'boolean',
+    touch: 'boolean'
+  };
+  var Direction = {
+    NEXT: 'next',
+    PREV: 'prev',
+    LEFT: 'left',
+    RIGHT: 'right'
+  };
+  var Event$2 = {
+    SLIDE: "slide" + EVENT_KEY$2,
+    SLID: "slid" + EVENT_KEY$2,
+    KEYDOWN: "keydown" + EVENT_KEY$2,
+    MOUSEENTER: "mouseenter" + EVENT_KEY$2,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
+    TOUCHSTART: "touchstart" + EVENT_KEY$2,
+    TOUCHMOVE: "touchmove" + EVENT_KEY$2,
+    TOUCHEND: "touchend" + EVENT_KEY$2,
+    POINTERDOWN: "pointerdown" + EVENT_KEY$2,
+    POINTERUP: "pointerup" + EVENT_KEY$2,
+    DRAG_START: "dragstart" + EVENT_KEY$2,
+    LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
+    CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
+  };
+  var ClassName$2 = {
+    CAROUSEL: 'carousel',
+    ACTIVE: 'active',
+    SLIDE: 'slide',
+    RIGHT: 'carousel-item-right',
+    LEFT: 'carousel-item-left',
+    NEXT: 'carousel-item-next',
+    PREV: 'carousel-item-prev',
+    ITEM: 'carousel-item',
+    POINTER_EVENT: 'pointer-event'
+  };
+  var Selector$2 = {
+    ACTIVE: '.active',
+    ACTIVE_ITEM: '.active.carousel-item',
+    ITEM: '.carousel-item',
+    ITEM_IMG: '.carousel-item img',
+    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+    INDICATORS: '.carousel-indicators',
+    DATA_SLIDE: '[data-slide], [data-slide-to]',
+    DATA_RIDE: '[data-ride="carousel"]'
+  };
+  var PointerType = {
+    TOUCH: 'touch',
+    PEN: 'pen'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Carousel =
+  /*#__PURE__*/
+  function () {
+    function Carousel(element, config) {
+      this._items = null;
+      this._interval = null;
+      this._activeElement = null;
+      this._isPaused = false;
+      this._isSliding = false;
+      this.touchTimeout = null;
+      this.touchStartX = 0;
+      this.touchDeltaX = 0;
+      this._config = this._getConfig(config);
+      this._element = element;
+      this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
+      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
+      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
+
+      this._addEventListeners();
+    } // Getters
+
+
+    var _proto = Carousel.prototype;
+
+    // Public
+    _proto.next = function next() {
+      if (!this._isSliding) {
+        this._slide(Direction.NEXT);
+      }
+    };
 
-  // BUTTON PLUGIN DEFINITION
-  // ========================
+    _proto.nextWhenVisible = function nextWhenVisible() {
+      // Don't call next when the page isn't visible
+      // or the carousel or its parent isn't visible
+      if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
+        this.next();
+      }
+    };
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.button')
-      var options = typeof option == 'object' && option
+    _proto.prev = function prev() {
+      if (!this._isSliding) {
+        this._slide(Direction.PREV);
+      }
+    };
 
-      if (!data) $this.data('bs.button', (data = new Button(this, options)))
+    _proto.pause = function pause(event) {
+      if (!event) {
+        this._isPaused = true;
+      }
 
-      if (option == 'toggle') data.toggle()
-      else if (option) data.setState(option)
-    })
-  }
+      if (this._element.querySelector(Selector$2.NEXT_PREV)) {
+        Util.triggerTransitionEnd(this._element);
+        this.cycle(true);
+      }
 
-  var old = $.fn.button
+      clearInterval(this._interval);
+      this._interval = null;
+    };
 
-  $.fn.button             = Plugin
-  $.fn.button.Constructor = Button
+    _proto.cycle = function cycle(event) {
+      if (!event) {
+        this._isPaused = false;
+      }
 
+      if (this._interval) {
+        clearInterval(this._interval);
+        this._interval = null;
+      }
 
-  // BUTTON NO CONFLICT
-  // ==================
+      if (this._config.interval && !this._isPaused) {
+        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+      }
+    };
 
-  $.fn.button.noConflict = function () {
-    $.fn.button = old
-    return this
-  }
+    _proto.to = function to(index) {
+      var _this = this;
 
+      this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
 
-  // BUTTON DATA-API
-  // ===============
-
-  $(document)
-    .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      var $btn = $(e.target)
-      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
-      Plugin.call($btn, 'toggle')
-      if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
-    })
-    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
-    })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: carousel.js v3.3.6
- * http://getbootstrap.com/javascript/#carousel
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // CAROUSEL CLASS DEFINITION
-  // =========================
-
-  var Carousel = function (element, options) {
-    this.$element    = $(element)
-    this.$indicators = this.$element.find('.carousel-indicators')
-    this.options     = options
-    this.paused      = null
-    this.sliding     = null
-    this.interval    = null
-    this.$active     = null
-    this.$items      = null
-
-    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
-
-    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
-      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
-      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
-  }
+      var activeIndex = this._getItemIndex(this._activeElement);
 
-  Carousel.VERSION  = '3.3.6'
+      if (index > this._items.length - 1 || index < 0) {
+        return;
+      }
 
-  Carousel.TRANSITION_DURATION = 600
+      if (this._isSliding) {
+        $(this._element).one(Event$2.SLID, function () {
+          return _this.to(index);
+        });
+        return;
+      }
 
-  Carousel.DEFAULTS = {
-    interval: 5000,
-    pause: 'hover',
-    wrap: true,
-    keyboard: true
-  }
+      if (activeIndex === index) {
+        this.pause();
+        this.cycle();
+        return;
+      }
 
-  Carousel.prototype.keydown = function (e) {
-    if (/input|textarea/i.test(e.target.tagName)) return
-    switch (e.which) {
-      case 37: this.prev(); break
-      case 39: this.next(); break
-      default: return
-    }
+      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
+      this._slide(direction, this._items[index]);
+    };
+
+    _proto.dispose = function dispose() {
+      $(this._element).off(EVENT_KEY$2);
+      $.removeData(this._element, DATA_KEY$2);
+      this._items = null;
+      this._config = null;
+      this._element = null;
+      this._interval = null;
+      this._isPaused = null;
+      this._isSliding = null;
+      this._activeElement = null;
+      this._indicatorsElement = null;
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default, config);
+      Util.typeCheckConfig(NAME$2, config, DefaultType);
+      return config;
+    };
+
+    _proto._handleSwipe = function _handleSwipe() {
+      var absDeltax = Math.abs(this.touchDeltaX);
+
+      if (absDeltax <= SWIPE_THRESHOLD) {
+        return;
+      }
 
-    e.preventDefault()
-  }
+      var direction = absDeltax / this.touchDeltaX; // swipe left
 
-  Carousel.prototype.cycle = function (e) {
-    e || (this.paused = false)
+      if (direction > 0) {
+        this.prev();
+      } // swipe right
 
-    this.interval && clearInterval(this.interval)
 
-    this.options.interval
-      && !this.paused
-      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+      if (direction < 0) {
+        this.next();
+      }
+    };
 
-    return this
-  }
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this2 = this;
 
-  Carousel.prototype.getItemIndex = function (item) {
-    this.$items = item.parent().children('.item')
-    return this.$items.index(item || this.$active)
-  }
+      if (this._config.keyboard) {
+        $(this._element).on(Event$2.KEYDOWN, function (event) {
+          return _this2._keydown(event);
+        });
+      }
 
-  Carousel.prototype.getItemForDirection = function (direction, active) {
-    var activeIndex = this.getItemIndex(active)
-    var willWrap = (direction == 'prev' && activeIndex === 0)
-                || (direction == 'next' && activeIndex == (this.$items.length - 1))
-    if (willWrap && !this.options.wrap) return active
-    var delta = direction == 'prev' ? -1 : 1
-    var itemIndex = (activeIndex + delta) % this.$items.length
-    return this.$items.eq(itemIndex)
-  }
+      if (this._config.pause === 'hover') {
+        $(this._element).on(Event$2.MOUSEENTER, function (event) {
+          return _this2.pause(event);
+        }).on(Event$2.MOUSELEAVE, function (event) {
+          return _this2.cycle(event);
+        });
+      }
 
-  Carousel.prototype.to = function (pos) {
-    var that        = this
-    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
+      if (this._config.touch) {
+        this._addTouchEventListeners();
+      }
+    };
 
-    if (pos > (this.$items.length - 1) || pos < 0) return
+    _proto._addTouchEventListeners = function _addTouchEventListeners() {
+      var _this3 = this;
 
-    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
-    if (activeIndex == pos) return this.pause().cycle()
+      if (!this._touchSupported) {
+        return;
+      }
 
-    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
-  }
+      var start = function start(event) {
+        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
+          _this3.touchStartX = event.originalEvent.clientX;
+        } else if (!_this3._pointerEvent) {
+          _this3.touchStartX = event.originalEvent.touches[0].clientX;
+        }
+      };
+
+      var move = function move(event) {
+        // ensure swiping with one touch and not pinching
+        if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
+          _this3.touchDeltaX = 0;
+        } else {
+          _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;
+        }
+      };
 
-  Carousel.prototype.pause = function (e) {
-    e || (this.paused = true)
+      var end = function end(event) {
+        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
+          _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;
+        }
 
-    if (this.$element.find('.next, .prev').length && $.support.transition) {
-      this.$element.trigger($.support.transition.end)
-      this.cycle(true)
-    }
+        _this3._handleSwipe();
+
+        if (_this3._config.pause === 'hover') {
+          // If it's a touch-enabled device, mouseenter/leave are fired as
+          // part of the mouse compatibility events on first tap - the carousel
+          // would stop cycling until user tapped out of it;
+          // here, we listen for touchend, explicitly pause the carousel
+          // (as if it's the second time we tap on it, mouseenter compat event
+          // is NOT fired) and after a timeout (to allow for mouse compatibility
+          // events to fire) we explicitly restart cycling
+          _this3.pause();
+
+          if (_this3.touchTimeout) {
+            clearTimeout(_this3.touchTimeout);
+          }
+
+          _this3.touchTimeout = setTimeout(function (event) {
+            return _this3.cycle(event);
+          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
+        }
+      };
 
-    this.interval = clearInterval(this.interval)
+      $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
+        return e.preventDefault();
+      });
 
-    return this
-  }
+      if (this._pointerEvent) {
+        $(this._element).on(Event$2.POINTERDOWN, function (event) {
+          return start(event);
+        });
+        $(this._element).on(Event$2.POINTERUP, function (event) {
+          return end(event);
+        });
 
-  Carousel.prototype.next = function () {
-    if (this.sliding) return
-    return this.slide('next')
-  }
+        this._element.classList.add(ClassName$2.POINTER_EVENT);
+      } else {
+        $(this._element).on(Event$2.TOUCHSTART, function (event) {
+          return start(event);
+        });
+        $(this._element).on(Event$2.TOUCHMOVE, function (event) {
+          return move(event);
+        });
+        $(this._element).on(Event$2.TOUCHEND, function (event) {
+          return end(event);
+        });
+      }
+    };
 
-  Carousel.prototype.prev = function () {
-    if (this.sliding) return
-    return this.slide('prev')
-  }
+    _proto._keydown = function _keydown(event) {
+      if (/input|textarea/i.test(event.target.tagName)) {
+        return;
+      }
 
-  Carousel.prototype.slide = function (type, next) {
-    var $active   = this.$element.find('.item.active')
-    var $next     = next || this.getItemForDirection(type, $active)
-    var isCycling = this.interval
-    var direction = type == 'next' ? 'left' : 'right'
-    var that      = this
+      switch (event.which) {
+        case ARROW_LEFT_KEYCODE:
+          event.preventDefault();
+          this.prev();
+          break;
 
-    if ($next.hasClass('active')) return (this.sliding = false)
+        case ARROW_RIGHT_KEYCODE:
+          event.preventDefault();
+          this.next();
+          break;
 
-    var relatedTarget = $next[0]
-    var slideEvent = $.Event('slide.bs.carousel', {
-      relatedTarget: relatedTarget,
-      direction: direction
-    })
-    this.$element.trigger(slideEvent)
-    if (slideEvent.isDefaultPrevented()) return
+        default:
+      }
+    };
 
-    this.sliding = true
+    _proto._getItemIndex = function _getItemIndex(element) {
+      this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
+      return this._items.indexOf(element);
+    };
 
-    isCycling && this.pause()
+    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+      var isNextDirection = direction === Direction.NEXT;
+      var isPrevDirection = direction === Direction.PREV;
 
-    if (this.$indicators.length) {
-      this.$indicators.find('.active').removeClass('active')
-      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
-      $nextIndicator && $nextIndicator.addClass('active')
-    }
+      var activeIndex = this._getItemIndex(activeElement);
 
-    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
-    if ($.support.transition && this.$element.hasClass('slide')) {
-      $next.addClass(type)
-      $next[0].offsetWidth // force reflow
-      $active.addClass(direction)
-      $next.addClass(direction)
-      $active
-        .one('bsTransitionEnd', function () {
-          $next.removeClass([type, direction].join(' ')).addClass('active')
-          $active.removeClass(['active', direction].join(' '))
-          that.sliding = false
-          setTimeout(function () {
-            that.$element.trigger(slidEvent)
-          }, 0)
-        })
-        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
-    } else {
-      $active.removeClass('active')
-      $next.addClass('active')
-      this.sliding = false
-      this.$element.trigger(slidEvent)
-    }
+      var lastItemIndex = this._items.length - 1;
+      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
 
-    isCycling && this.cycle()
+      if (isGoingToWrap && !this._config.wrap) {
+        return activeElement;
+      }
 
-    return this
-  }
+      var delta = direction === Direction.PREV ? -1 : 1;
+      var itemIndex = (activeIndex + delta) % this._items.length;
+      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+    };
 
+    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+      var targetIndex = this._getItemIndex(relatedTarget);
 
-  // CAROUSEL PLUGIN DEFINITION
-  // ==========================
+      var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.carousel')
-      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
-      var action  = typeof option == 'string' ? option : options.slide
+      var slideEvent = $.Event(Event$2.SLIDE, {
+        relatedTarget: relatedTarget,
+        direction: eventDirectionName,
+        from: fromIndex,
+        to: targetIndex
+      });
+      $(this._element).trigger(slideEvent);
+      return slideEvent;
+    };
 
-      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
-      if (typeof option == 'number') data.to(option)
-      else if (action) data[action]()
-      else if (options.interval) data.pause().cycle()
-    })
-  }
+    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+      if (this._indicatorsElement) {
+        var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
+        $(indicators).removeClass(ClassName$2.ACTIVE);
 
-  var old = $.fn.carousel
+        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
-  $.fn.carousel             = Plugin
-  $.fn.carousel.Constructor = Carousel
+        if (nextIndicator) {
+          $(nextIndicator).addClass(ClassName$2.ACTIVE);
+        }
+      }
+    };
 
+    _proto._slide = function _slide(direction, element) {
+      var _this4 = this;
 
-  // CAROUSEL NO CONFLICT
-  // ====================
+      var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
 
-  $.fn.carousel.noConflict = function () {
-    $.fn.carousel = old
-    return this
-  }
+      var activeElementIndex = this._getItemIndex(activeElement);
 
+      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
-  // CAROUSEL DATA-API
-  // =================
+      var nextElementIndex = this._getItemIndex(nextElement);
 
-  var clickHandler = function (e) {
-    var href
-    var $this   = $(this)
-    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
-    if (!$target.hasClass('carousel')) return
-    var options = $.extend({}, $target.data(), $this.data())
-    var slideIndex = $this.attr('data-slide-to')
-    if (slideIndex) options.interval = false
+      var isCycling = Boolean(this._interval);
+      var directionalClassName;
+      var orderClassName;
+      var eventDirectionName;
 
-    Plugin.call($target, options)
+      if (direction === Direction.NEXT) {
+        directionalClassName = ClassName$2.LEFT;
+        orderClassName = ClassName$2.NEXT;
+        eventDirectionName = Direction.LEFT;
+      } else {
+        directionalClassName = ClassName$2.RIGHT;
+        orderClassName = ClassName$2.PREV;
+        eventDirectionName = Direction.RIGHT;
+      }
 
-    if (slideIndex) {
-      $target.data('bs.carousel').to(slideIndex)
-    }
+      if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
+        this._isSliding = false;
+        return;
+      }
 
-    e.preventDefault()
-  }
+      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
 
-  $(document)
-    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
-    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
+      if (slideEvent.isDefaultPrevented()) {
+        return;
+      }
 
-  $(window).on('load', function () {
-    $('[data-ride="carousel"]').each(function () {
-      var $carousel = $(this)
-      Plugin.call($carousel, $carousel.data())
-    })
-  })
+      if (!activeElement || !nextElement) {
+        // Some weirdness is happening, so we bail
+        return;
+      }
 
-}(jQuery);
+      this._isSliding = true;
 
-/* ========================================================================
- * Bootstrap: collapse.js v3.3.6
- * http://getbootstrap.com/javascript/#collapse
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+      if (isCycling) {
+        this.pause();
+      }
 
+      this._setActiveIndicatorElement(nextElement);
+
+      var slidEvent = $.Event(Event$2.SLID, {
+        relatedTarget: nextElement,
+        direction: eventDirectionName,
+        from: activeElementIndex,
+        to: nextElementIndex
+      });
+
+      if ($(this._element).hasClass(ClassName$2.SLIDE)) {
+        $(nextElement).addClass(orderClassName);
+        Util.reflow(nextElement);
+        $(activeElement).addClass(directionalClassName);
+        $(nextElement).addClass(directionalClassName);
+        var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
+
+        if (nextElementInterval) {
+          this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
+          this._config.interval = nextElementInterval;
+        } else {
+          this._config.interval = this._config.defaultInterval || this._config.interval;
+        }
 
-+function ($) {
-  'use strict';
+        var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
+        $(activeElement).one(Util.TRANSITION_END, function () {
+          $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
+          $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
+          _this4._isSliding = false;
+          setTimeout(function () {
+            return $(_this4._element).trigger(slidEvent);
+          }, 0);
+        }).emulateTransitionEnd(transitionDuration);
+      } else {
+        $(activeElement).removeClass(ClassName$2.ACTIVE);
+        $(nextElement).addClass(ClassName$2.ACTIVE);
+        this._isSliding = false;
+        $(this._element).trigger(slidEvent);
+      }
 
-  // COLLAPSE PUBLIC CLASS DEFINITION
-  // ================================
+      if (isCycling) {
+        this.cycle();
+      }
+    } // Static
+    ;
 
-  var Collapse = function (element, options) {
-    this.$element      = $(element)
-    this.options       = $.extend({}, Collapse.DEFAULTS, options)
-    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
-                           '[data-toggle="collapse"][data-target="#' + element.id + '"]')
-    this.transitioning = null
+    Carousel._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$2);
 
-    if (this.options.parent) {
-      this.$parent = this.getParent()
-    } else {
-      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
-    }
+        var _config = _objectSpread({}, Default, $(this).data());
 
-    if (this.options.toggle) this.toggle()
-  }
+        if (typeof config === 'object') {
+          _config = _objectSpread({}, _config, config);
+        }
 
-  Collapse.VERSION  = '3.3.6'
+        var action = typeof config === 'string' ? config : _config.slide;
 
-  Collapse.TRANSITION_DURATION = 350
+        if (!data) {
+          data = new Carousel(this, _config);
+          $(this).data(DATA_KEY$2, data);
+        }
 
-  Collapse.DEFAULTS = {
-    toggle: true
-  }
+        if (typeof config === 'number') {
+          data.to(config);
+        } else if (typeof action === 'string') {
+          if (typeof data[action] === 'undefined') {
+            throw new TypeError("No method named \"" + action + "\"");
+          }
+
+          data[action]();
+        } else if (_config.interval && _config.ride) {
+          data.pause();
+          data.cycle();
+        }
+      });
+    };
 
-  Collapse.prototype.dimension = function () {
-    var hasWidth = this.$element.hasClass('width')
-    return hasWidth ? 'width' : 'height'
-  }
+    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+      var selector = Util.getSelectorFromElement(this);
 
-  Collapse.prototype.show = function () {
-    if (this.transitioning || this.$element.hasClass('in')) return
+      if (!selector) {
+        return;
+      }
 
-    var activesData
-    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
+      var target = $(selector)[0];
 
-    if (actives && actives.length) {
-      activesData = actives.data('bs.collapse')
-      if (activesData && activesData.transitioning) return
-    }
+      if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
+        return;
+      }
 
-    var startEvent = $.Event('show.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
+      var config = _objectSpread({}, $(target).data(), $(this).data());
 
-    if (actives && actives.length) {
-      Plugin.call(actives, 'hide')
-      activesData || actives.data('bs.collapse', null)
-    }
+      var slideIndex = this.getAttribute('data-slide-to');
 
-    var dimension = this.dimension()
+      if (slideIndex) {
+        config.interval = false;
+      }
 
-    this.$element
-      .removeClass('collapse')
-      .addClass('collapsing')[dimension](0)
-      .attr('aria-expanded', true)
+      Carousel._jQueryInterface.call($(target), config);
 
-    this.$trigger
-      .removeClass('collapsed')
-      .attr('aria-expanded', true)
+      if (slideIndex) {
+        $(target).data(DATA_KEY$2).to(slideIndex);
+      }
 
-    this.transitioning = 1
+      event.preventDefault();
+    };
 
-    var complete = function () {
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse in')[dimension]('')
-      this.transitioning = 0
-      this.$element
-        .trigger('shown.bs.collapse')
-    }
+    _createClass(Carousel, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$2;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
 
-    if (!$.support.transition) return complete.call(this)
+    return Carousel;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
 
-    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
 
-    this.$element
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
-  }
+  $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
+  $(window).on(Event$2.LOAD_DATA_API, function () {
+    var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
 
-  Collapse.prototype.hide = function () {
-    if (this.transitioning || !this.$element.hasClass('in')) return
+    for (var i = 0, len = carousels.length; i < len; i++) {
+      var $carousel = $(carousels[i]);
 
-    var startEvent = $.Event('hide.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
+      Carousel._jQueryInterface.call($carousel, $carousel.data());
+    }
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$2] = Carousel._jQueryInterface;
+  $.fn[NAME$2].Constructor = Carousel;
+
+  $.fn[NAME$2].noConflict = function () {
+    $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
+    return Carousel._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$3 = 'collapse';
+  var VERSION$3 = '4.3.1';
+  var DATA_KEY$3 = 'bs.collapse';
+  var EVENT_KEY$3 = "." + DATA_KEY$3;
+  var DATA_API_KEY$3 = '.data-api';
+  var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];
+  var Default$1 = {
+    toggle: true,
+    parent: ''
+  };
+  var DefaultType$1 = {
+    toggle: 'boolean',
+    parent: '(string|element)'
+  };
+  var Event$3 = {
+    SHOW: "show" + EVENT_KEY$3,
+    SHOWN: "shown" + EVENT_KEY$3,
+    HIDE: "hide" + EVENT_KEY$3,
+    HIDDEN: "hidden" + EVENT_KEY$3,
+    CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
+  };
+  var ClassName$3 = {
+    SHOW: 'show',
+    COLLAPSE: 'collapse',
+    COLLAPSING: 'collapsing',
+    COLLAPSED: 'collapsed'
+  };
+  var Dimension = {
+    WIDTH: 'width',
+    HEIGHT: 'height'
+  };
+  var Selector$3 = {
+    ACTIVES: '.show, .collapsing',
+    DATA_TOGGLE: '[data-toggle="collapse"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Collapse =
+  /*#__PURE__*/
+  function () {
+    function Collapse(element, config) {
+      this._isTransitioning = false;
+      this._element = element;
+      this._config = this._getConfig(config);
+      this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
+      var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
+
+      for (var i = 0, len = toggleList.length; i < len; i++) {
+        var elem = toggleList[i];
+        var selector = Util.getSelectorFromElement(elem);
+        var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
+          return foundElem === element;
+        });
+
+        if (selector !== null && filterElement.length > 0) {
+          this._selector = selector;
+
+          this._triggerArray.push(elem);
+        }
+      }
 
-    var dimension = this.dimension()
+      this._parent = this._config.parent ? this._getParent() : null;
 
-    this.$element[dimension](this.$element[dimension]())[0].offsetHeight
+      if (!this._config.parent) {
+        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+      }
 
-    this.$element
-      .addClass('collapsing')
-      .removeClass('collapse in')
-      .attr('aria-expanded', false)
+      if (this._config.toggle) {
+        this.toggle();
+      }
+    } // Getters
 
-    this.$trigger
-      .addClass('collapsed')
-      .attr('aria-expanded', false)
 
-    this.transitioning = 1
+    var _proto = Collapse.prototype;
 
-    var complete = function () {
-      this.transitioning = 0
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse')
-        .trigger('hidden.bs.collapse')
-    }
+    // Public
+    _proto.toggle = function toggle() {
+      if ($(this._element).hasClass(ClassName$3.SHOW)) {
+        this.hide();
+      } else {
+        this.show();
+      }
+    };
 
-    if (!$.support.transition) return complete.call(this)
+    _proto.show = function show() {
+      var _this = this;
 
-    this.$element
-      [dimension](0)
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
-  }
+      if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
+        return;
+      }
 
-  Collapse.prototype.toggle = function () {
-    this[this.$element.hasClass('in') ? 'hide' : 'show']()
-  }
+      var actives;
+      var activesData;
 
-  Collapse.prototype.getParent = function () {
-    return $(this.options.parent)
-      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
-      .each($.proxy(function (i, element) {
-        var $element = $(element)
-        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
-      }, this))
-      .end()
-  }
+      if (this._parent) {
+        actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
+          if (typeof _this._config.parent === 'string') {
+            return elem.getAttribute('data-parent') === _this._config.parent;
+          }
 
-  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
-    var isOpen = $element.hasClass('in')
+          return elem.classList.contains(ClassName$3.COLLAPSE);
+        });
 
-    $element.attr('aria-expanded', isOpen)
-    $trigger
-      .toggleClass('collapsed', !isOpen)
-      .attr('aria-expanded', isOpen)
-  }
+        if (actives.length === 0) {
+          actives = null;
+        }
+      }
 
-  function getTargetFromTrigger($trigger) {
-    var href
-    var target = $trigger.attr('data-target')
-      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+      if (actives) {
+        activesData = $(actives).not(this._selector).data(DATA_KEY$3);
 
-    return $(target)
-  }
+        if (activesData && activesData._isTransitioning) {
+          return;
+        }
+      }
 
+      var startEvent = $.Event(Event$3.SHOW);
+      $(this._element).trigger(startEvent);
 
-  // COLLAPSE PLUGIN DEFINITION
-  // ==========================
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.collapse')
-      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
+      if (actives) {
+        Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
 
-      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
-      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
+        if (!activesData) {
+          $(actives).data(DATA_KEY$3, null);
+        }
+      }
 
-  var old = $.fn.collapse
+      var dimension = this._getDimension();
 
-  $.fn.collapse             = Plugin
-  $.fn.collapse.Constructor = Collapse
+      $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
+      this._element.style[dimension] = 0;
 
+      if (this._triggerArray.length) {
+        $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
+      }
 
-  // COLLAPSE NO CONFLICT
-  // ====================
+      this.setTransitioning(true);
 
-  $.fn.collapse.noConflict = function () {
-    $.fn.collapse = old
-    return this
-  }
+      var complete = function complete() {
+        $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
+        _this._element.style[dimension] = '';
 
+        _this.setTransitioning(false);
 
-  // COLLAPSE DATA-API
-  // =================
+        $(_this._element).trigger(Event$3.SHOWN);
+      };
 
-  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
-    var $this   = $(this)
+      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+      var scrollSize = "scroll" + capitalizedDimension;
+      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      this._element.style[dimension] = this._element[scrollSize] + "px";
+    };
 
-    if (!$this.attr('data-target')) e.preventDefault()
+    _proto.hide = function hide() {
+      var _this2 = this;
 
-    var $target = getTargetFromTrigger($this)
-    var data    = $target.data('bs.collapse')
-    var option  = data ? 'toggle' : $this.data()
+      if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
+        return;
+      }
 
-    Plugin.call($target, option)
-  })
+      var startEvent = $.Event(Event$3.HIDE);
+      $(this._element).trigger(startEvent);
 
-}(jQuery);
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
 
-/* ========================================================================
- * Bootstrap: dropdown.js v3.3.6
- * http://getbootstrap.com/javascript/#dropdowns
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+      var dimension = this._getDimension();
 
+      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
+      Util.reflow(this._element);
+      $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
+      var triggerArrayLength = this._triggerArray.length;
 
-+function ($) {
-  'use strict';
+      if (triggerArrayLength > 0) {
+        for (var i = 0; i < triggerArrayLength; i++) {
+          var trigger = this._triggerArray[i];
+          var selector = Util.getSelectorFromElement(trigger);
 
-  // DROPDOWN CLASS DEFINITION
-  // =========================
+          if (selector !== null) {
+            var $elem = $([].slice.call(document.querySelectorAll(selector)));
 
-  var backdrop = '.dropdown-backdrop'
-  var toggle   = '[data-toggle="dropdown"]'
-  var Dropdown = function (element) {
-    $(element).on('click.bs.dropdown', this.toggle)
-  }
+            if (!$elem.hasClass(ClassName$3.SHOW)) {
+              $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
+            }
+          }
+        }
+      }
 
-  Dropdown.VERSION = '3.3.6'
+      this.setTransitioning(true);
 
-  function getParent($this) {
-    var selector = $this.attr('data-target')
+      var complete = function complete() {
+        _this2.setTransitioning(false);
 
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
+        $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
+      };
 
-    var $parent = selector && $(selector)
+      this._element.style[dimension] = '';
+      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+    };
 
-    return $parent && $parent.length ? $parent : $this.parent()
-  }
+    _proto.setTransitioning = function setTransitioning(isTransitioning) {
+      this._isTransitioning = isTransitioning;
+    };
 
-  function clearMenus(e) {
-    if (e && e.which === 3) return
-    $(backdrop).remove()
-    $(toggle).each(function () {
-      var $this         = $(this)
-      var $parent       = getParent($this)
-      var relatedTarget = { relatedTarget: this }
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$3);
+      this._config = null;
+      this._parent = null;
+      this._element = null;
+      this._triggerArray = null;
+      this._isTransitioning = null;
+    } // Private
+    ;
 
-      if (!$parent.hasClass('open')) return
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$1, config);
+      config.toggle = Boolean(config.toggle); // Coerce string values
 
-      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
+      Util.typeCheckConfig(NAME$3, config, DefaultType$1);
+      return config;
+    };
 
-      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+    _proto._getDimension = function _getDimension() {
+      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+    };
 
-      if (e.isDefaultPrevented()) return
+    _proto._getParent = function _getParent() {
+      var _this3 = this;
 
-      $this.attr('aria-expanded', 'false')
-      $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
-    })
-  }
+      var parent;
 
-  Dropdown.prototype.toggle = function (e) {
-    var $this = $(this)
+      if (Util.isElement(this._config.parent)) {
+        parent = this._config.parent; // It's a jQuery object
 
-    if ($this.is('.disabled, :disabled')) return
+        if (typeof this._config.parent.jquery !== 'undefined') {
+          parent = this._config.parent[0];
+        }
+      } else {
+        parent = document.querySelector(this._config.parent);
+      }
 
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
+      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
+      var children = [].slice.call(parent.querySelectorAll(selector));
+      $(children).each(function (i, element) {
+        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+      });
+      return parent;
+    };
 
-    clearMenus()
+    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+      var isOpen = $(element).hasClass(ClassName$3.SHOW);
 
-    if (!isActive) {
-      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
-        // if mobile we use a backdrop because click events don't delegate
-        $(document.createElement('div'))
-          .addClass('dropdown-backdrop')
-          .insertAfter($(this))
-          .on('click', clearMenus)
+      if (triggerArray.length) {
+        $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
       }
+    } // Static
+    ;
 
-      var relatedTarget = { relatedTarget: this }
-      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
+    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      return selector ? document.querySelector(selector) : null;
+    };
 
-      if (e.isDefaultPrevented()) return
+    Collapse._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY$3);
 
-      $this
-        .trigger('focus')
-        .attr('aria-expanded', 'true')
+        var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
 
-      $parent
-        .toggleClass('open')
-        .trigger($.Event('shown.bs.dropdown', relatedTarget))
-    }
+        if (!data && _config.toggle && /show|hide/.test(config)) {
+          _config.toggle = false;
+        }
 
-    return false
-  }
+        if (!data) {
+          data = new Collapse(this, _config);
+          $this.data(DATA_KEY$3, data);
+        }
 
-  Dropdown.prototype.keydown = function (e) {
-    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
 
-    var $this = $(this)
+          data[config]();
+        }
+      });
+    };
 
-    e.preventDefault()
-    e.stopPropagation()
+    _createClass(Collapse, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$3;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$1;
+      }
+    }]);
 
-    if ($this.is('.disabled, :disabled')) return
+    return Collapse;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
 
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
 
-    if (!isActive && e.which != 27 || isActive && e.which == 27) {
-      if (e.which == 27) $parent.find(toggle).trigger('focus')
-      return $this.trigger('click')
+  $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
+    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+    if (event.currentTarget.tagName === 'A') {
+      event.preventDefault();
     }
 
-    var desc = ' li:not(.disabled):visible a'
-    var $items = $parent.find('.dropdown-menu' + desc)
-
-    if (!$items.length) return
-
-    var index = $items.index(e.target)
-
-    if (e.which == 38 && index > 0)                 index--         // up
-    if (e.which == 40 && index < $items.length - 1) index++         // down
-    if (!~index)                                    index = 0
+    var $trigger = $(this);
+    var selector = Util.getSelectorFromElement(this);
+    var selectors = [].slice.call(document.querySelectorAll(selector));
+    $(selectors).each(function () {
+      var $target = $(this);
+      var data = $target.data(DATA_KEY$3);
+      var config = data ? 'toggle' : $trigger.data();
+
+      Collapse._jQueryInterface.call($target, config);
+    });
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$3] = Collapse._jQueryInterface;
+  $.fn[NAME$3].Constructor = Collapse;
+
+  $.fn[NAME$3].noConflict = function () {
+    $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
+    return Collapse._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$4 = 'dropdown';
+  var VERSION$4 = '4.3.1';
+  var DATA_KEY$4 = 'bs.dropdown';
+  var EVENT_KEY$4 = "." + DATA_KEY$4;
+  var DATA_API_KEY$4 = '.data-api';
+  var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
+  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
+  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
+  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
+  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
+  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
+  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+  var Event$4 = {
+    HIDE: "hide" + EVENT_KEY$4,
+    HIDDEN: "hidden" + EVENT_KEY$4,
+    SHOW: "show" + EVENT_KEY$4,
+    SHOWN: "shown" + EVENT_KEY$4,
+    CLICK: "click" + EVENT_KEY$4,
+    CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
+    KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
+    KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
+  };
+  var ClassName$4 = {
+    DISABLED: 'disabled',
+    SHOW: 'show',
+    DROPUP: 'dropup',
+    DROPRIGHT: 'dropright',
+    DROPLEFT: 'dropleft',
+    MENURIGHT: 'dropdown-menu-right',
+    MENULEFT: 'dropdown-menu-left',
+    POSITION_STATIC: 'position-static'
+  };
+  var Selector$4 = {
+    DATA_TOGGLE: '[data-toggle="dropdown"]',
+    FORM_CHILD: '.dropdown form',
+    MENU: '.dropdown-menu',
+    NAVBAR_NAV: '.navbar-nav',
+    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
+  };
+  var AttachmentMap = {
+    TOP: 'top-start',
+    TOPEND: 'top-end',
+    BOTTOM: 'bottom-start',
+    BOTTOMEND: 'bottom-end',
+    RIGHT: 'right-start',
+    RIGHTEND: 'right-end',
+    LEFT: 'left-start',
+    LEFTEND: 'left-end'
+  };
+  var Default$2 = {
+    offset: 0,
+    flip: true,
+    boundary: 'scrollParent',
+    reference: 'toggle',
+    display: 'dynamic'
+  };
+  var DefaultType$2 = {
+    offset: '(number|string|function)',
+    flip: 'boolean',
+    boundary: '(string|element)',
+    reference: '(string|element)',
+    display: 'string'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Dropdown =
+  /*#__PURE__*/
+  function () {
+    function Dropdown(element, config) {
+      this._element = element;
+      this._popper = null;
+      this._config = this._getConfig(config);
+      this._menu = this._getMenuElement();
+      this._inNavbar = this._detectNavbar();
+
+      this._addEventListeners();
+    } // Getters
+
+
+    var _proto = Dropdown.prototype;
+
+    // Public
+    _proto.toggle = function toggle() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
+        return;
+      }
 
-    $items.eq(index).trigger('focus')
-  }
+      var parent = Dropdown._getParentFromElement(this._element);
 
+      var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
 
-  // DROPDOWN PLUGIN DEFINITION
-  // ==========================
+      Dropdown._clearMenus();
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.dropdown')
+      if (isActive) {
+        return;
+      }
 
-      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
+      $(parent).trigger(showEvent);
 
-  var old = $.fn.dropdown
+      if (showEvent.isDefaultPrevented()) {
+        return;
+      } // Disable totally Popper.js for Dropdown in Navbar
 
-  $.fn.dropdown             = Plugin
-  $.fn.dropdown.Constructor = Dropdown
 
+      if (!this._inNavbar) {
+        /**
+         * Check for Popper dependency
+         * Popper - https://popper.js.org
+         */
+        if (typeof Popper === 'undefined') {
+          throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
+        }
 
-  // DROPDOWN NO CONFLICT
-  // ====================
+        var referenceElement = this._element;
 
-  $.fn.dropdown.noConflict = function () {
-    $.fn.dropdown = old
-    return this
-  }
+        if (this._config.reference === 'parent') {
+          referenceElement = parent;
+        } else if (Util.isElement(this._config.reference)) {
+          referenceElement = this._config.reference; // Check if it's jQuery element
 
+          if (typeof this._config.reference.jquery !== 'undefined') {
+            referenceElement = this._config.reference[0];
+          }
+        } // If boundary is not `scrollParent`, then set position to `static`
+        // to allow the menu to "escape" the scroll parent's boundaries
+        // https://github.com/twbs/bootstrap/issues/24251
 
-  // APPLY TO STANDARD DROPDOWN ELEMENTS
-  // ===================================
-
-  $(document)
-    .on('click.bs.dropdown.data-api', clearMenus)
-    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
-    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
-    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
-    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: modal.js v3.3.6
- * http://getbootstrap.com/javascript/#modals
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // MODAL CLASS DEFINITION
-  // ======================
-
-  var Modal = function (element, options) {
-    this.options             = options
-    this.$body               = $(document.body)
-    this.$element            = $(element)
-    this.$dialog             = this.$element.find('.modal-dialog')
-    this.$backdrop           = null
-    this.isShown             = null
-    this.originalBodyPad     = null
-    this.scrollbarWidth      = 0
-    this.ignoreBackdropClick = false
-
-    if (this.options.remote) {
-      this.$element
-        .find('.modal-content')
-        .load(this.options.remote, $.proxy(function () {
-          this.$element.trigger('loaded.bs.modal')
-        }, this))
-    }
-  }
 
-  Modal.VERSION  = '3.3.6'
+        if (this._config.boundary !== 'scrollParent') {
+          $(parent).addClass(ClassName$4.POSITION_STATIC);
+        }
 
-  Modal.TRANSITION_DURATION = 300
-  Modal.BACKDROP_TRANSITION_DURATION = 150
+        this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
+      } // If this is a touch-enabled device we add extra
+      // empty mouseover listeners to the body's immediate children;
+      // only needed because of broken event delegation on iOS
+      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
 
-  Modal.DEFAULTS = {
-    backdrop: true,
-    keyboard: true,
-    show: true
-  }
 
-  Modal.prototype.toggle = function (_relatedTarget) {
-    return this.isShown ? this.hide() : this.show(_relatedTarget)
-  }
+      if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
+        $(document.body).children().on('mouseover', null, $.noop);
+      }
 
-  Modal.prototype.show = function (_relatedTarget) {
-    var that = this
-    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+      this._element.focus();
 
-    this.$element.trigger(e)
+      this._element.setAttribute('aria-expanded', true);
 
-    if (this.isShown || e.isDefaultPrevented()) return
+      $(this._menu).toggleClass(ClassName$4.SHOW);
+      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
+    };
 
-    this.isShown = true
+    _proto.show = function show() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
+        return;
+      }
 
-    this.checkScrollbar()
-    this.setScrollbar()
-    this.$body.addClass('modal-open')
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
 
-    this.escape()
-    this.resize()
+      var parent = Dropdown._getParentFromElement(this._element);
 
-    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+      $(parent).trigger(showEvent);
 
-    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
-      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
-        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
-      })
-    })
+      if (showEvent.isDefaultPrevented()) {
+        return;
+      }
 
-    this.backdrop(function () {
-      var transition = $.support.transition && that.$element.hasClass('fade')
+      $(this._menu).toggleClass(ClassName$4.SHOW);
+      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
+    };
 
-      if (!that.$element.parent().length) {
-        that.$element.appendTo(that.$body) // don't move modals dom position
+    _proto.hide = function hide() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
+        return;
       }
 
-      that.$element
-        .show()
-        .scrollTop(0)
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
 
-      that.adjustDialog()
+      var parent = Dropdown._getParentFromElement(this._element);
 
-      if (transition) {
-        that.$element[0].offsetWidth // force reflow
+      $(parent).trigger(hideEvent);
+
+      if (hideEvent.isDefaultPrevented()) {
+        return;
       }
 
-      that.$element.addClass('in')
+      $(this._menu).toggleClass(ClassName$4.SHOW);
+      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+    };
 
-      that.enforceFocus()
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$4);
+      $(this._element).off(EVENT_KEY$4);
+      this._element = null;
+      this._menu = null;
 
-      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+      if (this._popper !== null) {
+        this._popper.destroy();
 
-      transition ?
-        that.$dialog // wait for modal to slide in
-          .one('bsTransitionEnd', function () {
-            that.$element.trigger('focus').trigger(e)
-          })
-          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-        that.$element.trigger('focus').trigger(e)
-    })
-  }
+        this._popper = null;
+      }
+    };
+
+    _proto.update = function update() {
+      this._inNavbar = this._detectNavbar();
 
-  Modal.prototype.hide = function (e) {
-    if (e) e.preventDefault()
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    } // Private
+    ;
 
-    e = $.Event('hide.bs.modal')
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this = this;
 
-    this.$element.trigger(e)
+      $(this._element).on(Event$4.CLICK, function (event) {
+        event.preventDefault();
+        event.stopPropagation();
 
-    if (!this.isShown || e.isDefaultPrevented()) return
+        _this.toggle();
+      });
+    };
 
-    this.isShown = false
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
+      Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
+      return config;
+    };
 
-    this.escape()
-    this.resize()
+    _proto._getMenuElement = function _getMenuElement() {
+      if (!this._menu) {
+        var parent = Dropdown._getParentFromElement(this._element);
 
-    $(document).off('focusin.bs.modal')
+        if (parent) {
+          this._menu = parent.querySelector(Selector$4.MENU);
+        }
+      }
 
-    this.$element
-      .removeClass('in')
-      .off('click.dismiss.bs.modal')
-      .off('mouseup.dismiss.bs.modal')
+      return this._menu;
+    };
 
-    this.$dialog.off('mousedown.dismiss.bs.modal')
+    _proto._getPlacement = function _getPlacement() {
+      var $parentDropdown = $(this._element.parentNode);
+      var placement = AttachmentMap.BOTTOM; // Handle dropup
 
-    $.support.transition && this.$element.hasClass('fade') ?
-      this.$element
-        .one('bsTransitionEnd', $.proxy(this.hideModal, this))
-        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-      this.hideModal()
-  }
+      if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
+        placement = AttachmentMap.TOP;
 
-  Modal.prototype.enforceFocus = function () {
-    $(document)
-      .off('focusin.bs.modal') // guard against infinite focus loop
-      .on('focusin.bs.modal', $.proxy(function (e) {
-        if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
-          this.$element.trigger('focus')
+        if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
+          placement = AttachmentMap.TOPEND;
         }
-      }, this))
-  }
-
-  Modal.prototype.escape = function () {
-    if (this.isShown && this.options.keyboard) {
-      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
-        e.which == 27 && this.hide()
-      }, this))
-    } else if (!this.isShown) {
-      this.$element.off('keydown.dismiss.bs.modal')
-    }
-  }
+      } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
+        placement = AttachmentMap.RIGHT;
+      } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
+        placement = AttachmentMap.LEFT;
+      } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
+        placement = AttachmentMap.BOTTOMEND;
+      }
 
-  Modal.prototype.resize = function () {
-    if (this.isShown) {
-      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
-    } else {
-      $(window).off('resize.bs.modal')
-    }
-  }
+      return placement;
+    };
 
-  Modal.prototype.hideModal = function () {
-    var that = this
-    this.$element.hide()
-    this.backdrop(function () {
-      that.$body.removeClass('modal-open')
-      that.resetAdjustments()
-      that.resetScrollbar()
-      that.$element.trigger('hidden.bs.modal')
-    })
-  }
+    _proto._detectNavbar = function _detectNavbar() {
+      return $(this._element).closest('.navbar').length > 0;
+    };
 
-  Modal.prototype.removeBackdrop = function () {
-    this.$backdrop && this.$backdrop.remove()
-    this.$backdrop = null
-  }
+    _proto._getOffset = function _getOffset() {
+      var _this2 = this;
 
-  Modal.prototype.backdrop = function (callback) {
-    var that = this
-    var animate = this.$element.hasClass('fade') ? 'fade' : ''
+      var offset = {};
 
-    if (this.isShown && this.options.backdrop) {
-      var doAnimate = $.support.transition && animate
+      if (typeof this._config.offset === 'function') {
+        offset.fn = function (data) {
+          data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
+          return data;
+        };
+      } else {
+        offset.offset = this._config.offset;
+      }
 
-      this.$backdrop = $(document.createElement('div'))
-        .addClass('modal-backdrop ' + animate)
-        .appendTo(this.$body)
+      return offset;
+    };
+
+    _proto._getPopperConfig = function _getPopperConfig() {
+      var popperConfig = {
+        placement: this._getPlacement(),
+        modifiers: {
+          offset: this._getOffset(),
+          flip: {
+            enabled: this._config.flip
+          },
+          preventOverflow: {
+            boundariesElement: this._config.boundary
+          }
+        } // Disable Popper.js if we have a static display
+
+      };
+
+      if (this._config.display === 'static') {
+        popperConfig.modifiers.applyStyle = {
+          enabled: false
+        };
+      }
 
-      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
-        if (this.ignoreBackdropClick) {
-          this.ignoreBackdropClick = false
-          return
-        }
-        if (e.target !== e.currentTarget) return
-        this.options.backdrop == 'static'
-          ? this.$element[0].focus()
-          : this.hide()
-      }, this))
+      return popperConfig;
+    } // Static
+    ;
 
-      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+    Dropdown._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$4);
 
-      this.$backdrop.addClass('in')
+        var _config = typeof config === 'object' ? config : null;
 
-      if (!callback) return
+        if (!data) {
+          data = new Dropdown(this, _config);
+          $(this).data(DATA_KEY$4, data);
+        }
 
-      doAnimate ?
-        this.$backdrop
-          .one('bsTransitionEnd', callback)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callback()
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
 
-    } else if (!this.isShown && this.$backdrop) {
-      this.$backdrop.removeClass('in')
+          data[config]();
+        }
+      });
+    };
 
-      var callbackRemove = function () {
-        that.removeBackdrop()
-        callback && callback()
+    Dropdown._clearMenus = function _clearMenus(event) {
+      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+        return;
       }
-      $.support.transition && this.$element.hasClass('fade') ?
-        this.$backdrop
-          .one('bsTransitionEnd', callbackRemove)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callbackRemove()
 
-    } else if (callback) {
-      callback()
-    }
-  }
+      var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
 
-  // these following methods are used to handle overflowing modals
-
-  Modal.prototype.handleUpdate = function () {
-    this.adjustDialog()
-  }
+      for (var i = 0, len = toggles.length; i < len; i++) {
+        var parent = Dropdown._getParentFromElement(toggles[i]);
 
-  Modal.prototype.adjustDialog = function () {
-    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
+        var context = $(toggles[i]).data(DATA_KEY$4);
+        var relatedTarget = {
+          relatedTarget: toggles[i]
+        };
 
-    this.$element.css({
-      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
-      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
-    })
-  }
+        if (event && event.type === 'click') {
+          relatedTarget.clickEvent = event;
+        }
 
-  Modal.prototype.resetAdjustments = function () {
-    this.$element.css({
-      paddingLeft: '',
-      paddingRight: ''
-    })
-  }
+        if (!context) {
+          continue;
+        }
 
-  Modal.prototype.checkScrollbar = function () {
-    var fullWindowWidth = window.innerWidth
-    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
-      var documentElementRect = document.documentElement.getBoundingClientRect()
-      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
-    }
-    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
-    this.scrollbarWidth = this.measureScrollbar()
-  }
+        var dropdownMenu = context._menu;
 
-  Modal.prototype.setScrollbar = function () {
-    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
-    this.originalBodyPad = document.body.style.paddingRight || ''
-    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
-  }
+        if (!$(parent).hasClass(ClassName$4.SHOW)) {
+          continue;
+        }
 
-  Modal.prototype.resetScrollbar = function () {
-    this.$body.css('padding-right', this.originalBodyPad)
-  }
+        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
+          continue;
+        }
 
-  Modal.prototype.measureScrollbar = function () { // thx walsh
-    var scrollDiv = document.createElement('div')
-    scrollDiv.className = 'modal-scrollbar-measure'
-    this.$body.append(scrollDiv)
-    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
-    this.$body[0].removeChild(scrollDiv)
-    return scrollbarWidth
-  }
+        var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
+        $(parent).trigger(hideEvent);
 
+        if (hideEvent.isDefaultPrevented()) {
+          continue;
+        } // If this is a touch-enabled device we remove the extra
+        // empty mouseover listeners we added for iOS support
 
-  // MODAL PLUGIN DEFINITION
-  // =======================
 
-  function Plugin(option, _relatedTarget) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.modal')
-      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+        if ('ontouchstart' in document.documentElement) {
+          $(document.body).children().off('mouseover', null, $.noop);
+        }
 
-      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
-      if (typeof option == 'string') data[option](_relatedTarget)
-      else if (options.show) data.show(_relatedTarget)
-    })
-  }
+        toggles[i].setAttribute('aria-expanded', 'false');
+        $(dropdownMenu).removeClass(ClassName$4.SHOW);
+        $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
+      }
+    };
 
-  var old = $.fn.modal
+    Dropdown._getParentFromElement = function _getParentFromElement(element) {
+      var parent;
+      var selector = Util.getSelectorFromElement(element);
 
-  $.fn.modal             = Plugin
-  $.fn.modal.Constructor = Modal
+      if (selector) {
+        parent = document.querySelector(selector);
+      }
 
+      return parent || element.parentNode;
+    } // eslint-disable-next-line complexity
+    ;
+
+    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+      // If not input/textarea:
+      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command
+      // If input/textarea:
+      //  - If space key => not a dropdown command
+      //  - If key is other than escape
+      //    - If key is not up or down => not a dropdown command
+      //    - If trigger inside the menu => not a dropdown command
+      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+        return;
+      }
 
-  // MODAL NO CONFLICT
-  // =================
+      event.preventDefault();
+      event.stopPropagation();
 
-  $.fn.modal.noConflict = function () {
-    $.fn.modal = old
-    return this
-  }
+      if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
+        return;
+      }
 
+      var parent = Dropdown._getParentFromElement(this);
 
-  // MODAL DATA-API
-  // ==============
+      var isActive = $(parent).hasClass(ClassName$4.SHOW);
 
-  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
-    var $this   = $(this)
-    var href    = $this.attr('href')
-    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
-    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+      if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+        if (event.which === ESCAPE_KEYCODE) {
+          var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
+          $(toggle).trigger('focus');
+        }
 
-    if ($this.is('a')) e.preventDefault()
+        $(this).trigger('click');
+        return;
+      }
 
-    $target.one('show.bs.modal', function (showEvent) {
-      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
-      $target.one('hidden.bs.modal', function () {
-        $this.is(':visible') && $this.trigger('focus')
-      })
-    })
-    Plugin.call($target, option, this)
-  })
+      var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
 
-}(jQuery);
+      if (items.length === 0) {
+        return;
+      }
 
-/* ========================================================================
- * Bootstrap: tooltip.js v3.3.6
- * http://getbootstrap.com/javascript/#tooltip
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+      var index = items.indexOf(event.target);
 
+      if (event.which === ARROW_UP_KEYCODE && index > 0) {
+        // Up
+        index--;
+      }
 
-+function ($) {
-  'use strict';
+      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+        // Down
+        index++;
+      }
 
-  // TOOLTIP PUBLIC CLASS DEFINITION
-  // ===============================
+      if (index < 0) {
+        index = 0;
+      }
 
-  var Tooltip = function (element, options) {
-    this.type       = null
-    this.options    = null
-    this.enabled    = null
-    this.timeout    = null
-    this.hoverState = null
-    this.$element   = null
-    this.inState    = null
+      items[index].focus();
+    };
 
-    this.init('tooltip', element, options)
-  }
+    _createClass(Dropdown, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$4;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$2;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$2;
+      }
+    }]);
+
+    return Dropdown;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+    event.stopPropagation();
+
+    Dropdown._jQueryInterface.call($(this), 'toggle');
+  }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
+    e.stopPropagation();
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$4] = Dropdown._jQueryInterface;
+  $.fn[NAME$4].Constructor = Dropdown;
+
+  $.fn[NAME$4].noConflict = function () {
+    $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
+    return Dropdown._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$5 = 'modal';
+  var VERSION$5 = '4.3.1';
+  var DATA_KEY$5 = 'bs.modal';
+  var EVENT_KEY$5 = "." + DATA_KEY$5;
+  var DATA_API_KEY$5 = '.data-api';
+  var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
+  var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var Default$3 = {
+    backdrop: true,
+    keyboard: true,
+    focus: true,
+    show: true
+  };
+  var DefaultType$3 = {
+    backdrop: '(boolean|string)',
+    keyboard: 'boolean',
+    focus: 'boolean',
+    show: 'boolean'
+  };
+  var Event$5 = {
+    HIDE: "hide" + EVENT_KEY$5,
+    HIDDEN: "hidden" + EVENT_KEY$5,
+    SHOW: "show" + EVENT_KEY$5,
+    SHOWN: "shown" + EVENT_KEY$5,
+    FOCUSIN: "focusin" + EVENT_KEY$5,
+    RESIZE: "resize" + EVENT_KEY$5,
+    CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
+    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
+    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
+    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
+    CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
+  };
+  var ClassName$5 = {
+    SCROLLABLE: 'modal-dialog-scrollable',
+    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+    BACKDROP: 'modal-backdrop',
+    OPEN: 'modal-open',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$5 = {
+    DIALOG: '.modal-dialog',
+    MODAL_BODY: '.modal-body',
+    DATA_TOGGLE: '[data-toggle="modal"]',
+    DATA_DISMISS: '[data-dismiss="modal"]',
+    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+    STICKY_CONTENT: '.sticky-top'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Modal =
+  /*#__PURE__*/
+  function () {
+    function Modal(element, config) {
+      this._config = this._getConfig(config);
+      this._element = element;
+      this._dialog = element.querySelector(Selector$5.DIALOG);
+      this._backdrop = null;
+      this._isShown = false;
+      this._isBodyOverflowing = false;
+      this._ignoreBackdropClick = false;
+      this._isTransitioning = false;
+      this._scrollbarWidth = 0;
+    } // Getters
+
+
+    var _proto = Modal.prototype;
+
+    // Public
+    _proto.toggle = function toggle(relatedTarget) {
+      return this._isShown ? this.hide() : this.show(relatedTarget);
+    };
+
+    _proto.show = function show(relatedTarget) {
+      var _this = this;
+
+      if (this._isShown || this._isTransitioning) {
+        return;
+      }
 
-  Tooltip.VERSION  = '3.3.6'
+      if ($(this._element).hasClass(ClassName$5.FADE)) {
+        this._isTransitioning = true;
+      }
 
-  Tooltip.TRANSITION_DURATION = 150
+      var showEvent = $.Event(Event$5.SHOW, {
+        relatedTarget: relatedTarget
+      });
+      $(this._element).trigger(showEvent);
 
-  Tooltip.DEFAULTS = {
-    animation: true,
-    placement: 'top',
-    selector: false,
-    template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
-    trigger: 'hover focus',
-    title: '',
-    delay: 0,
-    html: false,
-    container: false,
-    viewport: {
-      selector: 'body',
-      padding: 0
-    }
-  }
+      if (this._isShown || showEvent.isDefaultPrevented()) {
+        return;
+      }
 
-  Tooltip.prototype.init = function (type, element, options) {
-    this.enabled   = true
-    this.type      = type
-    this.$element  = $(element)
-    this.options   = this.getOptions(options)
-    this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
-    this.inState   = { click: false, hover: false, focus: false }
+      this._isShown = true;
 
-    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
-      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
-    }
+      this._checkScrollbar();
+
+      this._setScrollbar();
 
-    var triggers = this.options.trigger.split(' ')
+      this._adjustDialog();
 
-    for (var i = triggers.length; i--;) {
-      var trigger = triggers[i]
+      this._setEscapeEvent();
 
-      if (trigger == 'click') {
-        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
-      } else if (trigger != 'manual') {
-        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
-        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+      this._setResizeEvent();
 
-        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
-        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+      $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
+        return _this.hide(event);
+      });
+      $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
+        $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
+          if ($(event.target).is(_this._element)) {
+            _this._ignoreBackdropClick = true;
+          }
+        });
+      });
+
+      this._showBackdrop(function () {
+        return _this._showElement(relatedTarget);
+      });
+    };
+
+    _proto.hide = function hide(event) {
+      var _this2 = this;
+
+      if (event) {
+        event.preventDefault();
       }
-    }
 
-    this.options.selector ?
-      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
-      this.fixTitle()
-  }
+      if (!this._isShown || this._isTransitioning) {
+        return;
+      }
 
-  Tooltip.prototype.getDefaults = function () {
-    return Tooltip.DEFAULTS
-  }
+      var hideEvent = $.Event(Event$5.HIDE);
+      $(this._element).trigger(hideEvent);
+
+      if (!this._isShown || hideEvent.isDefaultPrevented()) {
+        return;
+      }
 
-  Tooltip.prototype.getOptions = function (options) {
-    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
+      this._isShown = false;
+      var transition = $(this._element).hasClass(ClassName$5.FADE);
 
-    if (options.delay && typeof options.delay == 'number') {
-      options.delay = {
-        show: options.delay,
-        hide: options.delay
+      if (transition) {
+        this._isTransitioning = true;
       }
-    }
 
-    return options
-  }
+      this._setEscapeEvent();
 
-  Tooltip.prototype.getDelegateOptions = function () {
-    var options  = {}
-    var defaults = this.getDefaults()
+      this._setResizeEvent();
 
-    this._options && $.each(this._options, function (key, value) {
-      if (defaults[key] != value) options[key] = value
-    })
+      $(document).off(Event$5.FOCUSIN);
+      $(this._element).removeClass(ClassName$5.SHOW);
+      $(this._element).off(Event$5.CLICK_DISMISS);
+      $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
 
-    return options
-  }
+      if (transition) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+        $(this._element).one(Util.TRANSITION_END, function (event) {
+          return _this2._hideModal(event);
+        }).emulateTransitionEnd(transitionDuration);
+      } else {
+        this._hideModal();
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      [window, this._element, this._dialog].forEach(function (htmlElement) {
+        return $(htmlElement).off(EVENT_KEY$5);
+      });
+      /**
+       * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+       * Do not move `document` in `htmlElements` array
+       * It will remove `Event.CLICK_DATA_API` event that should remain
+       */
+
+      $(document).off(Event$5.FOCUSIN);
+      $.removeData(this._element, DATA_KEY$5);
+      this._config = null;
+      this._element = null;
+      this._dialog = null;
+      this._backdrop = null;
+      this._isShown = null;
+      this._isBodyOverflowing = null;
+      this._ignoreBackdropClick = null;
+      this._isTransitioning = null;
+      this._scrollbarWidth = null;
+    };
+
+    _proto.handleUpdate = function handleUpdate() {
+      this._adjustDialog();
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$3, config);
+      Util.typeCheckConfig(NAME$5, config, DefaultType$3);
+      return config;
+    };
+
+    _proto._showElement = function _showElement(relatedTarget) {
+      var _this3 = this;
+
+      var transition = $(this._element).hasClass(ClassName$5.FADE);
+
+      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+        // Don't move modal's DOM position
+        document.body.appendChild(this._element);
+      }
 
-  Tooltip.prototype.enter = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
+      this._element.style.display = 'block';
 
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
+      this._element.removeAttribute('aria-hidden');
 
-    if (obj instanceof $.Event) {
-      self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
-    }
+      this._element.setAttribute('aria-modal', true);
 
-    if (self.tip().hasClass('in') || self.hoverState == 'in') {
-      self.hoverState = 'in'
-      return
-    }
+      if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
+        this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
+      } else {
+        this._element.scrollTop = 0;
+      }
 
-    clearTimeout(self.timeout)
+      if (transition) {
+        Util.reflow(this._element);
+      }
 
-    self.hoverState = 'in'
+      $(this._element).addClass(ClassName$5.SHOW);
 
-    if (!self.options.delay || !self.options.delay.show) return self.show()
+      if (this._config.focus) {
+        this._enforceFocus();
+      }
 
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'in') self.show()
-    }, self.options.delay.show)
-  }
+      var shownEvent = $.Event(Event$5.SHOWN, {
+        relatedTarget: relatedTarget
+      });
 
-  Tooltip.prototype.isInStateTrue = function () {
-    for (var key in this.inState) {
-      if (this.inState[key]) return true
-    }
+      var transitionComplete = function transitionComplete() {
+        if (_this3._config.focus) {
+          _this3._element.focus();
+        }
 
-    return false
-  }
+        _this3._isTransitioning = false;
+        $(_this3._element).trigger(shownEvent);
+      };
 
-  Tooltip.prototype.leave = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
+      if (transition) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
+        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
+      } else {
+        transitionComplete();
+      }
+    };
 
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
+    _proto._enforceFocus = function _enforceFocus() {
+      var _this4 = this;
 
-    if (obj instanceof $.Event) {
-      self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
-    }
+      $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
+      .on(Event$5.FOCUSIN, function (event) {
+        if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
+          _this4._element.focus();
+        }
+      });
+    };
+
+    _proto._setEscapeEvent = function _setEscapeEvent() {
+      var _this5 = this;
+
+      if (this._isShown && this._config.keyboard) {
+        $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
+          if (event.which === ESCAPE_KEYCODE$1) {
+            event.preventDefault();
+
+            _this5.hide();
+          }
+        });
+      } else if (!this._isShown) {
+        $(this._element).off(Event$5.KEYDOWN_DISMISS);
+      }
+    };
 
-    if (self.isInStateTrue()) return
+    _proto._setResizeEvent = function _setResizeEvent() {
+      var _this6 = this;
 
-    clearTimeout(self.timeout)
+      if (this._isShown) {
+        $(window).on(Event$5.RESIZE, function (event) {
+          return _this6.handleUpdate(event);
+        });
+      } else {
+        $(window).off(Event$5.RESIZE);
+      }
+    };
 
-    self.hoverState = 'out'
+    _proto._hideModal = function _hideModal() {
+      var _this7 = this;
 
-    if (!self.options.delay || !self.options.delay.hide) return self.hide()
+      this._element.style.display = 'none';
 
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'out') self.hide()
-    }, self.options.delay.hide)
-  }
+      this._element.setAttribute('aria-hidden', true);
 
-  Tooltip.prototype.show = function () {
-    var e = $.Event('show.bs.' + this.type)
+      this._element.removeAttribute('aria-modal');
 
-    if (this.hasContent() && this.enabled) {
-      this.$element.trigger(e)
+      this._isTransitioning = false;
 
-      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
-      if (e.isDefaultPrevented() || !inDom) return
-      var that = this
+      this._showBackdrop(function () {
+        $(document.body).removeClass(ClassName$5.OPEN);
 
-      var $tip = this.tip()
+        _this7._resetAdjustments();
 
-      var tipId = this.getUID(this.type)
+        _this7._resetScrollbar();
 
-      this.setContent()
-      $tip.attr('id', tipId)
-      this.$element.attr('aria-describedby', tipId)
+        $(_this7._element).trigger(Event$5.HIDDEN);
+      });
+    };
 
-      if (this.options.animation) $tip.addClass('fade')
+    _proto._removeBackdrop = function _removeBackdrop() {
+      if (this._backdrop) {
+        $(this._backdrop).remove();
+        this._backdrop = null;
+      }
+    };
 
-      var placement = typeof this.options.placement == 'function' ?
-        this.options.placement.call(this, $tip[0], this.$element[0]) :
-        this.options.placement
+    _proto._showBackdrop = function _showBackdrop(callback) {
+      var _this8 = this;
 
-      var autoToken = /\s?auto?\s?/i
-      var autoPlace = autoToken.test(placement)
-      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+      var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
 
-      $tip
-        .detach()
-        .css({ top: 0, left: 0, display: 'block' })
-        .addClass(placement)
-        .data('bs.' + this.type, this)
+      if (this._isShown && this._config.backdrop) {
+        this._backdrop = document.createElement('div');
+        this._backdrop.className = ClassName$5.BACKDROP;
 
-      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-      this.$element.trigger('inserted.bs.' + this.type)
+        if (animate) {
+          this._backdrop.classList.add(animate);
+        }
 
-      var pos          = this.getPosition()
-      var actualWidth  = $tip[0].offsetWidth
-      var actualHeight = $tip[0].offsetHeight
+        $(this._backdrop).appendTo(document.body);
+        $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
+          if (_this8._ignoreBackdropClick) {
+            _this8._ignoreBackdropClick = false;
+            return;
+          }
+
+          if (event.target !== event.currentTarget) {
+            return;
+          }
+
+          if (_this8._config.backdrop === 'static') {
+            _this8._element.focus();
+          } else {
+            _this8.hide();
+          }
+        });
+
+        if (animate) {
+          Util.reflow(this._backdrop);
+        }
 
-      if (autoPlace) {
-        var orgPlacement = placement
-        var viewportDim = this.getPosition(this.$viewport)
+        $(this._backdrop).addClass(ClassName$5.SHOW);
 
-        placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top'    :
-                    placement == 'top'    && pos.top    - actualHeight < viewportDim.top    ? 'bottom' :
-                    placement == 'right'  && pos.right  + actualWidth  > viewportDim.width  ? 'left'   :
-                    placement == 'left'   && pos.left   - actualWidth  < viewportDim.left   ? 'right'  :
-                    placement
+        if (!callback) {
+          return;
+        }
 
-        $tip
-          .removeClass(orgPlacement)
-          .addClass(placement)
-      }
+        if (!animate) {
+          callback();
+          return;
+        }
+
+        var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
+        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
+      } else if (!this._isShown && this._backdrop) {
+        $(this._backdrop).removeClass(ClassName$5.SHOW);
 
-      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+        var callbackRemove = function callbackRemove() {
+          _this8._removeBackdrop();
 
-      this.applyPlacement(calculatedOffset, placement)
+          if (callback) {
+            callback();
+          }
+        };
 
-      var complete = function () {
-        var prevHoverState = that.hoverState
-        that.$element.trigger('shown.bs.' + that.type)
-        that.hoverState = null
+        if ($(this._element).hasClass(ClassName$5.FADE)) {
+          var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
 
-        if (prevHoverState == 'out') that.leave(that)
+          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
+        } else {
+          callbackRemove();
+        }
+      } else if (callback) {
+        callback();
       }
+    } // ----------------------------------------------------------------------
+    // the following methods are used to handle overflowing modals
+    // todo (fat): these should probably be refactored out of modal.js
+    // ----------------------------------------------------------------------
+    ;
 
-      $.support.transition && this.$tip.hasClass('fade') ?
-        $tip
-          .one('bsTransitionEnd', complete)
-          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-        complete()
-    }
-  }
+    _proto._adjustDialog = function _adjustDialog() {
+      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
+      if (!this._isBodyOverflowing && isModalOverflowing) {
+        this._element.style.paddingLeft = this._scrollbarWidth + "px";
+      }
+
+      if (this._isBodyOverflowing && !isModalOverflowing) {
+        this._element.style.paddingRight = this._scrollbarWidth + "px";
+      }
+    };
+
+    _proto._resetAdjustments = function _resetAdjustments() {
+      this._element.style.paddingLeft = '';
+      this._element.style.paddingRight = '';
+    };
+
+    _proto._checkScrollbar = function _checkScrollbar() {
+      var rect = document.body.getBoundingClientRect();
+      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+      this._scrollbarWidth = this._getScrollbarWidth();
+    };
+
+    _proto._setScrollbar = function _setScrollbar() {
+      var _this9 = this;
+
+      if (this._isBodyOverflowing) {
+        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+        var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
+        var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
+
+        $(fixedContent).each(function (index, element) {
+          var actualPadding = element.style.paddingRight;
+          var calculatedPadding = $(element).css('padding-right');
+          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
+        }); // Adjust sticky content margin
+
+        $(stickyContent).each(function (index, element) {
+          var actualMargin = element.style.marginRight;
+          var calculatedMargin = $(element).css('margin-right');
+          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
+        }); // Adjust body padding
+
+        var actualPadding = document.body.style.paddingRight;
+        var calculatedPadding = $(document.body).css('padding-right');
+        $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+      }
+
+      $(document.body).addClass(ClassName$5.OPEN);
+    };
 
-  Tooltip.prototype.applyPlacement = function (offset, placement) {
-    var $tip   = this.tip()
-    var width  = $tip[0].offsetWidth
-    var height = $tip[0].offsetHeight
+    _proto._resetScrollbar = function _resetScrollbar() {
+      // Restore fixed content padding
+      var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
+      $(fixedContent).each(function (index, element) {
+        var padding = $(element).data('padding-right');
+        $(element).removeData('padding-right');
+        element.style.paddingRight = padding ? padding : '';
+      }); // Restore sticky content
 
-    // manually read margins because getBoundingClientRect includes difference
-    var marginTop = parseInt($tip.css('margin-top'), 10)
-    var marginLeft = parseInt($tip.css('margin-left'), 10)
+      var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
+      $(elements).each(function (index, element) {
+        var margin = $(element).data('margin-right');
 
-    // we must check for NaN for ie 8/9
-    if (isNaN(marginTop))  marginTop  = 0
-    if (isNaN(marginLeft)) marginLeft = 0
+        if (typeof margin !== 'undefined') {
+          $(element).css('margin-right', margin).removeData('margin-right');
+        }
+      }); // Restore body padding
+
+      var padding = $(document.body).data('padding-right');
+      $(document.body).removeData('padding-right');
+      document.body.style.paddingRight = padding ? padding : '';
+    };
+
+    _proto._getScrollbarWidth = function _getScrollbarWidth() {
+      // thx d.walsh
+      var scrollDiv = document.createElement('div');
+      scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
+      document.body.appendChild(scrollDiv);
+      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+      document.body.removeChild(scrollDiv);
+      return scrollbarWidth;
+    } // Static
+    ;
+
+    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$5);
+
+        var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
+
+        if (!data) {
+          data = new Modal(this, _config);
+          $(this).data(DATA_KEY$5, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
 
-    offset.top  += marginTop
-    offset.left += marginLeft
+          data[config](relatedTarget);
+        } else if (_config.show) {
+          data.show(relatedTarget);
+        }
+      });
+    };
 
-    // $.fn.offset doesn't round pixel values
-    // so we use setOffset directly with our own function B-0
-    $.offset.setOffset($tip[0], $.extend({
-      using: function (props) {
-        $tip.css({
-          top: Math.round(props.top),
-          left: Math.round(props.left)
-        })
+    _createClass(Modal, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$5;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$3;
       }
-    }, offset), 0)
+    }]);
+
+    return Modal;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
 
-    $tip.addClass('in')
 
-    // check to see if placing tip in new offset caused the tip to resize itself
-    var actualWidth  = $tip[0].offsetWidth
-    var actualHeight = $tip[0].offsetHeight
+  $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
+    var _this10 = this;
 
-    if (placement == 'top' && actualHeight != height) {
-      offset.top = offset.top + height - actualHeight
+    var target;
+    var selector = Util.getSelectorFromElement(this);
+
+    if (selector) {
+      target = document.querySelector(selector);
     }
 
-    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
+    var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
 
-    if (delta.left) offset.left += delta.left
-    else offset.top += delta.top
+    if (this.tagName === 'A' || this.tagName === 'AREA') {
+      event.preventDefault();
+    }
 
-    var isVertical          = /top|bottom/.test(placement)
-    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
-    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
+    var $target = $(target).one(Event$5.SHOW, function (showEvent) {
+      if (showEvent.isDefaultPrevented()) {
+        // Only register focus restorer if modal will actually get shown
+        return;
+      }
 
-    $tip.offset(offset)
-    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
-  }
+      $target.one(Event$5.HIDDEN, function () {
+        if ($(_this10).is(':visible')) {
+          _this10.focus();
+        }
+      });
+    });
+
+    Modal._jQueryInterface.call($(target), config, this);
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$5] = Modal._jQueryInterface;
+  $.fn[NAME$5].Constructor = Modal;
+
+  $.fn[NAME$5].noConflict = function () {
+    $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
+    return Modal._jQueryInterface;
+  };
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap (v4.3.1): tools/sanitizer.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+  var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
+  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
+  var DefaultWhitelist = {
+    // Global attributes allowed on any supplied element below.
+    '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
+    a: ['target', 'href', 'title', 'rel'],
+    area: [],
+    b: [],
+    br: [],
+    col: [],
+    code: [],
+    div: [],
+    em: [],
+    hr: [],
+    h1: [],
+    h2: [],
+    h3: [],
+    h4: [],
+    h5: [],
+    h6: [],
+    i: [],
+    img: ['src', 'alt', 'title', 'width', 'height'],
+    li: [],
+    ol: [],
+    p: [],
+    pre: [],
+    s: [],
+    small: [],
+    span: [],
+    sub: [],
+    sup: [],
+    strong: [],
+    u: [],
+    ul: []
+    /**
+     * A pattern that recognizes a commonly useful subset of URLs that are safe.
+     *
+     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+     */
+
+  };
+  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
+  /**
+   * A pattern that matches safe data URLs. Only matches image, video and audio types.
+   *
+   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+   */
+
+  var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
+
+  function allowedAttribute(attr, allowedAttributeList) {
+    var attrName = attr.nodeName.toLowerCase();
+
+    if (allowedAttributeList.indexOf(attrName) !== -1) {
+      if (uriAttrs.indexOf(attrName) !== -1) {
+        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+      }
 
-  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
-    this.arrow()
-      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
-      .css(isVertical ? 'top' : 'left', '')
-  }
+      return true;
+    }
 
-  Tooltip.prototype.setContent = function () {
-    var $tip  = this.tip()
-    var title = this.getTitle()
+    var regExp = allowedAttributeList.filter(function (attrRegex) {
+      return attrRegex instanceof RegExp;
+    }); // Check if a regular expression validates the attribute.
+
+    for (var i = 0, l = regExp.length; i < l; i++) {
+      if (attrName.match(regExp[i])) {
+        return true;
+      }
+    }
 
-    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
-    $tip.removeClass('fade in top bottom left right')
+    return false;
   }
 
-  Tooltip.prototype.hide = function (callback) {
-    var that = this
-    var $tip = $(this.$tip)
-    var e    = $.Event('hide.bs.' + this.type)
-
-    function complete() {
-      if (that.hoverState != 'in') $tip.detach()
-      that.$element
-        .removeAttr('aria-describedby')
-        .trigger('hidden.bs.' + that.type)
-      callback && callback()
+  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
+    if (unsafeHtml.length === 0) {
+      return unsafeHtml;
     }
 
-    this.$element.trigger(e)
+    if (sanitizeFn && typeof sanitizeFn === 'function') {
+      return sanitizeFn(unsafeHtml);
+    }
 
-    if (e.isDefaultPrevented()) return
+    var domParser = new window.DOMParser();
+    var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
+    var whitelistKeys = Object.keys(whiteList);
+    var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
 
-    $tip.removeClass('in')
+    var _loop = function _loop(i, len) {
+      var el = elements[i];
+      var elName = el.nodeName.toLowerCase();
 
-    $.support.transition && $tip.hasClass('fade') ?
-      $tip
-        .one('bsTransitionEnd', complete)
-        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-      complete()
+      if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
+        el.parentNode.removeChild(el);
+        return "continue";
+      }
 
-    this.hoverState = null
+      var attributeList = [].slice.call(el.attributes);
+      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
+      attributeList.forEach(function (attr) {
+        if (!allowedAttribute(attr, whitelistedAttributes)) {
+          el.removeAttribute(attr.nodeName);
+        }
+      });
+    };
 
-    return this
-  }
+    for (var i = 0, len = elements.length; i < len; i++) {
+      var _ret = _loop(i, len);
 
-  Tooltip.prototype.fixTitle = function () {
-    var $e = this.$element
-    if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
-      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+      if (_ret === "continue") continue;
     }
-  }
 
-  Tooltip.prototype.hasContent = function () {
-    return this.getTitle()
+    return createdDocument.body.innerHTML;
   }
 
-  Tooltip.prototype.getPosition = function ($element) {
-    $element   = $element || this.$element
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$6 = 'tooltip';
+  var VERSION$6 = '4.3.1';
+  var DATA_KEY$6 = 'bs.tooltip';
+  var EVENT_KEY$6 = "." + DATA_KEY$6;
+  var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
+  var CLASS_PREFIX = 'bs-tooltip';
+  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
+  var DefaultType$4 = {
+    animation: 'boolean',
+    template: 'string',
+    title: '(string|element|function)',
+    trigger: 'string',
+    delay: '(number|object)',
+    html: 'boolean',
+    selector: '(string|boolean)',
+    placement: '(string|function)',
+    offset: '(number|string|function)',
+    container: '(string|element|boolean)',
+    fallbackPlacement: '(string|array)',
+    boundary: '(string|element)',
+    sanitize: 'boolean',
+    sanitizeFn: '(null|function)',
+    whiteList: 'object'
+  };
+  var AttachmentMap$1 = {
+    AUTO: 'auto',
+    TOP: 'top',
+    RIGHT: 'right',
+    BOTTOM: 'bottom',
+    LEFT: 'left'
+  };
+  var Default$4 = {
+    animation: true,
+    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+    trigger: 'hover focus',
+    title: '',
+    delay: 0,
+    html: false,
+    selector: false,
+    placement: 'top',
+    offset: 0,
+    container: false,
+    fallbackPlacement: 'flip',
+    boundary: 'scrollParent',
+    sanitize: true,
+    sanitizeFn: null,
+    whiteList: DefaultWhitelist
+  };
+  var HoverState = {
+    SHOW: 'show',
+    OUT: 'out'
+  };
+  var Event$6 = {
+    HIDE: "hide" + EVENT_KEY$6,
+    HIDDEN: "hidden" + EVENT_KEY$6,
+    SHOW: "show" + EVENT_KEY$6,
+    SHOWN: "shown" + EVENT_KEY$6,
+    INSERTED: "inserted" + EVENT_KEY$6,
+    CLICK: "click" + EVENT_KEY$6,
+    FOCUSIN: "focusin" + EVENT_KEY$6,
+    FOCUSOUT: "focusout" + EVENT_KEY$6,
+    MOUSEENTER: "mouseenter" + EVENT_KEY$6,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY$6
+  };
+  var ClassName$6 = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$6 = {
+    TOOLTIP: '.tooltip',
+    TOOLTIP_INNER: '.tooltip-inner',
+    ARROW: '.arrow'
+  };
+  var Trigger = {
+    HOVER: 'hover',
+    FOCUS: 'focus',
+    CLICK: 'click',
+    MANUAL: 'manual'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tooltip =
+  /*#__PURE__*/
+  function () {
+    function Tooltip(element, config) {
+      /**
+       * Check for Popper dependency
+       * Popper - https://popper.js.org
+       */
+      if (typeof Popper === 'undefined') {
+        throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
+      } // private
+
+
+      this._isEnabled = true;
+      this._timeout = 0;
+      this._hoverState = '';
+      this._activeTrigger = {};
+      this._popper = null; // Protected
+
+      this.element = element;
+      this.config = this._getConfig(config);
+      this.tip = null;
+
+      this._setListeners();
+    } // Getters
+
+
+    var _proto = Tooltip.prototype;
+
+    // Public
+    _proto.enable = function enable() {
+      this._isEnabled = true;
+    };
+
+    _proto.disable = function disable() {
+      this._isEnabled = false;
+    };
+
+    _proto.toggleEnabled = function toggleEnabled() {
+      this._isEnabled = !this._isEnabled;
+    };
+
+    _proto.toggle = function toggle(event) {
+      if (!this._isEnabled) {
+        return;
+      }
 
-    var el     = $element[0]
-    var isBody = el.tagName == 'BODY'
+      if (event) {
+        var dataKey = this.constructor.DATA_KEY;
+        var context = $(event.currentTarget).data(dataKey);
 
-    var elRect    = el.getBoundingClientRect()
-    if (elRect.width == null) {
-      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
-      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
-    }
-    var elOffset  = isBody ? { top: 0, left: 0 } : $element.offset()
-    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
-    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+        if (!context) {
+          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+          $(event.currentTarget).data(dataKey, context);
+        }
 
-    return $.extend({}, elRect, scroll, outerDims, elOffset)
-  }
+        context._activeTrigger.click = !context._activeTrigger.click;
 
-  Tooltip.prototype.getCalculatedOffset = 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 }
+        if (context._isWithActiveTrigger()) {
+          context._enter(null, context);
+        } else {
+          context._leave(null, context);
+        }
+      } else {
+        if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
+          this._leave(null, this);
 
-  }
+          return;
+        }
 
-  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
-    var delta = { top: 0, left: 0 }
-    if (!this.$viewport) return delta
+        this._enter(null, this);
+      }
+    };
 
-    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
-    var viewportDimensions = this.getPosition(this.$viewport)
+    _proto.dispose = function dispose() {
+      clearTimeout(this._timeout);
+      $.removeData(this.element, this.constructor.DATA_KEY);
+      $(this.element).off(this.constructor.EVENT_KEY);
+      $(this.element).closest('.modal').off('hide.bs.modal');
 
-    if (/right|left/.test(placement)) {
-      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll
-      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
-      if (topEdgeOffset < viewportDimensions.top) { // top overflow
-        delta.top = viewportDimensions.top - topEdgeOffset
-      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
-        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
+      if (this.tip) {
+        $(this.tip).remove();
       }
-    } else {
-      var leftEdgeOffset  = pos.left - viewportPadding
-      var rightEdgeOffset = pos.left + viewportPadding + actualWidth
-      if (leftEdgeOffset < viewportDimensions.left) { // left overflow
-        delta.left = viewportDimensions.left - leftEdgeOffset
-      } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
-        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
+
+      this._isEnabled = null;
+      this._timeout = null;
+      this._hoverState = null;
+      this._activeTrigger = null;
+
+      if (this._popper !== null) {
+        this._popper.destroy();
       }
-    }
 
-    return delta
-  }
+      this._popper = null;
+      this.element = null;
+      this.config = null;
+      this.tip = null;
+    };
 
-  Tooltip.prototype.getTitle = function () {
-    var title
-    var $e = this.$element
-    var o  = this.options
+    _proto.show = function show() {
+      var _this = this;
 
-    title = $e.attr('data-original-title')
-      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
+      if ($(this.element).css('display') === 'none') {
+        throw new Error('Please use show on visible elements');
+      }
 
-    return title
-  }
+      var showEvent = $.Event(this.constructor.Event.SHOW);
 
-  Tooltip.prototype.getUID = function (prefix) {
-    do prefix += ~~(Math.random() * 1000000)
-    while (document.getElementById(prefix))
-    return prefix
-  }
+      if (this.isWithContent() && this._isEnabled) {
+        $(this.element).trigger(showEvent);
+        var shadowRoot = Util.findShadowRoot(this.element);
+        var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
+
+        if (showEvent.isDefaultPrevented() || !isInTheDom) {
+          return;
+        }
+
+        var tip = this.getTipElement();
+        var tipId = Util.getUID(this.constructor.NAME);
+        tip.setAttribute('id', tipId);
+        this.element.setAttribute('aria-describedby', tipId);
+        this.setContent();
+
+        if (this.config.animation) {
+          $(tip).addClass(ClassName$6.FADE);
+        }
+
+        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
+        var attachment = this._getAttachment(placement);
 
-  Tooltip.prototype.tip = function () {
-    if (!this.$tip) {
-      this.$tip = $(this.options.template)
-      if (this.$tip.length != 1) {
-        throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
+        this.addAttachmentClass(attachment);
+
+        var container = this._getContainer();
+
+        $(tip).data(this.constructor.DATA_KEY, this);
+
+        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+          $(tip).appendTo(container);
+        }
+
+        $(this.element).trigger(this.constructor.Event.INSERTED);
+        this._popper = new Popper(this.element, tip, {
+          placement: attachment,
+          modifiers: {
+            offset: this._getOffset(),
+            flip: {
+              behavior: this.config.fallbackPlacement
+            },
+            arrow: {
+              element: Selector$6.ARROW
+            },
+            preventOverflow: {
+              boundariesElement: this.config.boundary
+            }
+          },
+          onCreate: function onCreate(data) {
+            if (data.originalPlacement !== data.placement) {
+              _this._handlePopperPlacementChange(data);
+            }
+          },
+          onUpdate: function onUpdate(data) {
+            return _this._handlePopperPlacementChange(data);
+          }
+        });
+        $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
+        // empty mouseover listeners to the body's immediate children;
+        // only needed because of broken event delegation on iOS
+        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+        if ('ontouchstart' in document.documentElement) {
+          $(document.body).children().on('mouseover', null, $.noop);
+        }
+
+        var complete = function complete() {
+          if (_this.config.animation) {
+            _this._fixTransition();
+          }
+
+          var prevHoverState = _this._hoverState;
+          _this._hoverState = null;
+          $(_this.element).trigger(_this.constructor.Event.SHOWN);
+
+          if (prevHoverState === HoverState.OUT) {
+            _this._leave(null, _this);
+          }
+        };
+
+        if ($(this.tip).hasClass(ClassName$6.FADE)) {
+          var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
+          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+        } else {
+          complete();
+        }
       }
-    }
-    return this.$tip
-  }
+    };
 
-  Tooltip.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
-  }
+    _proto.hide = function hide(callback) {
+      var _this2 = this;
 
-  Tooltip.prototype.enable = function () {
-    this.enabled = true
-  }
+      var tip = this.getTipElement();
+      var hideEvent = $.Event(this.constructor.Event.HIDE);
 
-  Tooltip.prototype.disable = function () {
-    this.enabled = false
-  }
+      var complete = function complete() {
+        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+          tip.parentNode.removeChild(tip);
+        }
 
-  Tooltip.prototype.toggleEnabled = function () {
-    this.enabled = !this.enabled
-  }
+        _this2._cleanTipClass();
+
+        _this2.element.removeAttribute('aria-describedby');
+
+        $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+
+        if (_this2._popper !== null) {
+          _this2._popper.destroy();
+        }
+
+        if (callback) {
+          callback();
+        }
+      };
+
+      $(this.element).trigger(hideEvent);
 
-  Tooltip.prototype.toggle = function (e) {
-    var self = this
-    if (e) {
-      self = $(e.currentTarget).data('bs.' + this.type)
-      if (!self) {
-        self = new this.constructor(e.currentTarget, this.getDelegateOptions())
-        $(e.currentTarget).data('bs.' + this.type, self)
+      if (hideEvent.isDefaultPrevented()) {
+        return;
       }
-    }
 
-    if (e) {
-      self.inState.click = !self.inState.click
-      if (self.isInStateTrue()) self.enter(self)
-      else self.leave(self)
-    } else {
-      self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
-    }
-  }
+      $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
+      // empty mouseover listeners we added for iOS support
 
-  Tooltip.prototype.destroy = function () {
-    var that = this
-    clearTimeout(this.timeout)
-    this.hide(function () {
-      that.$element.off('.' + that.type).removeData('bs.' + that.type)
-      if (that.$tip) {
-        that.$tip.detach()
-      }
-      that.$tip = null
-      that.$arrow = null
-      that.$viewport = null
-    })
-  }
+      if ('ontouchstart' in document.documentElement) {
+        $(document.body).children().off('mouseover', null, $.noop);
+      }
 
+      this._activeTrigger[Trigger.CLICK] = false;
+      this._activeTrigger[Trigger.FOCUS] = false;
+      this._activeTrigger[Trigger.HOVER] = false;
 
-  // TOOLTIP PLUGIN DEFINITION
-  // =========================
+      if ($(this.tip).hasClass(ClassName$6.FADE)) {
+        var transitionDuration = Util.getTransitionDurationFromElement(tip);
+        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.tooltip')
-      var options = typeof option == 'object' && option
+      this._hoverState = '';
+    };
 
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
+    _proto.update = function update() {
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    } // Protected
+    ;
+
+    _proto.isWithContent = function isWithContent() {
+      return Boolean(this.getTitle());
+    };
+
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+    };
+
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
+
+    _proto.setContent = function setContent() {
+      var tip = this.getTipElement();
+      this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
+      $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
+    };
+
+    _proto.setElementContent = function setElementContent($element, content) {
+      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
+        // Content is a DOM node or a jQuery
+        if (this.config.html) {
+          if (!$(content).parent().is($element)) {
+            $element.empty().append(content);
+          }
+        } else {
+          $element.text($(content).text());
+        }
 
-  var old = $.fn.tooltip
+        return;
+      }
 
-  $.fn.tooltip             = Plugin
-  $.fn.tooltip.Constructor = Tooltip
+      if (this.config.html) {
+        if (this.config.sanitize) {
+          content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
+        }
 
+        $element.html(content);
+      } else {
+        $element.text(content);
+      }
+    };
 
-  // TOOLTIP NO CONFLICT
-  // ===================
+    _proto.getTitle = function getTitle() {
+      var title = this.element.getAttribute('data-original-title');
 
-  $.fn.tooltip.noConflict = function () {
-    $.fn.tooltip = old
-    return this
-  }
+      if (!title) {
+        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+      }
 
-}(jQuery);
+      return title;
+    } // Private
+    ;
 
-/* ========================================================================
- * Bootstrap: popover.js v3.3.6
- * http://getbootstrap.com/javascript/#popovers
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+    _proto._getOffset = function _getOffset() {
+      var _this3 = this;
 
+      var offset = {};
 
-+function ($) {
-  'use strict';
+      if (typeof this.config.offset === 'function') {
+        offset.fn = function (data) {
+          data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
+          return data;
+        };
+      } else {
+        offset.offset = this.config.offset;
+      }
 
-  // POPOVER PUBLIC CLASS DEFINITION
-  // ===============================
+      return offset;
+    };
 
-  var Popover = function (element, options) {
-    this.init('popover', element, options)
-  }
+    _proto._getContainer = function _getContainer() {
+      if (this.config.container === false) {
+        return document.body;
+      }
 
-  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+      if (Util.isElement(this.config.container)) {
+        return $(this.config.container);
+      }
 
-  Popover.VERSION  = '3.3.6'
+      return $(document).find(this.config.container);
+    };
+
+    _proto._getAttachment = function _getAttachment(placement) {
+      return AttachmentMap$1[placement.toUpperCase()];
+    };
+
+    _proto._setListeners = function _setListeners() {
+      var _this4 = this;
+
+      var triggers = this.config.trigger.split(' ');
+      triggers.forEach(function (trigger) {
+        if (trigger === 'click') {
+          $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
+            return _this4.toggle(event);
+          });
+        } else if (trigger !== Trigger.MANUAL) {
+          var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
+          var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
+          $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
+            return _this4._enter(event);
+          }).on(eventOut, _this4.config.selector, function (event) {
+            return _this4._leave(event);
+          });
+        }
+      });
+      $(this.element).closest('.modal').on('hide.bs.modal', function () {
+        if (_this4.element) {
+          _this4.hide();
+        }
+      });
 
-  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
-    placement: 'right',
-    trigger: 'click',
-    content: '',
-    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
-  })
+      if (this.config.selector) {
+        this.config = _objectSpread({}, this.config, {
+          trigger: 'manual',
+          selector: ''
+        });
+      } else {
+        this._fixTitle();
+      }
+    };
 
+    _proto._fixTitle = function _fixTitle() {
+      var titleType = typeof this.element.getAttribute('data-original-title');
 
-  // NOTE: POPOVER EXTENDS tooltip.js
-  // ================================
+      if (this.element.getAttribute('title') || titleType !== 'string') {
+        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+        this.element.setAttribute('title', '');
+      }
+    };
 
-  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+    _proto._enter = function _enter(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
 
-  Popover.prototype.constructor = Popover
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
 
-  Popover.prototype.getDefaults = function () {
-    return Popover.DEFAULTS
-  }
+      if (event) {
+        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+      }
 
-  Popover.prototype.setContent = function () {
-    var $tip    = this.tip()
-    var title   = this.getTitle()
-    var content = this.getContent()
+      if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
+        context._hoverState = HoverState.SHOW;
+        return;
+      }
 
-    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
-    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
-      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
-    ](content)
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.SHOW;
 
-    $tip.removeClass('fade top bottom left right in')
+      if (!context.config.delay || !context.config.delay.show) {
+        context.show();
+        return;
+      }
 
-    // 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()
-  }
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.SHOW) {
+          context.show();
+        }
+      }, context.config.delay.show);
+    };
 
-  Popover.prototype.hasContent = function () {
-    return this.getTitle() || this.getContent()
-  }
+    _proto._leave = function _leave(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
 
-  Popover.prototype.getContent = function () {
-    var $e = this.$element
-    var o  = this.options
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
 
-    return $e.attr('data-content')
-      || (typeof o.content == 'function' ?
-            o.content.call($e[0]) :
-            o.content)
-  }
+      if (event) {
+        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+      }
 
-  Popover.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
-  }
+      if (context._isWithActiveTrigger()) {
+        return;
+      }
 
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.OUT;
 
-  // POPOVER PLUGIN DEFINITION
-  // =========================
+      if (!context.config.delay || !context.config.delay.hide) {
+        context.hide();
+        return;
+      }
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.popover')
-      var options = typeof option == 'object' && option
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.OUT) {
+          context.hide();
+        }
+      }, context.config.delay.hide);
+    };
 
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
+    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
+      for (var trigger in this._activeTrigger) {
+        if (this._activeTrigger[trigger]) {
+          return true;
+        }
+      }
 
-  var old = $.fn.popover
+      return false;
+    };
 
-  $.fn.popover             = Plugin
-  $.fn.popover.Constructor = Popover
+    _proto._getConfig = function _getConfig(config) {
+      var dataAttributes = $(this.element).data();
+      Object.keys(dataAttributes).forEach(function (dataAttr) {
+        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
+          delete dataAttributes[dataAttr];
+        }
+      });
+      config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
+
+      if (typeof config.delay === 'number') {
+        config.delay = {
+          show: config.delay,
+          hide: config.delay
+        };
+      }
 
+      if (typeof config.title === 'number') {
+        config.title = config.title.toString();
+      }
 
-  // POPOVER NO CONFLICT
-  // ===================
+      if (typeof config.content === 'number') {
+        config.content = config.content.toString();
+      }
 
-  $.fn.popover.noConflict = function () {
-    $.fn.popover = old
-    return this
-  }
+      Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
 
-}(jQuery);
+      if (config.sanitize) {
+        config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
+      }
 
-/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.6
- * http://getbootstrap.com/javascript/#scrollspy
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+      return config;
+    };
 
+    _proto._getDelegateConfig = function _getDelegateConfig() {
+      var config = {};
 
-+function ($) {
-  'use strict';
+      if (this.config) {
+        for (var key in this.config) {
+          if (this.constructor.Default[key] !== this.config[key]) {
+            config[key] = this.config[key];
+          }
+        }
+      }
 
-  // SCROLLSPY CLASS DEFINITION
-  // ==========================
+      return config;
+    };
 
-  function ScrollSpy(element, options) {
-    this.$body          = $(document.body)
-    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
-    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
-    this.selector       = (this.options.target || '') + ' .nav li > a'
-    this.offsets        = []
-    this.targets        = []
-    this.activeTarget   = null
-    this.scrollHeight   = 0
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
 
-    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
-    this.refresh()
-    this.process()
-  }
+      if (tabClass !== null && tabClass.length) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    };
 
-  ScrollSpy.VERSION  = '3.3.6'
+    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
+      var popperInstance = popperData.instance;
+      this.tip = popperInstance.popper;
 
-  ScrollSpy.DEFAULTS = {
-    offset: 10
-  }
+      this._cleanTipClass();
 
-  ScrollSpy.prototype.getScrollHeight = function () {
-    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
-  }
+      this.addAttachmentClass(this._getAttachment(popperData.placement));
+    };
 
-  ScrollSpy.prototype.refresh = function () {
-    var that          = this
-    var offsetMethod  = 'offset'
-    var offsetBase    = 0
+    _proto._fixTransition = function _fixTransition() {
+      var tip = this.getTipElement();
+      var initConfigAnimation = this.config.animation;
 
-    this.offsets      = []
-    this.targets      = []
-    this.scrollHeight = this.getScrollHeight()
+      if (tip.getAttribute('x-placement') !== null) {
+        return;
+      }
 
-    if (!$.isWindow(this.$scrollElement[0])) {
-      offsetMethod = 'position'
-      offsetBase   = this.$scrollElement.scrollTop()
-    }
+      $(tip).removeClass(ClassName$6.FADE);
+      this.config.animation = false;
+      this.hide();
+      this.show();
+      this.config.animation = initConfigAnimation;
+    } // Static
+    ;
 
-    this.$body
-      .find(this.selector)
-      .map(function () {
-        var $el   = $(this)
-        var href  = $el.data('target') || $el.attr('href')
-        var $href = /^#./.test(href) && $(href)
-
-        return ($href
-          && $href.length
-          && $href.is(':visible')
-          && [[$href[offsetMethod]().top + offsetBase, href]]) || null
-      })
-      .sort(function (a, b) { return a[0] - b[0] })
-      .each(function () {
-        that.offsets.push(this[0])
-        that.targets.push(this[1])
-      })
-  }
+    Tooltip._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$6);
 
-  ScrollSpy.prototype.process = function () {
-    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
-    var scrollHeight = this.getScrollHeight()
-    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
-    var offsets      = this.offsets
-    var targets      = this.targets
-    var activeTarget = this.activeTarget
-    var i
-
-    if (this.scrollHeight != scrollHeight) {
-      this.refresh()
-    }
+        var _config = typeof config === 'object' && config;
 
-    if (scrollTop >= maxScroll) {
-      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
-    }
+        if (!data && /dispose|hide/.test(config)) {
+          return;
+        }
 
-    if (activeTarget && scrollTop < offsets[0]) {
-      this.activeTarget = null
-      return this.clear()
-    }
+        if (!data) {
+          data = new Tooltip(this, _config);
+          $(this).data(DATA_KEY$6, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
 
-    for (i = offsets.length; i--;) {
-      activeTarget != targets[i]
-        && scrollTop >= offsets[i]
-        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
-        && this.activate(targets[i])
+    _createClass(Tooltip, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$6;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$4;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME$6;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY$6;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event$6;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY$6;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$4;
+      }
+    }]);
+
+    return Tooltip;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME$6] = Tooltip._jQueryInterface;
+  $.fn[NAME$6].Constructor = Tooltip;
+
+  $.fn[NAME$6].noConflict = function () {
+    $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
+    return Tooltip._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$7 = 'popover';
+  var VERSION$7 = '4.3.1';
+  var DATA_KEY$7 = 'bs.popover';
+  var EVENT_KEY$7 = "." + DATA_KEY$7;
+  var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
+  var CLASS_PREFIX$1 = 'bs-popover';
+  var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
+
+  var Default$5 = _objectSpread({}, Tooltip.Default, {
+    placement: 'right',
+    trigger: 'click',
+    content: '',
+    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
+  });
+
+  var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {
+    content: '(string|element|function)'
+  });
+
+  var ClassName$7 = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$7 = {
+    TITLE: '.popover-header',
+    CONTENT: '.popover-body'
+  };
+  var Event$7 = {
+    HIDE: "hide" + EVENT_KEY$7,
+    HIDDEN: "hidden" + EVENT_KEY$7,
+    SHOW: "show" + EVENT_KEY$7,
+    SHOWN: "shown" + EVENT_KEY$7,
+    INSERTED: "inserted" + EVENT_KEY$7,
+    CLICK: "click" + EVENT_KEY$7,
+    FOCUSIN: "focusin" + EVENT_KEY$7,
+    FOCUSOUT: "focusout" + EVENT_KEY$7,
+    MOUSEENTER: "mouseenter" + EVENT_KEY$7,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY$7
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Popover =
+  /*#__PURE__*/
+  function (_Tooltip) {
+    _inheritsLoose(Popover, _Tooltip);
+
+    function Popover() {
+      return _Tooltip.apply(this, arguments) || this;
     }
-  }
 
-  ScrollSpy.prototype.activate = function (target) {
-    this.activeTarget = target
+    var _proto = Popover.prototype;
 
-    this.clear()
+    // Overrides
+    _proto.isWithContent = function isWithContent() {
+      return this.getTitle() || this._getContent();
+    };
 
-    var selector = this.selector +
-      '[data-target="' + target + '"],' +
-      this.selector + '[href="' + target + '"]'
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
+    };
 
-    var active = $(selector)
-      .parents('li')
-      .addClass('active')
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
 
-    if (active.parent('.dropdown-menu').length) {
-      active = active
-        .closest('li.dropdown')
-        .addClass('active')
-    }
+    _proto.setContent = function setContent() {
+      var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
 
-    active.trigger('activate.bs.scrollspy')
-  }
+      this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
 
-  ScrollSpy.prototype.clear = function () {
-    $(this.selector)
-      .parentsUntil(this.options.target, '.active')
-      .removeClass('active')
-  }
+      var content = this._getContent();
 
+      if (typeof content === 'function') {
+        content = content.call(this.element);
+      }
 
-  // SCROLLSPY PLUGIN DEFINITION
-  // ===========================
+      this.setElementContent($tip.find(Selector$7.CONTENT), content);
+      $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
+    } // Private
+    ;
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.scrollspy')
-      var options = typeof option == 'object' && option
+    _proto._getContent = function _getContent() {
+      return this.element.getAttribute('data-content') || this.config.content;
+    };
 
-      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
 
-  var old = $.fn.scrollspy
+      if (tabClass !== null && tabClass.length > 0) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    } // Static
+    ;
 
-  $.fn.scrollspy             = Plugin
-  $.fn.scrollspy.Constructor = ScrollSpy
+    Popover._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$7);
 
+        var _config = typeof config === 'object' ? config : null;
 
-  // SCROLLSPY NO CONFLICT
-  // =====================
+        if (!data && /dispose|hide/.test(config)) {
+          return;
+        }
 
-  $.fn.scrollspy.noConflict = function () {
-    $.fn.scrollspy = old
-    return this
-  }
+        if (!data) {
+          data = new Popover(this, _config);
+          $(this).data(DATA_KEY$7, data);
+        }
 
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
 
-  // SCROLLSPY DATA-API
-  // ==================
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(Popover, null, [{
+      key: "VERSION",
+      // Getters
+      get: function get() {
+        return VERSION$7;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$5;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME$7;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY$7;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event$7;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY$7;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$5;
+      }
+    }]);
+
+    return Popover;
+  }(Tooltip);
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME$7] = Popover._jQueryInterface;
+  $.fn[NAME$7].Constructor = Popover;
+
+  $.fn[NAME$7].noConflict = function () {
+    $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
+    return Popover._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$8 = 'scrollspy';
+  var VERSION$8 = '4.3.1';
+  var DATA_KEY$8 = 'bs.scrollspy';
+  var EVENT_KEY$8 = "." + DATA_KEY$8;
+  var DATA_API_KEY$6 = '.data-api';
+  var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];
+  var Default$6 = {
+    offset: 10,
+    method: 'auto',
+    target: ''
+  };
+  var DefaultType$6 = {
+    offset: 'number',
+    method: 'string',
+    target: '(string|element)'
+  };
+  var Event$8 = {
+    ACTIVATE: "activate" + EVENT_KEY$8,
+    SCROLL: "scroll" + EVENT_KEY$8,
+    LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
+  };
+  var ClassName$8 = {
+    DROPDOWN_ITEM: 'dropdown-item',
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active'
+  };
+  var Selector$8 = {
+    DATA_SPY: '[data-spy="scroll"]',
+    ACTIVE: '.active',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    NAV_LINKS: '.nav-link',
+    NAV_ITEMS: '.nav-item',
+    LIST_ITEMS: '.list-group-item',
+    DROPDOWN: '.dropdown',
+    DROPDOWN_ITEMS: '.dropdown-item',
+    DROPDOWN_TOGGLE: '.dropdown-toggle'
+  };
+  var OffsetMethod = {
+    OFFSET: 'offset',
+    POSITION: 'position'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var ScrollSpy =
+  /*#__PURE__*/
+  function () {
+    function ScrollSpy(element, config) {
+      var _this = this;
+
+      this._element = element;
+      this._scrollElement = element.tagName === 'BODY' ? window : element;
+      this._config = this._getConfig(config);
+      this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
+      this._offsets = [];
+      this._targets = [];
+      this._activeTarget = null;
+      this._scrollHeight = 0;
+      $(this._scrollElement).on(Event$8.SCROLL, function (event) {
+        return _this._process(event);
+      });
+      this.refresh();
+
+      this._process();
+    } // Getters
+
+
+    var _proto = ScrollSpy.prototype;
+
+    // Public
+    _proto.refresh = function refresh() {
+      var _this2 = this;
+
+      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+      this._offsets = [];
+      this._targets = [];
+      this._scrollHeight = this._getScrollHeight();
+      var targets = [].slice.call(document.querySelectorAll(this._selector));
+      targets.map(function (element) {
+        var target;
+        var targetSelector = Util.getSelectorFromElement(element);
+
+        if (targetSelector) {
+          target = document.querySelector(targetSelector);
+        }
 
-  $(window).on('load.bs.scrollspy.data-api', function () {
-    $('[data-spy="scroll"]').each(function () {
-      var $spy = $(this)
-      Plugin.call($spy, $spy.data())
-    })
-  })
+        if (target) {
+          var targetBCR = target.getBoundingClientRect();
 
-}(jQuery);
+          if (targetBCR.width || targetBCR.height) {
+            // TODO (fat): remove sketch reliance on jQuery position/offset
+            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+          }
+        }
 
-/* ========================================================================
- * Bootstrap: tab.js v3.3.6
- * http://getbootstrap.com/javascript/#tabs
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+        return null;
+      }).filter(function (item) {
+        return item;
+      }).sort(function (a, b) {
+        return a[0] - b[0];
+      }).forEach(function (item) {
+        _this2._offsets.push(item[0]);
+
+        _this2._targets.push(item[1]);
+      });
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$8);
+      $(this._scrollElement).off(EVENT_KEY$8);
+      this._element = null;
+      this._scrollElement = null;
+      this._config = null;
+      this._selector = null;
+      this._offsets = null;
+      this._targets = null;
+      this._activeTarget = null;
+      this._scrollHeight = null;
+    } // Private
+    ;
+
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
+
+      if (typeof config.target !== 'string') {
+        var id = $(config.target).attr('id');
+
+        if (!id) {
+          id = Util.getUID(NAME$8);
+          $(config.target).attr('id', id);
+        }
 
+        config.target = "#" + id;
+      }
 
-+function ($) {
-  'use strict';
+      Util.typeCheckConfig(NAME$8, config, DefaultType$6);
+      return config;
+    };
 
-  // TAB CLASS DEFINITION
-  // ====================
+    _proto._getScrollTop = function _getScrollTop() {
+      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+    };
 
-  var Tab = function (element) {
-    // jscs:disable requireDollarBeforejQueryAssignment
-    this.element = $(element)
-    // jscs:enable requireDollarBeforejQueryAssignment
-  }
+    _proto._getScrollHeight = function _getScrollHeight() {
+      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+    };
 
-  Tab.VERSION = '3.3.6'
+    _proto._getOffsetHeight = function _getOffsetHeight() {
+      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+    };
 
-  Tab.TRANSITION_DURATION = 150
+    _proto._process = function _process() {
+      var scrollTop = this._getScrollTop() + this._config.offset;
 
-  Tab.prototype.show = function () {
-    var $this    = this.element
-    var $ul      = $this.closest('ul:not(.dropdown-menu)')
-    var selector = $this.data('target')
+      var scrollHeight = this._getScrollHeight();
 
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
+      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
 
-    if ($this.parent('li').hasClass('active')) return
-
-    var $previous = $ul.find('.active:last a')
-    var hideEvent = $.Event('hide.bs.tab', {
-      relatedTarget: $this[0]
-    })
-    var showEvent = $.Event('show.bs.tab', {
-      relatedTarget: $previous[0]
-    })
-
-    $previous.trigger(hideEvent)
-    $this.trigger(showEvent)
-
-    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
-
-    var $target = $(selector)
-
-    this.activate($this.closest('li'), $ul)
-    this.activate($target, $target.parent(), function () {
-      $previous.trigger({
-        type: 'hidden.bs.tab',
-        relatedTarget: $this[0]
-      })
-      $this.trigger({
-        type: 'shown.bs.tab',
-        relatedTarget: $previous[0]
-      })
-    })
-  }
+      if (this._scrollHeight !== scrollHeight) {
+        this.refresh();
+      }
 
-  Tab.prototype.activate = function (element, container, callback) {
-    var $active    = container.find('> .active')
-    var transition = callback
-      && $.support.transition
-      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
-
-    function next() {
-      $active
-        .removeClass('active')
-        .find('> .dropdown-menu > .active')
-          .removeClass('active')
-        .end()
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', false)
-
-      element
-        .addClass('active')
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', true)
+      if (scrollTop >= maxScroll) {
+        var target = this._targets[this._targets.length - 1];
 
-      if (transition) {
-        element[0].offsetWidth // reflow for transition
-        element.addClass('in')
+        if (this._activeTarget !== target) {
+          this._activate(target);
+        }
+
+        return;
+      }
+
+      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+        this._activeTarget = null;
+
+        this._clear();
+
+        return;
+      }
+
+      var offsetLength = this._offsets.length;
+
+      for (var i = offsetLength; i--;) {
+        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
+
+        if (isActiveTarget) {
+          this._activate(this._targets[i]);
+        }
+      }
+    };
+
+    _proto._activate = function _activate(target) {
+      this._activeTarget = target;
+
+      this._clear();
+
+      var queries = this._selector.split(',').map(function (selector) {
+        return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
+      });
+
+      var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
+
+      if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
+        $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
+        $link.addClass(ClassName$8.ACTIVE);
       } else {
-        element.removeClass('fade')
+        // Set triggered link as active
+        $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active
+        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+
+        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+
+        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
       }
 
-      if (element.parent('.dropdown-menu').length) {
-        element
-          .closest('li.dropdown')
-            .addClass('active')
-          .end()
-          .find('[data-toggle="tab"]')
-            .attr('aria-expanded', true)
+      $(this._scrollElement).trigger(Event$8.ACTIVATE, {
+        relatedTarget: target
+      });
+    };
+
+    _proto._clear = function _clear() {
+      [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
+        return node.classList.contains(ClassName$8.ACTIVE);
+      }).forEach(function (node) {
+        return node.classList.remove(ClassName$8.ACTIVE);
+      });
+    } // Static
+    ;
+
+    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY$8);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data) {
+          data = new ScrollSpy(this, _config);
+          $(this).data(DATA_KEY$8, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    _createClass(ScrollSpy, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$8;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$6;
       }
+    }]);
+
+    return ScrollSpy;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(window).on(Event$8.LOAD_DATA_API, function () {
+    var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
+    var scrollSpysLength = scrollSpys.length;
+
+    for (var i = scrollSpysLength; i--;) {
+      var $spy = $(scrollSpys[i]);
 
-      callback && callback()
+      ScrollSpy._jQueryInterface.call($spy, $spy.data());
     }
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$8] = ScrollSpy._jQueryInterface;
+  $.fn[NAME$8].Constructor = ScrollSpy;
+
+  $.fn[NAME$8].noConflict = function () {
+    $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
+    return ScrollSpy._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$9 = 'tab';
+  var VERSION$9 = '4.3.1';
+  var DATA_KEY$9 = 'bs.tab';
+  var EVENT_KEY$9 = "." + DATA_KEY$9;
+  var DATA_API_KEY$7 = '.data-api';
+  var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
+  var Event$9 = {
+    HIDE: "hide" + EVENT_KEY$9,
+    HIDDEN: "hidden" + EVENT_KEY$9,
+    SHOW: "show" + EVENT_KEY$9,
+    SHOWN: "shown" + EVENT_KEY$9,
+    CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
+  };
+  var ClassName$9 = {
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active',
+    DISABLED: 'disabled',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector$9 = {
+    DROPDOWN: '.dropdown',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    ACTIVE: '.active',
+    ACTIVE_UL: '> li > .active',
+    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+    DROPDOWN_TOGGLE: '.dropdown-toggle',
+    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tab =
+  /*#__PURE__*/
+  function () {
+    function Tab(element) {
+      this._element = element;
+    } // Getters
+
+
+    var _proto = Tab.prototype;
+
+    // Public
+    _proto.show = function show() {
+      var _this = this;
+
+      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
+        return;
+      }
 
-    $active.length && transition ?
-      $active
-        .one('bsTransitionEnd', next)
-        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
-      next()
+      var target;
+      var previous;
+      var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
+      var selector = Util.getSelectorFromElement(this._element);
 
-    $active.removeClass('in')
-  }
+      if (listElement) {
+        var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
+        previous = $.makeArray($(listElement).find(itemSelector));
+        previous = previous[previous.length - 1];
+      }
 
+      var hideEvent = $.Event(Event$9.HIDE, {
+        relatedTarget: this._element
+      });
+      var showEvent = $.Event(Event$9.SHOW, {
+        relatedTarget: previous
+      });
 
-  // TAB PLUGIN DEFINITION
-  // =====================
+      if (previous) {
+        $(previous).trigger(hideEvent);
+      }
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.tab')
+      $(this._element).trigger(showEvent);
 
-      if (!data) $this.data('bs.tab', (data = new Tab(this)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
+      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+        return;
+      }
 
-  var old = $.fn.tab
+      if (selector) {
+        target = document.querySelector(selector);
+      }
 
-  $.fn.tab             = Plugin
-  $.fn.tab.Constructor = Tab
+      this._activate(this._element, listElement);
+
+      var complete = function complete() {
+        var hiddenEvent = $.Event(Event$9.HIDDEN, {
+          relatedTarget: _this._element
+        });
+        var shownEvent = $.Event(Event$9.SHOWN, {
+          relatedTarget: previous
+        });
+        $(previous).trigger(hiddenEvent);
+        $(_this._element).trigger(shownEvent);
+      };
+
+      if (target) {
+        this._activate(target, target.parentNode, complete);
+      } else {
+        complete();
+      }
+    };
 
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY$9);
+      this._element = null;
+    } // Private
+    ;
 
-  // TAB NO CONFLICT
-  // ===============
+    _proto._activate = function _activate(element, container, callback) {
+      var _this2 = this;
 
-  $.fn.tab.noConflict = function () {
-    $.fn.tab = old
-    return this
-  }
+      var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
+      var active = activeElements[0];
+      var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
 
+      var complete = function complete() {
+        return _this2._transitionComplete(element, active, callback);
+      };
 
-  // TAB DATA-API
-  // ============
+      if (active && isTransitioning) {
+        var transitionDuration = Util.getTransitionDurationFromElement(active);
+        $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
+    };
 
-  var clickHandler = function (e) {
-    e.preventDefault()
-    Plugin.call($(this), 'show')
-  }
+    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
+      if (active) {
+        $(active).removeClass(ClassName$9.ACTIVE);
+        var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
 
-  $(document)
-    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
-    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
+        if (dropdownChild) {
+          $(dropdownChild).removeClass(ClassName$9.ACTIVE);
+        }
 
-}(jQuery);
+        if (active.getAttribute('role') === 'tab') {
+          active.setAttribute('aria-selected', false);
+        }
+      }
 
-/* ========================================================================
- * Bootstrap: affix.js v3.3.6
- * http://getbootstrap.com/javascript/#affix
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
+      $(element).addClass(ClassName$9.ACTIVE);
 
+      if (element.getAttribute('role') === 'tab') {
+        element.setAttribute('aria-selected', true);
+      }
 
-+function ($) {
-  'use strict';
+      Util.reflow(element);
 
-  // AFFIX CLASS DEFINITION
-  // ======================
+      if (element.classList.contains(ClassName$9.FADE)) {
+        element.classList.add(ClassName$9.SHOW);
+      }
 
-  var Affix = function (element, options) {
-    this.options = $.extend({}, Affix.DEFAULTS, options)
+      if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
+        var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
 
-    this.$target = $(this.options.target)
-      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
-      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
+        if (dropdownElement) {
+          var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
+          $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
+        }
 
-    this.$element     = $(element)
-    this.affixed      = null
-    this.unpin        = null
-    this.pinnedOffset = null
+        element.setAttribute('aria-expanded', true);
+      }
 
-    this.checkPosition()
-  }
+      if (callback) {
+        callback();
+      }
+    } // Static
+    ;
 
-  Affix.VERSION  = '3.3.6'
+    Tab._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY$9);
 
-  Affix.RESET    = 'affix affix-top affix-bottom'
+        if (!data) {
+          data = new Tab(this);
+          $this.data(DATA_KEY$9, data);
+        }
 
-  Affix.DEFAULTS = {
-    offset: 0,
-    target: window
-  }
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
 
-  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
-    var scrollTop    = this.$target.scrollTop()
-    var position     = this.$element.offset()
-    var targetHeight = this.$target.height()
+          data[config]();
+        }
+      });
+    };
 
-    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+    _createClass(Tab, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$9;
+      }
+    }]);
+
+    return Tab;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+
+    Tab._jQueryInterface.call($(this), 'show');
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME$9] = Tab._jQueryInterface;
+  $.fn[NAME$9].Constructor = Tab;
+
+  $.fn[NAME$9].noConflict = function () {
+    $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
+    return Tab._jQueryInterface;
+  };
+
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+  var NAME$a = 'toast';
+  var VERSION$a = '4.3.1';
+  var DATA_KEY$a = 'bs.toast';
+  var EVENT_KEY$a = "." + DATA_KEY$a;
+  var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
+  var Event$a = {
+    CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
+    HIDE: "hide" + EVENT_KEY$a,
+    HIDDEN: "hidden" + EVENT_KEY$a,
+    SHOW: "show" + EVENT_KEY$a,
+    SHOWN: "shown" + EVENT_KEY$a
+  };
+  var ClassName$a = {
+    FADE: 'fade',
+    HIDE: 'hide',
+    SHOW: 'show',
+    SHOWING: 'showing'
+  };
+  var DefaultType$7 = {
+    animation: 'boolean',
+    autohide: 'boolean',
+    delay: 'number'
+  };
+  var Default$7 = {
+    animation: true,
+    autohide: true,
+    delay: 500
+  };
+  var Selector$a = {
+    DATA_DISMISS: '[data-dismiss="toast"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
 
-    if (this.affixed == 'bottom') {
-      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
-      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
-    }
+  };
 
-    var initializing   = this.affixed == null
-    var colliderTop    = initializing ? scrollTop : position.top
-    var colliderHeight = initializing ? targetHeight : height
+  var Toast =
+  /*#__PURE__*/
+  function () {
+    function Toast(element, config) {
+      this._element = element;
+      this._config = this._getConfig(config);
+      this._timeout = null;
 
-    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
-    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+      this._setListeners();
+    } // Getters
 
-    return false
-  }
 
-  Affix.prototype.getPinnedOffset = function () {
-    if (this.pinnedOffset) return this.pinnedOffset
-    this.$element.removeClass(Affix.RESET).addClass('affix')
-    var scrollTop = this.$target.scrollTop()
-    var position  = this.$element.offset()
-    return (this.pinnedOffset = position.top - scrollTop)
-  }
+    var _proto = Toast.prototype;
 
-  Affix.prototype.checkPositionWithEventLoop = function () {
-    setTimeout($.proxy(this.checkPosition, this), 1)
-  }
+    // Public
+    _proto.show = function show() {
+      var _this = this;
 
-  Affix.prototype.checkPosition = function () {
-    if (!this.$element.is(':visible')) return
+      $(this._element).trigger(Event$a.SHOW);
 
-    var height       = this.$element.height()
-    var offset       = this.options.offset
-    var offsetTop    = offset.top
-    var offsetBottom = offset.bottom
-    var scrollHeight = Math.max($(document).height(), $(document.body).height())
+      if (this._config.animation) {
+        this._element.classList.add(ClassName$a.FADE);
+      }
 
-    if (typeof offset != 'object')         offsetBottom = offsetTop = offset
-    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)
-    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
+      var complete = function complete() {
+        _this._element.classList.remove(ClassName$a.SHOWING);
 
-    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
+        _this._element.classList.add(ClassName$a.SHOW);
 
-    if (this.affixed != affix) {
-      if (this.unpin != null) this.$element.css('top', '')
+        $(_this._element).trigger(Event$a.SHOWN);
 
-      var affixType = 'affix' + (affix ? '-' + affix : '')
-      var e         = $.Event(affixType + '.bs.affix')
+        if (_this._config.autohide) {
+          _this.hide();
+        }
+      };
 
-      this.$element.trigger(e)
+      this._element.classList.remove(ClassName$a.HIDE);
 
-      if (e.isDefaultPrevented()) return
+      this._element.classList.add(ClassName$a.SHOWING);
 
-      this.affixed = affix
-      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+      if (this._config.animation) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
+    };
 
-      this.$element
-        .removeClass(Affix.RESET)
-        .addClass(affixType)
-        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
-    }
+    _proto.hide = function hide(withoutTimeout) {
+      var _this2 = this;
 
-    if (affix == 'bottom') {
-      this.$element.offset({
-        top: scrollHeight - height - offsetBottom
-      })
-    }
-  }
+      if (!this._element.classList.contains(ClassName$a.SHOW)) {
+        return;
+      }
 
+      $(this._element).trigger(Event$a.HIDE);
 
-  // AFFIX PLUGIN DEFINITION
-  // =======================
+      if (withoutTimeout) {
+        this._close();
+      } else {
+        this._timeout = setTimeout(function () {
+          _this2._close();
+        }, this._config.delay);
+      }
+    };
 
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.affix')
-      var options = typeof option == 'object' && option
+    _proto.dispose = function dispose() {
+      clearTimeout(this._timeout);
+      this._timeout = null;
 
-      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
+      if (this._element.classList.contains(ClassName$a.SHOW)) {
+        this._element.classList.remove(ClassName$a.SHOW);
+      }
 
-  var old = $.fn.affix
+      $(this._element).off(Event$a.CLICK_DISMISS);
+      $.removeData(this._element, DATA_KEY$a);
+      this._element = null;
+      this._config = null;
+    } // Private
+    ;
 
-  $.fn.affix             = Plugin
-  $.fn.affix.Constructor = Affix
+    _proto._getConfig = function _getConfig(config) {
+      config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
+      Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
+      return config;
+    };
 
+    _proto._setListeners = function _setListeners() {
+      var _this3 = this;
 
-  // AFFIX NO CONFLICT
-  // =================
+      $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
+        return _this3.hide(true);
+      });
+    };
 
-  $.fn.affix.noConflict = function () {
-    $.fn.affix = old
-    return this
-  }
+    _proto._close = function _close() {
+      var _this4 = this;
 
+      var complete = function complete() {
+        _this4._element.classList.add(ClassName$a.HIDE);
 
-  // AFFIX DATA-API
-  // ==============
+        $(_this4._element).trigger(Event$a.HIDDEN);
+      };
 
-  $(window).on('load', function () {
-    $('[data-spy="affix"]').each(function () {
-      var $spy = $(this)
-      var data = $spy.data()
+      this._element.classList.remove(ClassName$a.SHOW);
 
-      data.offset = data.offset || {}
+      if (this._config.animation) {
+        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+      } else {
+        complete();
+      }
+    } // Static
+    ;
 
-      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
-      if (data.offsetTop    != null) data.offset.top    = data.offsetTop
+    Toast._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $element = $(this);
+        var data = $element.data(DATA_KEY$a);
 
-      Plugin.call($spy, data)
-    })
-  })
+        var _config = typeof config === 'object' && config;
+
+        if (!data) {
+          data = new Toast(this, _config);
+          $element.data(DATA_KEY$a, data);
+        }
 
-}(jQuery);
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new TypeError("No method named \"" + config + "\"");
+          }
+
+          data[config](this);
+        }
+      });
+    };
+
+    _createClass(Toast, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION$a;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType$7;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default$7;
+      }
+    }]);
+
+    return Toast;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME$a] = Toast._jQueryInterface;
+  $.fn[NAME$a].Constructor = Toast;
+
+  $.fn[NAME$a].noConflict = function () {
+    $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
+    return Toast._jQueryInterface;
+  };
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap (v4.3.1): index.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+  (function () {
+    if (typeof $ === 'undefined') {
+      throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+    }
+
+    var version = $.fn.jquery.split(' ')[0].split('.');
+    var minMajor = 1;
+    var ltMajor = 2;
+    var minMinor = 9;
+    var minPatch = 1;
+    var maxMajor = 4;
+
+    if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
+      throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
+    }
+  })();
+
+  exports.Util = Util;
+  exports.Alert = Alert;
+  exports.Button = Button;
+  exports.Carousel = Carousel;
+  exports.Collapse = Collapse;
+  exports.Dropdown = Dropdown;
+  exports.Modal = Modal;
+  exports.Popover = Popover;
+  exports.Scrollspy = ScrollSpy;
+  exports.Tab = Tab;
+  exports.Toast = Toast;
+  exports.Tooltip = Tooltip;
+
+  Object.defineProperty(exports, '__esModule', { value: true });
+
+}));
+//# sourceMappingURL=bootstrap.js.map

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/js/bootstrap.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 4
resources/bootstrap/js/bootstrap.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
resources/bootstrap/js/bootstrap.min.js.map


+ 0 - 13
resources/bootstrap/js/npm.js

@@ -1,13 +0,0 @@
-// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
-require('../../js/transition.js')
-require('../../js/alert.js')
-require('../../js/button.js')
-require('../../js/carousel.js')
-require('../../js/collapse.js')
-require('../../js/dropdown.js')
-require('../../js/modal.js')
-require('../../js/tooltip.js')
-require('../../js/popover.js')
-require('../../js/scrollspy.js')
-require('../../js/tab.js')
-require('../../js/affix.js')

+ 0 - 189
resources/calendar_lw_layers.js

@@ -1,189 +0,0 @@
-//	written	by Tan Ling Wee
-//	last updated 20 June 2003
-//	email :	[email protected]
-
-//////////////////////////////////////////////////////////////////////////////////
-// Layers
-//////////////////////////////////////////////////////////////////////////////////
-
-var layerQueue=new Array()
-var layerIndex=-1
-
-/* hides <select> and <applet> objects (for IE only) */
-function hideElement( elmID, overDiv )
-{
-  if( ie )
-  {
-	for( i = 0; i < document.getElementsByTagName( elmID ).length; i++ )
-	{
-	  obj = document.getElementsByTagName( elmID )[i];
-	  if( !obj || !obj.offsetParent )
-	  {
-		continue;
-	  }
-
-	  // Find the element's offsetTop and offsetLeft relative to the BODY tag.
-	  objLeft   = obj.offsetLeft;
-	  objTop    = obj.offsetTop;
-	  objParent = obj.offsetParent;
-
-	  while( objParent.tagName.toUpperCase() != "BODY" )
-	  {
-		objLeft  += objParent.offsetLeft;
-		objTop   += objParent.offsetTop;
-		objParent = objParent.offsetParent;
-	  }
-
-	  objHeight = obj.offsetHeight;
-	  objWidth = obj.offsetWidth;
-
-	  if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
-	  else if(( overDiv.offsetTop + overDiv.offsetHeight ) <= objTop );
-	  else if( overDiv.offsetTop >= ( objTop + objHeight ));
-	  else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
-	  else
-	  {
-		obj.style.visibility = "hidden";
-	  }
-	}
-  }
-}
-
-/*
-* unhides <select> and <applet> objects (for IE only)
-*/
-function showElement( elmID )
-{
-  if( ie )
-  {
-	for( i = 0; i < document.getElementsByTagName( elmID ).length; i++ )
-	{
-	  obj = document.getElementsByTagName( elmID )[i];
-
-	  if( !obj || !obj.offsetParent )
-	  {
-		continue;
-	  }
-
-	  obj.style.visibility = "";
-	}
-  }
-}
-
-function lw_createLayer (layerName, top_pos, left_pos, width, height, bgcolor, bordercolor, z_index) {
-	document.write("<div ONCLICK='event.cancelBubble=true' id='"+layerName+"' style='z-index:" + z_index + ";position:absolute;top:"+top_pos+";left:"+left_pos+";visibility:hidden;'><table bgcolor='"+bgcolor+"' style='border-width:1px;border-style:solid;border-color:" + bordercolor + "' cellpadding=2 cellspacing=0 width=0><tr><td valign=top width='"+width+"' height='"+height+"'><span id='"+layerName+"_content'></span></td></tr></table></div>")
-}
-
-function lw_getObj (objName) {
-	return (dom)?document.getElementById(objName).style:ie?eval("document.all."+objName) :eval("document."+objName)
-}
-
-function lw_showLayer (layerName) {
-
-	found=false
-	for (i=0;i<=layerIndex;i++)
-	{
-		if (layerQueue[i]==layerName)
-		{
-			found=true
-		}
-	}
-
-	if ((lw_getObj(layerName).visibility!="visible")&&(lw_getObj(layerName).visibility!="show"))
-	{
-		lw_getObj(layerName).visibility = (dom||ie)?"visible":"show"
-		layerQueue[++layerIndex] = layerName
-
-		hideElement( 'SELECT', document.getElementById(layerName) );
-		hideElement( 'APPLET', document.getElementById(layerName) );
-	}
-}
-
-function lw_hideLayer () {
-	showElement( 'SELECT', document.getElementById(layerQueue[layerIndex]) );
-	showElement( 'APPLET', document.getElementById(layerQueue[layerIndex]) );
-
-	lw_getObj(layerQueue[layerIndex--]).visibility = "hidden"
-}
-
-function lw_hideLayerName (layerName) {
-	var i
-	var tmpQueue=new Array()
-	var newIndex=-1
-
-	showElement( 'SELECT', document.getElementById(layerName) );
-	showElement( 'APPLET', document.getElementById(layerName) );
-
-	lw_getObj(layerName).visibility = "hidden"
-
-	for (i=0;i<=layerIndex;i++)
-	{
-		if ((layerQueue[i]!="")&&(layerQueue[i]!=layerName))
-		{
-			tmpQueue [++newIndex] = layerQueue[i]
-			hideElement( 'SELECT', document.getElementById(layerQueue[i]) );
-			hideElement( 'APPLET', document.getElementById(layerQueue[i]) );
-		}
-
-	}
-
-	layerQueue = tmpQueue
-	layerIndex = newIndex
-}
-
-function lw_closeAllLayers() {
-	while (layerIndex >= 0)
-	{
-		lw_hideLayer()
-	}
-}
-
-function lw_closeLastLayer() {
-	if (layerIndex >= 0)
-	{
-		while ((lw_getObj(layerQueue[layerIndex]).visibility!="visible") && (layerIndex>0))
-		{
-			layerIndex--;
-		}
-		lw_hideLayer()
-	}
-}
-
-function lw_escLayer (e) {
-	if (navigator.appName=="Netscape")
-	{
-		var keyCode = e.keyCode?e.keyCode:e.which?e.which:e.charCode;
-		if ((keyCode==27)||(keyCode==1))
-		{
-			lw_closeLastLayer()
-		}
-	}
-	else
-	if ((event.keyCode==0)||(event.keyCode==27))
-	{
-		lw_closeLastLayer()
-	}
-}
-
-
-var lw_leftpos = 0
-var lw_toppos = 0
-var lw_width = 0
-var lw_height = 0
-
-function lw_calcpos(obj) {
-	lw_leftpos=0
-	lw_toppos=0
-	lw_width = obj.offsetWidth
-	lw_height = obj.offsetHeight
-
-	var aTag = obj
-	do {
-		lw_leftpos += aTag.offsetLeft;
-		lw_toppos += aTag.offsetTop;
-		aTag = aTag.offsetParent;
-	} while(aTag.tagName!="BODY");
-}
-
-document.onkeypress = lw_escLayer;
-document.onclick = lw_closeAllLayers;

+ 0 - 376
resources/calendar_lw_menu.js

@@ -1,376 +0,0 @@
-//	written	by Tan Ling Wee
-//	last updated 20 June 2003
-//	email :	[email protected]
-
-var orientation=0	// 0-horizontal 1-vertical
-var imgPath = "js/"
-
-var mainItemForeground = "#000000"
-var mainItemBorder = "#f0f0f0"
-var mainItemBackground = "#f0f0f0"
-
-var mainItemHoverForeground = "#000000"
-var mainItemHoverBorder = "#a0a0a0"
-var mainItemHoverBackground = "#d0d0d0"
-
-var subItemForeground = "#000000"
-var subItemBorder = "#ffffff"
-var subItemBackground = "#ffffff"
-
-var subItemHoverForeground = "#000000"
-var subItemHoverBorder = "#a0a0a0"
-var subItemHoverBackground = "#d0d0d0"
-
-var menuFont = "verdana"
-var menuSize = "11px"
-
-
-/////////////////////////////////////////////////////////////////////////////
-
-var	ie=(navigator.appName=='Microsoft Internet Explorer')
-var	ns=(navigator.appName=='Netscape')
-var	dom=document.getElementById
-var lw_menuId, lw_trigger, to1
-var s1
-
-/////////////////////////////////////////////////////////////////////////////
-
-function Tmenu (id, parentId, url, description, img) {
-	this.id = id
-	this.parentId = parentId
-	this.url = url
-	this.description = description
-	this.numChild = 0
-	this.levelId = 0
-	this.img = img
-}
-
-/////////////////////////////////////////////////////////////////////////////
-
-var menu = new Array()
-var menuCounter = 0
-var numLevel = 0
-var prevMenuId = -1
-var nNowAt = 0
-
-function displayMenuItem(menuId) {
-	var sHTML
-
-	if (menu[menuId].parentId>0)
-	{
-		ItemForeground = subItemForeground
-		Border = subItemBorder
-		Background = subItemBackground
-
-		HoverForeground = subItemHoverForeground
-		HoverBorder = subItemHoverBorder
-		HoverBackground = subItemHoverBackground
-	}
-	else
-	{
-		ItemForeground = mainItemForeground
-		Border = mainItemBorder
-		Background = mainItemBackground
-
-		HoverForeground = mainItemHoverForeground
-		HoverBorder = mainItemHoverBorder
-		HoverBackground = mainItemHoverBackground
-	}
-
-	if ((orientation==1)||(menu[menuId].levelId>0))
-	{
-		sHTML += "<tr>"
-	}
-
-	if (menu[menuId].description!='-')
-	{
-		sHTML = "<td valign='top' id='menu_"+menuId+"' style='cursor:pointer;cursor:hand;border-style:solid;border-width:1px;background-color:"+ Background +";color=\""+ ItemForeground +"\";border-color:"+ Border +"' onmouseover='clearInterval(s1);this.style.backgroundColor=\"" + HoverBackground + "\";this.style.color=\"" + HoverForeground + "\";this.style.borderColor=\"" + HoverBorder + "\";"
-
-		if (menu[menuId].numChild!=0) {
-			sHTML += "showSubmenu("+menu[menuId].id+",this);hideSubmenu(menu["+menuId+"].levelId+1);"
-		}
-		else
-		{
-			sHTML += "prevMenuId = "+menuId+";hideSubmenu(menu["+menuId+"].levelId);"
-		}
-
-		sHTML += ";nNowAt="+menuId+";clearAll("+menu[menuId].levelId+","+menu[menuId].parentId+")' onclick='document.location.href=\""+menu[menuId].url+"\"' onmouseout='s1=setInterval(\"resetMenu();hideSubmenu(0)\",1000);'><table cellpadding=0 cellspacing=0 border=0 width='100%'><tr>"
-
-		if (menu[menuId].levelId>0)
-		{
-			sHTML += "<td  valign='bottom' style='padding-left:3px' width=20><img src='"
-			if (menu[menuId].img=="")
-			{
-				sHTML += imgPath + "trans.gif"
-			}
-			else
-			{
-				sHTML += imgPath + menu[menuId].img
-			}
-			sHTML += "' width=16 height=16 border=0></td>"
-		}
-
-		if ((orientation==0) && (menu[menuId].levelId==0))
-		{
-			nArrowWidth = 0
-		}
-		else
-		{
-			nArrowWidth = 25
-		}
-
-		sHTML += "<td  valign='bottom' style='padding-left:5px;padding-right:5px' align=left>" + menu[menuId].description.replace(" ","&nbsp;") + "</td><td style='padding-right:2px' align=right width="+nArrowWidth+">"
-		if (menu[menuId].numChild>0)
-		{
-			if ((orientation==0)&&(menu[menuId].levelId==0))
-			{
-				sHTML += "<img src='" + imgPath + "arrow_down.gif'>"
-			}
-			else
-			{
-				sHTML += "<img src='" + imgPath + "arrow_right.gif'>"
-			}
-		}
-		else
-		{
-			sHTML += "&nbsp;"
-		}
-		sHTML += "</td></tr></table></td>"
-	}
-	else
-	{
-		sHTML = "<td valign='bottom'><img src='" + imgPath + "trans.gif' height=2></td></tr><tr><td onmouseover='' bgcolor='#d0d0d0'><img src='" + imgPath + "trans.gif' height=1></td></tr><tr><td><img src='" + imgPath + "trans.gif' height=2></td>"
-	}
-
-	if ((orientation==1)||(menu[menuId].levelId>0))
-	{
-		sHTML += "</tr>"
-	}
-	return sHTML
-}
-
-function clearAll(levelId, parentId) {
-
-	if (levelId>0)
-	{
-		Border = subItemBorder
-		Background = subItemBackground
-	}
-	else
-	{
-		Border = mainItemBorder
-		Background = mainItemBackground
-	}
-
-	for (i=0;i<menuCounter;i++)
-	{
-		if (menu[i].levelId==levelId)
-		{
-			if ((i!=nNowAt) && (menu[i].parentId==parentId) && (menu[i].description!="-")) {
-				lw_getObj("menu_"+i).backgroundColor=Background;
-				lw_getObj("menu_"+i).borderColor=Border
-			}
-		}
-	}
-
-}
-
-function mapID (id) {
-	for (var i=0;i<menuCounter;i++)
-	{
-		if (menu[i].id==id)
-		{
-			return i
-		}
-	}
-	return -1
-}
-
-function showSubmenu(menuId,trigger) {
-	lw_menuId = menuId
-	lw_trigger = trigger
-
-	if (ns)
-	{
-		to1 = setTimeout("showActualSubmenu(lw_menuId,lw_trigger)",50)
-	}
-	else
-	{
-		showActualSubmenu(lw_menuId,lw_trigger)
-	}
-}
-
-function showActualSubmenu(menuId,trigger) {
-	var nLevel = 0
-	var leftpos = 0
-	var nIndex=0
-
-	if (menuId>0)
-	{
-		lw_calcpos(trigger)
-
-		for (var i=0;i<menuCounter;i++)
-		{
-			if (menu[i].id==menuId)
-			{
-				nLevel = menu[i].levelId
-				nIndex = i
-			}
-		}
-
-		if ((orientation==1)||(menu[nIndex].parentId>0))
-		{
-			lw_getObj("menu_level_"+nLevel).top=lw_toppos
-			leftpos = lw_leftpos + lw_width + 5
-
-			if (nLevel==0) {
-				leftpos -= 3
-			}
-		}
-		else {
-			lw_getObj("menu_level_"+nLevel).top = lw_toppos + lw_height + 2
-			leftpos = lw_leftpos
-		}
-
-		lw_getObj("menu_level_"+nLevel).left=leftpos
-
-		sHTML = "<table cellpadding=0 cellspacing=0 border=1>"
-		for (var i=0;i<menuCounter;i++)
-		{
-			if (menu[i].parentId==menuId)
-			{
-				sHTML += displayMenuItem (i)
-			}
-		}
-		sHTML += "</table>"
-
-		document.getElementById("menu_level_"+nLevel+"_content").innerHTML=sHTML
-		lw_showLayer('menu_level_'+nLevel)
-	}
-}
-
-function hideSubmenu(levelId) {
-	for (var cnt=levelId; cnt<numLevel; cnt++)
-	{
-		lw_hideLayerName("menu_level_"+cnt)
-	}
-}
-
-function DrawMenu ()  {
-
-	for (var i=0; i<numLevel ; i++)
-	{
-		lw_createLayer("menu_level_"+i,0,0,0,0,"#ffffff","#d0d0d0",100)
-	}
-
-	sHTML="<table width=100% cellpadding=2 cellspacing=0>"
-	for (var i=0; i<menuCounter; i++)
-	{
-		if (menu[i].parentId==0)
-		{
-			sHTML += displayMenuItem (i)
-		}
-		else if (menu[i].parentId==-1)
-		{
-			sHTML += "<tr><td valign='top'><img src='trans' height=2></td></tr><tr bgcolor='"+mainItemBackground+"'><td style='padding:5px'><b>" + menu[i].description + "</b></td></tr>"
-		}
-	}
-	sHTML += "</table>"
-
-	document.writeln(sHTML)
-
-}
-
-function getLevel (menuId) {
-	var pId=menuId
-	var nLevel=0
-
-	while (pId!=0)
-	{
-		nLevel++
-		for (var i=0;i<menuCounter;i++)
-		{
-			if (menu[i].id==pId)
-			{
-				pId = menu[i].parentId
-			}
-		}
-	}
-
-	return nLevel
-}
-
-function AddMenuItem (id, parentId, url, description, img)  {
-
-	menu[menuCounter++] = new Tmenu (id, parentId, url, description, img)
-
-	if (parentId>0)
-	{
-		for (i=0;i<menuCounter;i++)
-		{
-			if (menu[i].id==parentId)
-			{
-				menu[i].numChild++
-			}
-		}
-		menu[menuCounter-1].levelId = getLevel(parentId)
-
-		if ( numLevel < menu[menuCounter-1].levelId)
-		{
-			numLevel = menu[menuCounter-1].levelId
-		}
-	}
-	else if (parentId==0)
-	{
-		menu[menuCounter-1].levelId = 0
-	}
-	else
-	{
-		menu[menuCounter-1].levelId = -1
-	}
-}
-
-function handleonclick() {
-	if (ns)
-	{
-		lw_closeAllLayers()
-	}
-	else
-	{
-		lw_closeAllLayers(event)
-	}
-
-	resetMenu()
-}
-
-function handlekeypress(e) {
-	if (ns)
-	{
-		var keyCode = e.keyCode?e.keyCode:e.which?e.which:e.charCode;
-		if ((keyCode==27)||(keyCode==1))
-		{
-			handleonclick()
-		}
-	}
-	else
-	if ((event.keyCode==0)||(event.keyCode==27))
-	{
-		handleonclick()
-	}
-	resetMenu()
-}
-
-function resetMenu () {
-	for (i=0;i<menuCounter;i++)
-	{
-		if (menu[i].levelId==0)
-		{
-			lw_getObj("menu_"+i).backgroundColor=mainItemBackground
-			lw_getObj("menu_"+i).borderColor=mainItemBorder
-		}
-	}
-}
-
-document.onkeypress = handlekeypress
-document.onclick = handleonclick
-

+ 0 - 637
resources/calendar_popcalendar.js

@@ -1,637 +0,0 @@
-//	written	by Tan Ling	Wee	on 2 Dec 2001
-//	last updated 20 June 2003
-//	email :	[email protected]
-
-	var	fixedX = -1			// x position (-1 if to appear below control)
-	var	fixedY = -1			// y position (-1 if to appear below control)
-	var startAt = 1			// 0 - sunday ; 1 - monday
-	var showWeekNumber = 1	// 0 - don't show; 1 - show
-	var showToday = 1		// 0 - don't show; 1 - show
-	var imgDir = "/images/"			// directory for images ... e.g. var imgDir="/img/"
-
-	var gotoString = "Go To Current Month"
-	var todayString = "Today is"
-	var weekString = "Wk"
-	var scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically."
-	var scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."
-	var selectMonthMessage = "Click to select a month."
-	var selectYearMessage = "Click to select a year."
-	var selectDateMessage = "Select [date] as date." // do not replace [date], it will be replaced by date.
-
-	var	crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear
-
-	var	bPageLoaded=false
-	var	ie=document.all
-	var	dom=document.getElementById
-
-	var	ns4=document.layers
-	var	today =	new	Date()
-	var	dateNow	 = today.getDate()
-	var	monthNow = today.getMonth()
-	var	yearNow	 = today.getYear()
-	var	imgsrc = new Array("caldrop.png","caldrop.png","calleft.png","calleft.png","calright.png","calright.png")
-	var	img	= new Array()
-
-	var bShow = false;
-
-    /* hides <select> and <applet> objects (for IE only) */
-    function hideElement( elmID, overDiv )
-    {
-      if( ie )
-      {
-        for( i = 0; i < document.all.tags( elmID ).length; i++ )
-        {
-          obj = document.all.tags( elmID )[i];
-          if( !obj || !obj.offsetParent )
-          {
-            continue;
-          }
-
-          // Find the element's offsetTop and offsetLeft relative to the BODY tag.
-          objLeft   = obj.offsetLeft;
-          objTop    = obj.offsetTop;
-          objParent = obj.offsetParent;
-
-          while( objParent.tagName.toUpperCase() != "BODY" )
-          {
-            objLeft  += objParent.offsetLeft;
-            objTop   += objParent.offsetTop;
-            objParent = objParent.offsetParent;
-          }
-
-          objHeight = obj.offsetHeight;
-          objWidth = obj.offsetWidth;
-
-          if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
-          else if(( overDiv.offsetTop + overDiv.offsetHeight ) <= objTop );
-          else if( overDiv.offsetTop >= ( objTop + objHeight ));
-          else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
-          else
-          {
-            obj.style.visibility = "hidden";
-          }
-        }
-      }
-    }
-
-    /*
-    * unhides <select> and <applet> objects (for IE only)
-    */
-    function showElement( elmID )
-    {
-      if( ie )
-      {
-        for( i = 0; i < document.all.tags( elmID ).length; i++ )
-        {
-          obj = document.all.tags( elmID )[i];
-
-          if( !obj || !obj.offsetParent )
-          {
-            continue;
-          }
-
-          obj.style.visibility = "";
-        }
-      }
-    }
-
-	function HolidayRec (d, m, y, desc)
-	{
-		this.d = d
-		this.m = m
-		this.y = y
-		this.desc = desc
-	}
-
-	var HolidaysCounter = 0
-	var Holidays = new Array()
-
-	function addHoliday (d, m, y, desc)
-	{
-		Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )
-	}
-
-	if (dom)
-	{
-		for	(i=0;i<imgsrc.length;i++)
-		{
-			img[i] = new Image
-			img[i].src = imgDir + imgsrc[i]
-		}
-		document.write ("<div onclick='bShow=true' id='calendar'	style='z-index:+999;position:absolute;visibility:hidden;'><table width="+((showWeekNumber==1)?250:220)+" style='font-family:arial;font-size:11px;border-width:1;border-style:solid;border-color:#287FB5;font-family:arial; font-size:11px}' bgcolor='#FFFFFF'><tr class='calmenubar'><td valign='top'><table border='0' cellpadding='0' cellspacing='0' width='"+((showWeekNumber==1)?248:218)+"'><tr><td valign='middle' style='font-family:arial; font-size:11px;'><font color='#287FB5' class='menubartxt'><B><span id='caption'></span></B></font></td><td align=right valign='middle'><input type='button' class='btn' onclick='javascript:hideCalendar();' name='x' value='x'></td></tr></table></td></tr><tr><td style='padding:0px' bgcolor=#ffffff><span id='content'></span></td></tr>")
-		//document.write ("<div onclick='bShow=true' id='calendar'	style='z-index:+999;position:absolute;visibility:hidden;'><table	width="+((showWeekNumber==1)?250:220)+" style='font-family:arial;font-size:11px;border-width:1;border-style:solid;border-color:#a0a0a0;font-family:arial; font-size:11px}' bgcolor='#ffffff'><tr bgcolor='#FF00aa' class='calmenubar'><td valign='top'><table cellpadding='0' cellspacing='0' width='"+((showWeekNumber==1)?248:218)+"'><tr><td style='padding:1px;font-family:arial; font-size:11px;'><font color='#ffffff' class='menubartxt'><B><span id='caption'></span></B></font></td><td align=right><a href='javascript:hideCalendar()'><IMG SRC='"+imgDir+"close.gif' WIDTH='10' HEIGHT='10' BORDER='0' ALT='Close the Calendar'></a></td></tr></table></td></tr><tr><td style='padding:0px' bgcolor=#ffffff><span id='content'></span></td></tr>")
-
-		if (showToday==1)
-		{
-            //bottom background
-			document.write ("<tr bgcolor=#f0f0f0><td style='padding:5px' align=center><span id='lblToday'></span></td></tr>")
-		}
-
-		document.write ("</table></div><div id='selectMonth' style='z-index:+999;position:absolute;visibility:hidden;'></div><div id='selectYear' style='z-index:+999;position:absolute;visibility:hidden;'></div>");
-	}
-
-	var	monthName =	new	Array("January","February","March","April","May","June","July","August","September","October","November","December")
-	var	monthName2 = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC")
-	if (startAt==0)
-	{
-		dayName = new Array	("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
-	}
-	else
-	{
-		dayName = new Array	("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
-	}
-	var	styleAnchor="text-decoration:none;color:black;"
-	var	styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;"
-
-	function swapImage(srcImg, destImg){
-		if (ie)	{ document.getElementById(srcImg).setAttribute("src",imgDir + destImg) }
-	}
-
-	function init()	{
-		if (!ns4)
-		{
-			if (!ie) { yearNow += 1900	}
-
-			crossobj=(dom)?document.getElementById("calendar").style : ie? document.all.calendar : document.calendar
-			hideCalendar()
-
-			crossMonthObj=(dom)?document.getElementById("selectMonth").style : ie? document.all.selectMonth	: document.selectMonth
-
-			crossYearObj=(dom)?document.getElementById("selectYear").style : ie? document.all.selectYear : document.selectYear
-
-			monthConstructed=false;
-			yearConstructed=false;
-
-			if (showToday==1)
-			{
-				document.getElementById("lblToday").innerHTML =	todayString + " <a onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' style='"+styleAnchor+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>"+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow + " " + monthName[monthNow].substring(0,3)	+ "	" +	yearNow	+ "</a>"
-			}
-
-			sHTML1="<span id='spanLeft'	style='border-style:solid;border-width:0;border-color:#D3DCE4;cursor:pointer' onmouseover='swapImage(\"changeLeft\",\"calleft.png\");window.status=\""+scrollLeftMessage+"\"' onclick='javascript:decMonth()' onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"calleft.png\");window.status=\"\"' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)'	onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeLeft' SRC='"+imgDir+"calleft.png' BORDER=0>&nbsp</span>&nbsp;"
-			sHTML1+="<span id='spanRight' style='border-style:solid;border-width:0;border-color:#D3DCE4;cursor:pointer'	onmouseover='swapImage(\"changeRight\",\"calright.png\");window.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"calright.png\");window.status=\"\"' onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartIncMonth()\",500)'	onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeRight' SRC='"+imgDir+"calright.png'	BORDER=0>&nbsp</span>&nbsp"
-			sHTML1+="<span id='spanMonth' style='border-style:solid;border-width:0;border-color:#D3DCE4;cursor:pointer'	onmouseover='swapImage(\"changeMonth\",\"caldrop.png\");window.status=\""+selectMonthMessage+"\"' onmouseout='swapImage(\"changeMonth\",\"caldrop.png\");window.status=\"\"' onclick='popUpMonth()'></span>&nbsp;"
-			sHTML1+="<span id='spanYear' style='border-style:solid;border-width:0;border-color:#D3DCE4;cursor:pointer' onmouseover='swapImage(\"changeYear\",\"caldrop.png\");window.status=\""+selectYearMessage+"\"'	onmouseout='swapImage(\"changeYear\",\"caldrop.png\");window.status=\"\"'	onclick='popUpYear()'></span>&nbsp;"
-
-			document.getElementById("caption").innerHTML  =	sHTML1
-
-			bPageLoaded=true
-		}
-	}
-
-	function hideCalendar()	{
-		crossobj.visibility="hidden"
-		if (crossMonthObj != null){crossMonthObj.visibility="hidden"}
-		if (crossYearObj !=	null){crossYearObj.visibility="hidden"}
-
-	    showElement( 'SELECT' );
-		showElement( 'APPLET' );
-	}
-
-	function padZero(num) {
-		return (num	< 10)? '0' + num : num ;
-	}
-
-	function constructDate(d,m,y)
-	{
-		sTmp = dateFormat
-		sTmp = sTmp.replace	("dd","<e>")
-		sTmp = sTmp.replace	("d","<d>")
-		sTmp = sTmp.replace	("<e>",padZero(d))
-		sTmp = sTmp.replace	("<d>",d)
-		sTmp = sTmp.replace	("mmmm","<p>")
-		sTmp = sTmp.replace	("mmm","<o>")
-		sTmp = sTmp.replace	("mm","<n>")
-		sTmp = sTmp.replace	("m","<m>")
-		sTmp = sTmp.replace	("<m>",m+1)
-		sTmp = sTmp.replace	("<n>",padZero(m+1))
-		sTmp = sTmp.replace	("<o>",monthName[m])
-		sTmp = sTmp.replace	("<p>",monthName2[m])
-		sTmp = sTmp.replace	("yyyy",y)
-		return sTmp.replace ("yy",padZero(y%100))
-	}
-
-	function closeCalendar() {
-		var	sTmp
-
-		hideCalendar();
-		ctlToPlaceValue.value =	constructDate(dateSelected,monthSelected,yearSelected)
-	}
-
-	/*** Month Pulldown	***/
-
-	function StartDecMonth()
-	{
-		intervalID1=setInterval("decMonth()",80)
-	}
-
-	function StartIncMonth()
-	{
-		intervalID1=setInterval("incMonth()",80)
-	}
-
-	function incMonth () {
-		monthSelected++
-		if (monthSelected>11) {
-			monthSelected=0
-			yearSelected++
-		}
-		constructCalendar()
-	}
-
-	function decMonth () {
-		monthSelected--
-		if (monthSelected<0) {
-			monthSelected=11
-			yearSelected--
-		}
-		constructCalendar()
-	}
-
-	function constructMonth() {
-		popDownYear()
-		if (!monthConstructed) {
-			sHTML =	""
-			for	(i=0; i<12;	i++) {
-				sName =	monthName[i];
-				if (i==monthSelected){
-					sName =	"<B>" +	sName +	"</B>"
-				}
-				sHTML += "<tr><td id='m" + i + "' onmouseover='this.style.backgroundColor=\"#D3DCE4\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='monthConstructed=false;monthSelected=" + i + ";constructCalendar();popDownMonth();event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
-			}
-
-			document.getElementById("selectMonth").innerHTML = "<table width=70	style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;' bgcolor='#F1F4F6' cellspacing=0 onmouseover='clearTimeout(timeoutID1)'	onmouseout='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"popDownMonth()\",100);event.cancelBubble=true'>" +	sHTML +	"</table>"
-
-			monthConstructed=true
-		}
-	}
-
-	function popUpMonth() {
-		constructMonth()
-		crossMonthObj.visibility = (dom||ie)? "visible"	: "show"
-		crossMonthObj.left = parseInt(crossobj.left) + 50
-		crossMonthObj.top =	parseInt(crossobj.top) + 26
-
-		hideElement( 'SELECT', document.getElementById("selectMonth") );
-		hideElement( 'APPLET', document.getElementById("selectMonth") );
-	}
-
-	function popDownMonth()	{
-		crossMonthObj.visibility= "hidden"
-	}
-
-	/*** Year Pulldown ***/
-
-	function incYear() {
-		for	(i=0; i<7; i++){
-			newYear	= (i+nStartingYear)+1
-			if (newYear==yearSelected)
-			{ txtYear =	"&nbsp;<B>"	+ newYear +	"</B>&nbsp;" }
-			else
-			{ txtYear =	"&nbsp;" + newYear + "&nbsp;" }
-			document.getElementById("y"+i).innerHTML = txtYear
-		}
-		nStartingYear ++;
-		bShow=true
-	}
-
-	function decYear() {
-		for	(i=0; i<7; i++){
-			newYear	= (i+nStartingYear)-1
-			if (newYear==yearSelected)
-			{ txtYear =	"&nbsp;<B>"	+ newYear +	"</B>&nbsp;" }
-			else
-			{ txtYear =	"&nbsp;" + newYear + "&nbsp;" }
-			document.getElementById("y"+i).innerHTML = txtYear
-		}
-		nStartingYear --;
-		bShow=true
-	}
-
-	function selectYear(nYear) {
-		yearSelected=parseInt(nYear+nStartingYear);
-		yearConstructed=false;
-		constructCalendar();
-		popDownYear();
-	}
-
-	function constructYear() {
-		popDownMonth()
-		sHTML =	""
-		if (!yearConstructed) {
-
-			sHTML =	"<tr><td align='center'	onmouseover='this.style.backgroundColor=\"#D3DCE4\"' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' style='cursor:pointer'	onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>"
-
-			j =	0
-			nStartingYear =	yearSelected-3
-			for	(i=(yearSelected-3); i<=(yearSelected+3); i++) {
-				sName =	i;
-				if (i==yearSelected){
-					sName =	"<B>" +	sName +	"</B>"
-				}
-
-				sHTML += "<tr><td id='y" + j + "' onmouseover='this.style.backgroundColor=\"#D3DCE4\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
-				j ++;
-			}
-
-			sHTML += "<tr><td align='center' onmouseover='this.style.backgroundColor=\"#D3DCE4\"' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)'	onmouseup='clearInterval(intervalID2)'>+</td></tr>"
-
-			document.getElementById("selectYear").innerHTML	= "<table width=44 style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;'	bgcolor='#F1F4F6' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear()\",100)' cellspacing=0>"	+ sHTML	+ "</table>"
-
-			yearConstructed	= true
-		}
-	}
-
-	function popDownYear() {
-		clearInterval(intervalID1)
-		clearTimeout(timeoutID1)
-		clearInterval(intervalID2)
-		clearTimeout(timeoutID2)
-		crossYearObj.visibility= "hidden"
-	}
-
-	function popUpYear() {
-		var	leftOffset
-
-		constructYear()
-		crossYearObj.visibility	= (dom||ie)? "visible" : "show"
-		leftOffset = parseInt(crossobj.left) + document.getElementById("spanYear").offsetLeft
-		if (ie)
-		{
-			leftOffset += 6
-		}
-		crossYearObj.left =	leftOffset
-		crossYearObj.top = parseInt(crossobj.top) +	26
-	}
-
-	/*** calendar ***/
-   function WeekNbr(n) {
-      // Algorithm used:
-      // From Klaus Tondering's Calendar document (The Authority/Guru)
-      // hhtp://www.tondering.dk/claus/calendar.html
-      // a = (14-month) / 12
-      // y = year + 4800 - a
-      // m = month + 12a - 3
-      // J = day + (153m + 2) / 5 + 365y + y / 4 - y / 100 + y / 400 - 32045
-      // d4 = (J + 31741 - (J mod 7)) mod 146097 mod 36524 mod 1461
-      // L = d4 / 1460
-      // d1 = ((d4 - L) mod 365) + L
-      // WeekNumber = d1 / 7 + 1
-
-      year = n.getFullYear();
-      month = n.getMonth() + 1;
-      if (startAt == 0) {
-         day = n.getDate() + 1;
-      }
-      else {
-         day = n.getDate();
-      }
-
-      a = Math.floor((14-month) / 12);
-      y = year + 4800 - a;
-      m = month + 12 * a - 3;
-      b = Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400);
-      J = day + Math.floor((153 * m + 2) / 5) + 365 * y + b - 32045;
-      d4 = (((J + 31741 - (J % 7)) % 146097) % 36524) % 1461;
-      L = Math.floor(d4 / 1460);
-      d1 = ((d4 - L) % 365) + L;
-      week = Math.floor(d1/7) + 1;
-
-      return week;
-   }
-
-	function constructCalendar () {
-		var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31)
-
-		var dateMessage
-		var	startDate =	new	Date (yearSelected,monthSelected,1)
-		var endDate
-
-		if (monthSelected==1)
-		{
-			endDate	= new Date (yearSelected,monthSelected+1,1);
-			endDate	= new Date (endDate	- (24*60*60*1000));
-			numDaysInMonth = endDate.getDate()
-		}
-		else
-		{
-			numDaysInMonth = aNumDays[monthSelected];
-		}
-
-		datePointer	= 0
-		dayPointer = startDate.getDay() - startAt
-
-		if (dayPointer<0)
-		{
-			dayPointer = 6
-		}
-
-		sHTML =	"<table	border=0 style='font-family:verdana;font-size:10px;'><tr>"
-
-		if (showWeekNumber==1)
-		{
-			sHTML += "<td width=27><b>" + weekString + "</b></td><td width=1 rowspan=7 bgcolor='#d0d0d0' style='padding:0px'><img src='"+imgDir+"divider.gif' width=1></td>"
-		}
-
-		for	(i=0; i<7; i++)	{
-			sHTML += "<td width='27' align='right'><B>"+ dayName[i]+"</B></td>"
-		}
-		sHTML +="</tr><tr>"
-
-		if (showWeekNumber==1)
-		{
-			sHTML += "<td align=right>" + WeekNbr(startDate) + "&nbsp;</td>"
-		}
-
-		for	( var i=1; i<=dayPointer;i++ )
-		{
-			sHTML += "<td>&nbsp;</td>"
-		}
-
-		for	( datePointer=1; datePointer<=numDaysInMonth; datePointer++ )
-		{
-			dayPointer++;
-			sHTML += "<td align=right>"
-			sStyle=styleAnchor
-			if ((datePointer==odateSelected) &&	(monthSelected==omonthSelected)	&& (yearSelected==oyearSelected))
-			{ sStyle+=styleLightBorder }
-
-			sHint = ""
-			for (k=0;k<HolidaysCounter;k++)
-			{
-				if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
-				{
-					if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
-					{
-						sStyle+="background-color:#FFDDDD;"
-						sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
-					}
-				}
-			}
-
-			var regexp= /\"/g
-			sHint=sHint.replace(regexp,"&quot;")
-
-			dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
-
-			if ((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow))
-			{ sHTML += "<b><a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer+";closeCalendar();'><font color=#ff0000>&nbsp;" + datePointer + "</font>&nbsp;</a></b>"}
-			else if	(dayPointer % 7 == (startAt * -1)+1)
-			{ sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'>&nbsp;<font color=#909090>" + datePointer + "</font>&nbsp;</a>" }
-			else
-			{ sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'>&nbsp;" + datePointer + "&nbsp;</a>" }
-
-			sHTML += ""
-			if ((dayPointer+startAt) % 7 == startAt) {
-				sHTML += "</tr><tr>"
-				if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
-				{
-					sHTML += "<td align=right>" + (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + "&nbsp;</td>"
-				}
-			}
-		}
-
-		document.getElementById("content").innerHTML   = sHTML
-		document.getElementById("spanMonth").innerHTML = "&nbsp;" +	monthName[monthSelected] + "&nbsp;<IMG id='changeMonth' SRC='"+imgDir+"caldrop.png' BORDER=0>"
-		document.getElementById("spanYear").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;<IMG id='changeYear' SRC='"+imgDir+"caldrop.png' BORDER=0>"
-	}
-
-	function popUpCalendar(ctl,	ctl2, format) {
-		var	leftpos=0
-		var	toppos=0
-
-		if (bPageLoaded)
-		{
-			if ( crossobj.visibility ==	"hidden" ) {
-				ctlToPlaceValue	= ctl2
-				dateFormat=format;
-
-				formatChar = " "
-				aFormat	= dateFormat.split(formatChar)
-				if (aFormat.length<3)
-				{
-					formatChar = "/"
-					aFormat	= dateFormat.split(formatChar)
-					if (aFormat.length<3)
-					{
-						formatChar = "."
-						aFormat	= dateFormat.split(formatChar)
-						if (aFormat.length<3)
-						{
-							formatChar = "-"
-							aFormat	= dateFormat.split(formatChar)
-							if (aFormat.length<3)
-							{
-								// invalid date	format
-								formatChar=""
-							}
-						}
-					}
-				}
-
-				tokensChanged =	0
-				if ( formatChar	!= "" )
-				{
-					// use user's date
-					aData =	ctl2.value.split(formatChar)
-
-					for	(i=0;i<3;i++)
-					{
-						if ((aFormat[i]=="d") || (aFormat[i]=="dd"))
-						{
-							dateSelected = parseInt(aData[i], 10)
-							tokensChanged ++
-						}
-						else if	((aFormat[i]=="m") || (aFormat[i]=="mm"))
-						{
-							monthSelected =	parseInt(aData[i], 10) - 1
-							tokensChanged ++
-						}
-						else if	(aFormat[i]=="yyyy")
-						{
-							yearSelected = parseInt(aData[i], 10)
-							tokensChanged ++
-						}
-						else if	(aFormat[i]=="mmm")
-						{
-							for	(j=0; j<12;	j++)
-							{
-								if (aData[i]==monthName[j])
-								{
-									monthSelected=j
-									tokensChanged ++
-								}
-							}
-						}
-						else if	(aFormat[i]=="mmmm")
-						{
-							for	(j=0; j<12;	j++)
-							{
-								if (aData[i]==monthName2[j])
-								{
-									monthSelected=j
-									tokensChanged ++
-								}
-							}
-						}
-					}
-				}
-
-				if ((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected))
-				{
-					dateSelected = dateNow
-					monthSelected =	monthNow
-					yearSelected = yearNow
-				}
-
-				odateSelected=dateSelected
-				omonthSelected=monthSelected
-				oyearSelected=yearSelected
-
-				aTag = ctl
-				do {
-					aTag = aTag.offsetParent;
-					leftpos	+= aTag.offsetLeft;
-					toppos += aTag.offsetTop;
-				} while(aTag.tagName!="BODY");
-
-				crossobj.left =	fixedX==-1 ? ctl.offsetLeft	+ leftpos :	fixedX
-				crossobj.top = fixedY==-1 ?	ctl.offsetTop +	toppos + ctl.offsetHeight +	2 :	fixedY
-				constructCalendar (1, monthSelected, yearSelected);
-				crossobj.visibility=(dom||ie)? "visible" : "show"
-
-				hideElement( 'SELECT', document.getElementById("calendar") );
-				hideElement( 'APPLET', document.getElementById("calendar") );
-
-				bShow = true;
-			}
-			else
-			{
-				hideCalendar()
-				if (ctlNow!=ctl) {popUpCalendar(ctl, ctl2, format)}
-			}
-			ctlNow = ctl
-		}
-	}
-
-	document.onkeypress = function hidecal1 () {
-		if (event.keyCode==27)
-		{
-			hideCalendar()
-		}
-	}
-	document.onclick = function hidecal2 () {
-		if (!bShow)
-		{
-			hideCalendar()
-		}
-		bShow = false
-	}
-
-	if(ie)
-	{
-		init()
-	}
-	else
-	{
-		window.onload=init
-	}

+ 34 - 0
resources/fontawesome/LICENSE.txt

@@ -0,0 +1,34 @@
+Font Awesome Free License
+-------------------------
+
+Font Awesome Free is free, open source, and GPL friendly. You can use it for
+commercial projects, open source projects, or really almost whatever you want.
+Full Font Awesome Free license: https://fontawesome.com/license/free.
+
+# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
+In the Font Awesome Free download, the CC BY 4.0 license applies to all icons
+packaged as SVG and JS file types.
+
+# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL)
+In the Font Awesome Free download, the SIL OFL license applies to all icons
+packaged as web and desktop font files.
+
+# Code: MIT License (https://opensource.org/licenses/MIT)
+In the Font Awesome Free download, the MIT license applies to all non-font and
+non-icon files.
+
+# Attribution
+Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
+Awesome Free files already contain embedded comments with sufficient
+attribution, so you shouldn't need to do anything additional when using these
+files normally.
+
+We've kept attribution comments terse, so we ask that you do not actively work
+to remove them from files, especially code. They're a great way for folks to
+learn about Font Awesome.
+
+# Brand Icons
+All brand icons are trademarks of their respective owners. The use of these
+trademarks does not indicate endorsement of the trademark holder by Font
+Awesome, nor vice versa. **Please do not use brand logos for any purpose except
+to represent the company, product, or service to which they refer.**

+ 4396 - 0
resources/fontawesome/css/all.css

@@ -0,0 +1,4396 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+.fa,
+.fas,
+.far,
+.fal,
+.fad,
+.fab {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  text-rendering: auto;
+  line-height: 1; }
+
+.fa-lg {
+  font-size: 1.33333em;
+  line-height: 0.75em;
+  vertical-align: -.0667em; }
+
+.fa-xs {
+  font-size: .75em; }
+
+.fa-sm {
+  font-size: .875em; }
+
+.fa-1x {
+  font-size: 1em; }
+
+.fa-2x {
+  font-size: 2em; }
+
+.fa-3x {
+  font-size: 3em; }
+
+.fa-4x {
+  font-size: 4em; }
+
+.fa-5x {
+  font-size: 5em; }
+
+.fa-6x {
+  font-size: 6em; }
+
+.fa-7x {
+  font-size: 7em; }
+
+.fa-8x {
+  font-size: 8em; }
+
+.fa-9x {
+  font-size: 9em; }
+
+.fa-10x {
+  font-size: 10em; }
+
+.fa-fw {
+  text-align: center;
+  width: 1.25em; }
+
+.fa-ul {
+  list-style-type: none;
+  margin-left: 2.5em;
+  padding-left: 0; }
+  .fa-ul > li {
+    position: relative; }
+
+.fa-li {
+  left: -2em;
+  position: absolute;
+  text-align: center;
+  width: 2em;
+  line-height: inherit; }
+
+.fa-border {
+  border: solid 0.08em #eee;
+  border-radius: .1em;
+  padding: .2em .25em .15em; }
+
+.fa-pull-left {
+  float: left; }
+
+.fa-pull-right {
+  float: right; }
+
+.fa.fa-pull-left,
+.fas.fa-pull-left,
+.far.fa-pull-left,
+.fal.fa-pull-left,
+.fab.fa-pull-left {
+  margin-right: .3em; }
+
+.fa.fa-pull-right,
+.fas.fa-pull-right,
+.far.fa-pull-right,
+.fal.fa-pull-right,
+.fab.fa-pull-right {
+  margin-left: .3em; }
+
+.fa-spin {
+  -webkit-animation: fa-spin 2s infinite linear;
+          animation: fa-spin 2s infinite linear; }
+
+.fa-pulse {
+  -webkit-animation: fa-spin 1s infinite steps(8);
+          animation: fa-spin 1s infinite steps(8); }
+
+@-webkit-keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+@keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+.fa-rotate-90 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
+  -webkit-transform: rotate(90deg);
+          transform: rotate(90deg); }
+
+.fa-rotate-180 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
+  -webkit-transform: rotate(180deg);
+          transform: rotate(180deg); }
+
+.fa-rotate-270 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
+  -webkit-transform: rotate(270deg);
+          transform: rotate(270deg); }
+
+.fa-flip-horizontal {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
+  -webkit-transform: scale(-1, 1);
+          transform: scale(-1, 1); }
+
+.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(1, -1);
+          transform: scale(1, -1); }
+
+.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(-1, -1);
+          transform: scale(-1, -1); }
+
+:root .fa-rotate-90,
+:root .fa-rotate-180,
+:root .fa-rotate-270,
+:root .fa-flip-horizontal,
+:root .fa-flip-vertical,
+:root .fa-flip-both {
+  -webkit-filter: none;
+          filter: none; }
+
+.fa-stack {
+  display: inline-block;
+  height: 2em;
+  line-height: 2em;
+  position: relative;
+  vertical-align: middle;
+  width: 2.5em; }
+
+.fa-stack-1x,
+.fa-stack-2x {
+  left: 0;
+  position: absolute;
+  text-align: center;
+  width: 100%; }
+
+.fa-stack-1x {
+  line-height: inherit; }
+
+.fa-stack-2x {
+  font-size: 2em; }
+
+.fa-inverse {
+  color: #fff; }
+
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+readers do not read off random characters that represent icons */
+.fa-500px:before {
+  content: "\f26e"; }
+
+.fa-accessible-icon:before {
+  content: "\f368"; }
+
+.fa-accusoft:before {
+  content: "\f369"; }
+
+.fa-acquisitions-incorporated:before {
+  content: "\f6af"; }
+
+.fa-ad:before {
+  content: "\f641"; }
+
+.fa-address-book:before {
+  content: "\f2b9"; }
+
+.fa-address-card:before {
+  content: "\f2bb"; }
+
+.fa-adjust:before {
+  content: "\f042"; }
+
+.fa-adn:before {
+  content: "\f170"; }
+
+.fa-adobe:before {
+  content: "\f778"; }
+
+.fa-adversal:before {
+  content: "\f36a"; }
+
+.fa-affiliatetheme:before {
+  content: "\f36b"; }
+
+.fa-air-freshener:before {
+  content: "\f5d0"; }
+
+.fa-airbnb:before {
+  content: "\f834"; }
+
+.fa-algolia:before {
+  content: "\f36c"; }
+
+.fa-align-center:before {
+  content: "\f037"; }
+
+.fa-align-justify:before {
+  content: "\f039"; }
+
+.fa-align-left:before {
+  content: "\f036"; }
+
+.fa-align-right:before {
+  content: "\f038"; }
+
+.fa-alipay:before {
+  content: "\f642"; }
+
+.fa-allergies:before {
+  content: "\f461"; }
+
+.fa-amazon:before {
+  content: "\f270"; }
+
+.fa-amazon-pay:before {
+  content: "\f42c"; }
+
+.fa-ambulance:before {
+  content: "\f0f9"; }
+
+.fa-american-sign-language-interpreting:before {
+  content: "\f2a3"; }
+
+.fa-amilia:before {
+  content: "\f36d"; }
+
+.fa-anchor:before {
+  content: "\f13d"; }
+
+.fa-android:before {
+  content: "\f17b"; }
+
+.fa-angellist:before {
+  content: "\f209"; }
+
+.fa-angle-double-down:before {
+  content: "\f103"; }
+
+.fa-angle-double-left:before {
+  content: "\f100"; }
+
+.fa-angle-double-right:before {
+  content: "\f101"; }
+
+.fa-angle-double-up:before {
+  content: "\f102"; }
+
+.fa-angle-down:before {
+  content: "\f107"; }
+
+.fa-angle-left:before {
+  content: "\f104"; }
+
+.fa-angle-right:before {
+  content: "\f105"; }
+
+.fa-angle-up:before {
+  content: "\f106"; }
+
+.fa-angry:before {
+  content: "\f556"; }
+
+.fa-angrycreative:before {
+  content: "\f36e"; }
+
+.fa-angular:before {
+  content: "\f420"; }
+
+.fa-ankh:before {
+  content: "\f644"; }
+
+.fa-app-store:before {
+  content: "\f36f"; }
+
+.fa-app-store-ios:before {
+  content: "\f370"; }
+
+.fa-apper:before {
+  content: "\f371"; }
+
+.fa-apple:before {
+  content: "\f179"; }
+
+.fa-apple-alt:before {
+  content: "\f5d1"; }
+
+.fa-apple-pay:before {
+  content: "\f415"; }
+
+.fa-archive:before {
+  content: "\f187"; }
+
+.fa-archway:before {
+  content: "\f557"; }
+
+.fa-arrow-alt-circle-down:before {
+  content: "\f358"; }
+
+.fa-arrow-alt-circle-left:before {
+  content: "\f359"; }
+
+.fa-arrow-alt-circle-right:before {
+  content: "\f35a"; }
+
+.fa-arrow-alt-circle-up:before {
+  content: "\f35b"; }
+
+.fa-arrow-circle-down:before {
+  content: "\f0ab"; }
+
+.fa-arrow-circle-left:before {
+  content: "\f0a8"; }
+
+.fa-arrow-circle-right:before {
+  content: "\f0a9"; }
+
+.fa-arrow-circle-up:before {
+  content: "\f0aa"; }
+
+.fa-arrow-down:before {
+  content: "\f063"; }
+
+.fa-arrow-left:before {
+  content: "\f060"; }
+
+.fa-arrow-right:before {
+  content: "\f061"; }
+
+.fa-arrow-up:before {
+  content: "\f062"; }
+
+.fa-arrows-alt:before {
+  content: "\f0b2"; }
+
+.fa-arrows-alt-h:before {
+  content: "\f337"; }
+
+.fa-arrows-alt-v:before {
+  content: "\f338"; }
+
+.fa-artstation:before {
+  content: "\f77a"; }
+
+.fa-assistive-listening-systems:before {
+  content: "\f2a2"; }
+
+.fa-asterisk:before {
+  content: "\f069"; }
+
+.fa-asymmetrik:before {
+  content: "\f372"; }
+
+.fa-at:before {
+  content: "\f1fa"; }
+
+.fa-atlas:before {
+  content: "\f558"; }
+
+.fa-atlassian:before {
+  content: "\f77b"; }
+
+.fa-atom:before {
+  content: "\f5d2"; }
+
+.fa-audible:before {
+  content: "\f373"; }
+
+.fa-audio-description:before {
+  content: "\f29e"; }
+
+.fa-autoprefixer:before {
+  content: "\f41c"; }
+
+.fa-avianex:before {
+  content: "\f374"; }
+
+.fa-aviato:before {
+  content: "\f421"; }
+
+.fa-award:before {
+  content: "\f559"; }
+
+.fa-aws:before {
+  content: "\f375"; }
+
+.fa-baby:before {
+  content: "\f77c"; }
+
+.fa-baby-carriage:before {
+  content: "\f77d"; }
+
+.fa-backspace:before {
+  content: "\f55a"; }
+
+.fa-backward:before {
+  content: "\f04a"; }
+
+.fa-bacon:before {
+  content: "\f7e5"; }
+
+.fa-balance-scale:before {
+  content: "\f24e"; }
+
+.fa-balance-scale-left:before {
+  content: "\f515"; }
+
+.fa-balance-scale-right:before {
+  content: "\f516"; }
+
+.fa-ban:before {
+  content: "\f05e"; }
+
+.fa-band-aid:before {
+  content: "\f462"; }
+
+.fa-bandcamp:before {
+  content: "\f2d5"; }
+
+.fa-barcode:before {
+  content: "\f02a"; }
+
+.fa-bars:before {
+  content: "\f0c9"; }
+
+.fa-baseball-ball:before {
+  content: "\f433"; }
+
+.fa-basketball-ball:before {
+  content: "\f434"; }
+
+.fa-bath:before {
+  content: "\f2cd"; }
+
+.fa-battery-empty:before {
+  content: "\f244"; }
+
+.fa-battery-full:before {
+  content: "\f240"; }
+
+.fa-battery-half:before {
+  content: "\f242"; }
+
+.fa-battery-quarter:before {
+  content: "\f243"; }
+
+.fa-battery-three-quarters:before {
+  content: "\f241"; }
+
+.fa-battle-net:before {
+  content: "\f835"; }
+
+.fa-bed:before {
+  content: "\f236"; }
+
+.fa-beer:before {
+  content: "\f0fc"; }
+
+.fa-behance:before {
+  content: "\f1b4"; }
+
+.fa-behance-square:before {
+  content: "\f1b5"; }
+
+.fa-bell:before {
+  content: "\f0f3"; }
+
+.fa-bell-slash:before {
+  content: "\f1f6"; }
+
+.fa-bezier-curve:before {
+  content: "\f55b"; }
+
+.fa-bible:before {
+  content: "\f647"; }
+
+.fa-bicycle:before {
+  content: "\f206"; }
+
+.fa-biking:before {
+  content: "\f84a"; }
+
+.fa-bimobject:before {
+  content: "\f378"; }
+
+.fa-binoculars:before {
+  content: "\f1e5"; }
+
+.fa-biohazard:before {
+  content: "\f780"; }
+
+.fa-birthday-cake:before {
+  content: "\f1fd"; }
+
+.fa-bitbucket:before {
+  content: "\f171"; }
+
+.fa-bitcoin:before {
+  content: "\f379"; }
+
+.fa-bity:before {
+  content: "\f37a"; }
+
+.fa-black-tie:before {
+  content: "\f27e"; }
+
+.fa-blackberry:before {
+  content: "\f37b"; }
+
+.fa-blender:before {
+  content: "\f517"; }
+
+.fa-blender-phone:before {
+  content: "\f6b6"; }
+
+.fa-blind:before {
+  content: "\f29d"; }
+
+.fa-blog:before {
+  content: "\f781"; }
+
+.fa-blogger:before {
+  content: "\f37c"; }
+
+.fa-blogger-b:before {
+  content: "\f37d"; }
+
+.fa-bluetooth:before {
+  content: "\f293"; }
+
+.fa-bluetooth-b:before {
+  content: "\f294"; }
+
+.fa-bold:before {
+  content: "\f032"; }
+
+.fa-bolt:before {
+  content: "\f0e7"; }
+
+.fa-bomb:before {
+  content: "\f1e2"; }
+
+.fa-bone:before {
+  content: "\f5d7"; }
+
+.fa-bong:before {
+  content: "\f55c"; }
+
+.fa-book:before {
+  content: "\f02d"; }
+
+.fa-book-dead:before {
+  content: "\f6b7"; }
+
+.fa-book-medical:before {
+  content: "\f7e6"; }
+
+.fa-book-open:before {
+  content: "\f518"; }
+
+.fa-book-reader:before {
+  content: "\f5da"; }
+
+.fa-bookmark:before {
+  content: "\f02e"; }
+
+.fa-bootstrap:before {
+  content: "\f836"; }
+
+.fa-border-all:before {
+  content: "\f84c"; }
+
+.fa-border-none:before {
+  content: "\f850"; }
+
+.fa-border-style:before {
+  content: "\f853"; }
+
+.fa-bowling-ball:before {
+  content: "\f436"; }
+
+.fa-box:before {
+  content: "\f466"; }
+
+.fa-box-open:before {
+  content: "\f49e"; }
+
+.fa-boxes:before {
+  content: "\f468"; }
+
+.fa-braille:before {
+  content: "\f2a1"; }
+
+.fa-brain:before {
+  content: "\f5dc"; }
+
+.fa-bread-slice:before {
+  content: "\f7ec"; }
+
+.fa-briefcase:before {
+  content: "\f0b1"; }
+
+.fa-briefcase-medical:before {
+  content: "\f469"; }
+
+.fa-broadcast-tower:before {
+  content: "\f519"; }
+
+.fa-broom:before {
+  content: "\f51a"; }
+
+.fa-brush:before {
+  content: "\f55d"; }
+
+.fa-btc:before {
+  content: "\f15a"; }
+
+.fa-buffer:before {
+  content: "\f837"; }
+
+.fa-bug:before {
+  content: "\f188"; }
+
+.fa-building:before {
+  content: "\f1ad"; }
+
+.fa-bullhorn:before {
+  content: "\f0a1"; }
+
+.fa-bullseye:before {
+  content: "\f140"; }
+
+.fa-burn:before {
+  content: "\f46a"; }
+
+.fa-buromobelexperte:before {
+  content: "\f37f"; }
+
+.fa-bus:before {
+  content: "\f207"; }
+
+.fa-bus-alt:before {
+  content: "\f55e"; }
+
+.fa-business-time:before {
+  content: "\f64a"; }
+
+.fa-buysellads:before {
+  content: "\f20d"; }
+
+.fa-calculator:before {
+  content: "\f1ec"; }
+
+.fa-calendar:before {
+  content: "\f133"; }
+
+.fa-calendar-alt:before {
+  content: "\f073"; }
+
+.fa-calendar-check:before {
+  content: "\f274"; }
+
+.fa-calendar-day:before {
+  content: "\f783"; }
+
+.fa-calendar-minus:before {
+  content: "\f272"; }
+
+.fa-calendar-plus:before {
+  content: "\f271"; }
+
+.fa-calendar-times:before {
+  content: "\f273"; }
+
+.fa-calendar-week:before {
+  content: "\f784"; }
+
+.fa-camera:before {
+  content: "\f030"; }
+
+.fa-camera-retro:before {
+  content: "\f083"; }
+
+.fa-campground:before {
+  content: "\f6bb"; }
+
+.fa-canadian-maple-leaf:before {
+  content: "\f785"; }
+
+.fa-candy-cane:before {
+  content: "\f786"; }
+
+.fa-cannabis:before {
+  content: "\f55f"; }
+
+.fa-capsules:before {
+  content: "\f46b"; }
+
+.fa-car:before {
+  content: "\f1b9"; }
+
+.fa-car-alt:before {
+  content: "\f5de"; }
+
+.fa-car-battery:before {
+  content: "\f5df"; }
+
+.fa-car-crash:before {
+  content: "\f5e1"; }
+
+.fa-car-side:before {
+  content: "\f5e4"; }
+
+.fa-caret-down:before {
+  content: "\f0d7"; }
+
+.fa-caret-left:before {
+  content: "\f0d9"; }
+
+.fa-caret-right:before {
+  content: "\f0da"; }
+
+.fa-caret-square-down:before {
+  content: "\f150"; }
+
+.fa-caret-square-left:before {
+  content: "\f191"; }
+
+.fa-caret-square-right:before {
+  content: "\f152"; }
+
+.fa-caret-square-up:before {
+  content: "\f151"; }
+
+.fa-caret-up:before {
+  content: "\f0d8"; }
+
+.fa-carrot:before {
+  content: "\f787"; }
+
+.fa-cart-arrow-down:before {
+  content: "\f218"; }
+
+.fa-cart-plus:before {
+  content: "\f217"; }
+
+.fa-cash-register:before {
+  content: "\f788"; }
+
+.fa-cat:before {
+  content: "\f6be"; }
+
+.fa-cc-amazon-pay:before {
+  content: "\f42d"; }
+
+.fa-cc-amex:before {
+  content: "\f1f3"; }
+
+.fa-cc-apple-pay:before {
+  content: "\f416"; }
+
+.fa-cc-diners-club:before {
+  content: "\f24c"; }
+
+.fa-cc-discover:before {
+  content: "\f1f2"; }
+
+.fa-cc-jcb:before {
+  content: "\f24b"; }
+
+.fa-cc-mastercard:before {
+  content: "\f1f1"; }
+
+.fa-cc-paypal:before {
+  content: "\f1f4"; }
+
+.fa-cc-stripe:before {
+  content: "\f1f5"; }
+
+.fa-cc-visa:before {
+  content: "\f1f0"; }
+
+.fa-centercode:before {
+  content: "\f380"; }
+
+.fa-centos:before {
+  content: "\f789"; }
+
+.fa-certificate:before {
+  content: "\f0a3"; }
+
+.fa-chair:before {
+  content: "\f6c0"; }
+
+.fa-chalkboard:before {
+  content: "\f51b"; }
+
+.fa-chalkboard-teacher:before {
+  content: "\f51c"; }
+
+.fa-charging-station:before {
+  content: "\f5e7"; }
+
+.fa-chart-area:before {
+  content: "\f1fe"; }
+
+.fa-chart-bar:before {
+  content: "\f080"; }
+
+.fa-chart-line:before {
+  content: "\f201"; }
+
+.fa-chart-pie:before {
+  content: "\f200"; }
+
+.fa-check:before {
+  content: "\f00c"; }
+
+.fa-check-circle:before {
+  content: "\f058"; }
+
+.fa-check-double:before {
+  content: "\f560"; }
+
+.fa-check-square:before {
+  content: "\f14a"; }
+
+.fa-cheese:before {
+  content: "\f7ef"; }
+
+.fa-chess:before {
+  content: "\f439"; }
+
+.fa-chess-bishop:before {
+  content: "\f43a"; }
+
+.fa-chess-board:before {
+  content: "\f43c"; }
+
+.fa-chess-king:before {
+  content: "\f43f"; }
+
+.fa-chess-knight:before {
+  content: "\f441"; }
+
+.fa-chess-pawn:before {
+  content: "\f443"; }
+
+.fa-chess-queen:before {
+  content: "\f445"; }
+
+.fa-chess-rook:before {
+  content: "\f447"; }
+
+.fa-chevron-circle-down:before {
+  content: "\f13a"; }
+
+.fa-chevron-circle-left:before {
+  content: "\f137"; }
+
+.fa-chevron-circle-right:before {
+  content: "\f138"; }
+
+.fa-chevron-circle-up:before {
+  content: "\f139"; }
+
+.fa-chevron-down:before {
+  content: "\f078"; }
+
+.fa-chevron-left:before {
+  content: "\f053"; }
+
+.fa-chevron-right:before {
+  content: "\f054"; }
+
+.fa-chevron-up:before {
+  content: "\f077"; }
+
+.fa-child:before {
+  content: "\f1ae"; }
+
+.fa-chrome:before {
+  content: "\f268"; }
+
+.fa-chromecast:before {
+  content: "\f838"; }
+
+.fa-church:before {
+  content: "\f51d"; }
+
+.fa-circle:before {
+  content: "\f111"; }
+
+.fa-circle-notch:before {
+  content: "\f1ce"; }
+
+.fa-city:before {
+  content: "\f64f"; }
+
+.fa-clinic-medical:before {
+  content: "\f7f2"; }
+
+.fa-clipboard:before {
+  content: "\f328"; }
+
+.fa-clipboard-check:before {
+  content: "\f46c"; }
+
+.fa-clipboard-list:before {
+  content: "\f46d"; }
+
+.fa-clock:before {
+  content: "\f017"; }
+
+.fa-clone:before {
+  content: "\f24d"; }
+
+.fa-closed-captioning:before {
+  content: "\f20a"; }
+
+.fa-cloud:before {
+  content: "\f0c2"; }
+
+.fa-cloud-download-alt:before {
+  content: "\f381"; }
+
+.fa-cloud-meatball:before {
+  content: "\f73b"; }
+
+.fa-cloud-moon:before {
+  content: "\f6c3"; }
+
+.fa-cloud-moon-rain:before {
+  content: "\f73c"; }
+
+.fa-cloud-rain:before {
+  content: "\f73d"; }
+
+.fa-cloud-showers-heavy:before {
+  content: "\f740"; }
+
+.fa-cloud-sun:before {
+  content: "\f6c4"; }
+
+.fa-cloud-sun-rain:before {
+  content: "\f743"; }
+
+.fa-cloud-upload-alt:before {
+  content: "\f382"; }
+
+.fa-cloudscale:before {
+  content: "\f383"; }
+
+.fa-cloudsmith:before {
+  content: "\f384"; }
+
+.fa-cloudversify:before {
+  content: "\f385"; }
+
+.fa-cocktail:before {
+  content: "\f561"; }
+
+.fa-code:before {
+  content: "\f121"; }
+
+.fa-code-branch:before {
+  content: "\f126"; }
+
+.fa-codepen:before {
+  content: "\f1cb"; }
+
+.fa-codiepie:before {
+  content: "\f284"; }
+
+.fa-coffee:before {
+  content: "\f0f4"; }
+
+.fa-cog:before {
+  content: "\f013"; }
+
+.fa-cogs:before {
+  content: "\f085"; }
+
+.fa-coins:before {
+  content: "\f51e"; }
+
+.fa-columns:before {
+  content: "\f0db"; }
+
+.fa-comment:before {
+  content: "\f075"; }
+
+.fa-comment-alt:before {
+  content: "\f27a"; }
+
+.fa-comment-dollar:before {
+  content: "\f651"; }
+
+.fa-comment-dots:before {
+  content: "\f4ad"; }
+
+.fa-comment-medical:before {
+  content: "\f7f5"; }
+
+.fa-comment-slash:before {
+  content: "\f4b3"; }
+
+.fa-comments:before {
+  content: "\f086"; }
+
+.fa-comments-dollar:before {
+  content: "\f653"; }
+
+.fa-compact-disc:before {
+  content: "\f51f"; }
+
+.fa-compass:before {
+  content: "\f14e"; }
+
+.fa-compress:before {
+  content: "\f066"; }
+
+.fa-compress-arrows-alt:before {
+  content: "\f78c"; }
+
+.fa-concierge-bell:before {
+  content: "\f562"; }
+
+.fa-confluence:before {
+  content: "\f78d"; }
+
+.fa-connectdevelop:before {
+  content: "\f20e"; }
+
+.fa-contao:before {
+  content: "\f26d"; }
+
+.fa-cookie:before {
+  content: "\f563"; }
+
+.fa-cookie-bite:before {
+  content: "\f564"; }
+
+.fa-copy:before {
+  content: "\f0c5"; }
+
+.fa-copyright:before {
+  content: "\f1f9"; }
+
+.fa-cotton-bureau:before {
+  content: "\f89e"; }
+
+.fa-couch:before {
+  content: "\f4b8"; }
+
+.fa-cpanel:before {
+  content: "\f388"; }
+
+.fa-creative-commons:before {
+  content: "\f25e"; }
+
+.fa-creative-commons-by:before {
+  content: "\f4e7"; }
+
+.fa-creative-commons-nc:before {
+  content: "\f4e8"; }
+
+.fa-creative-commons-nc-eu:before {
+  content: "\f4e9"; }
+
+.fa-creative-commons-nc-jp:before {
+  content: "\f4ea"; }
+
+.fa-creative-commons-nd:before {
+  content: "\f4eb"; }
+
+.fa-creative-commons-pd:before {
+  content: "\f4ec"; }
+
+.fa-creative-commons-pd-alt:before {
+  content: "\f4ed"; }
+
+.fa-creative-commons-remix:before {
+  content: "\f4ee"; }
+
+.fa-creative-commons-sa:before {
+  content: "\f4ef"; }
+
+.fa-creative-commons-sampling:before {
+  content: "\f4f0"; }
+
+.fa-creative-commons-sampling-plus:before {
+  content: "\f4f1"; }
+
+.fa-creative-commons-share:before {
+  content: "\f4f2"; }
+
+.fa-creative-commons-zero:before {
+  content: "\f4f3"; }
+
+.fa-credit-card:before {
+  content: "\f09d"; }
+
+.fa-critical-role:before {
+  content: "\f6c9"; }
+
+.fa-crop:before {
+  content: "\f125"; }
+
+.fa-crop-alt:before {
+  content: "\f565"; }
+
+.fa-cross:before {
+  content: "\f654"; }
+
+.fa-crosshairs:before {
+  content: "\f05b"; }
+
+.fa-crow:before {
+  content: "\f520"; }
+
+.fa-crown:before {
+  content: "\f521"; }
+
+.fa-crutch:before {
+  content: "\f7f7"; }
+
+.fa-css3:before {
+  content: "\f13c"; }
+
+.fa-css3-alt:before {
+  content: "\f38b"; }
+
+.fa-cube:before {
+  content: "\f1b2"; }
+
+.fa-cubes:before {
+  content: "\f1b3"; }
+
+.fa-cut:before {
+  content: "\f0c4"; }
+
+.fa-cuttlefish:before {
+  content: "\f38c"; }
+
+.fa-d-and-d:before {
+  content: "\f38d"; }
+
+.fa-d-and-d-beyond:before {
+  content: "\f6ca"; }
+
+.fa-dashcube:before {
+  content: "\f210"; }
+
+.fa-database:before {
+  content: "\f1c0"; }
+
+.fa-deaf:before {
+  content: "\f2a4"; }
+
+.fa-delicious:before {
+  content: "\f1a5"; }
+
+.fa-democrat:before {
+  content: "\f747"; }
+
+.fa-deploydog:before {
+  content: "\f38e"; }
+
+.fa-deskpro:before {
+  content: "\f38f"; }
+
+.fa-desktop:before {
+  content: "\f108"; }
+
+.fa-dev:before {
+  content: "\f6cc"; }
+
+.fa-deviantart:before {
+  content: "\f1bd"; }
+
+.fa-dharmachakra:before {
+  content: "\f655"; }
+
+.fa-dhl:before {
+  content: "\f790"; }
+
+.fa-diagnoses:before {
+  content: "\f470"; }
+
+.fa-diaspora:before {
+  content: "\f791"; }
+
+.fa-dice:before {
+  content: "\f522"; }
+
+.fa-dice-d20:before {
+  content: "\f6cf"; }
+
+.fa-dice-d6:before {
+  content: "\f6d1"; }
+
+.fa-dice-five:before {
+  content: "\f523"; }
+
+.fa-dice-four:before {
+  content: "\f524"; }
+
+.fa-dice-one:before {
+  content: "\f525"; }
+
+.fa-dice-six:before {
+  content: "\f526"; }
+
+.fa-dice-three:before {
+  content: "\f527"; }
+
+.fa-dice-two:before {
+  content: "\f528"; }
+
+.fa-digg:before {
+  content: "\f1a6"; }
+
+.fa-digital-ocean:before {
+  content: "\f391"; }
+
+.fa-digital-tachograph:before {
+  content: "\f566"; }
+
+.fa-directions:before {
+  content: "\f5eb"; }
+
+.fa-discord:before {
+  content: "\f392"; }
+
+.fa-discourse:before {
+  content: "\f393"; }
+
+.fa-divide:before {
+  content: "\f529"; }
+
+.fa-dizzy:before {
+  content: "\f567"; }
+
+.fa-dna:before {
+  content: "\f471"; }
+
+.fa-dochub:before {
+  content: "\f394"; }
+
+.fa-docker:before {
+  content: "\f395"; }
+
+.fa-dog:before {
+  content: "\f6d3"; }
+
+.fa-dollar-sign:before {
+  content: "\f155"; }
+
+.fa-dolly:before {
+  content: "\f472"; }
+
+.fa-dolly-flatbed:before {
+  content: "\f474"; }
+
+.fa-donate:before {
+  content: "\f4b9"; }
+
+.fa-door-closed:before {
+  content: "\f52a"; }
+
+.fa-door-open:before {
+  content: "\f52b"; }
+
+.fa-dot-circle:before {
+  content: "\f192"; }
+
+.fa-dove:before {
+  content: "\f4ba"; }
+
+.fa-download:before {
+  content: "\f019"; }
+
+.fa-draft2digital:before {
+  content: "\f396"; }
+
+.fa-drafting-compass:before {
+  content: "\f568"; }
+
+.fa-dragon:before {
+  content: "\f6d5"; }
+
+.fa-draw-polygon:before {
+  content: "\f5ee"; }
+
+.fa-dribbble:before {
+  content: "\f17d"; }
+
+.fa-dribbble-square:before {
+  content: "\f397"; }
+
+.fa-dropbox:before {
+  content: "\f16b"; }
+
+.fa-drum:before {
+  content: "\f569"; }
+
+.fa-drum-steelpan:before {
+  content: "\f56a"; }
+
+.fa-drumstick-bite:before {
+  content: "\f6d7"; }
+
+.fa-drupal:before {
+  content: "\f1a9"; }
+
+.fa-dumbbell:before {
+  content: "\f44b"; }
+
+.fa-dumpster:before {
+  content: "\f793"; }
+
+.fa-dumpster-fire:before {
+  content: "\f794"; }
+
+.fa-dungeon:before {
+  content: "\f6d9"; }
+
+.fa-dyalog:before {
+  content: "\f399"; }
+
+.fa-earlybirds:before {
+  content: "\f39a"; }
+
+.fa-ebay:before {
+  content: "\f4f4"; }
+
+.fa-edge:before {
+  content: "\f282"; }
+
+.fa-edit:before {
+  content: "\f044"; }
+
+.fa-egg:before {
+  content: "\f7fb"; }
+
+.fa-eject:before {
+  content: "\f052"; }
+
+.fa-elementor:before {
+  content: "\f430"; }
+
+.fa-ellipsis-h:before {
+  content: "\f141"; }
+
+.fa-ellipsis-v:before {
+  content: "\f142"; }
+
+.fa-ello:before {
+  content: "\f5f1"; }
+
+.fa-ember:before {
+  content: "\f423"; }
+
+.fa-empire:before {
+  content: "\f1d1"; }
+
+.fa-envelope:before {
+  content: "\f0e0"; }
+
+.fa-envelope-open:before {
+  content: "\f2b6"; }
+
+.fa-envelope-open-text:before {
+  content: "\f658"; }
+
+.fa-envelope-square:before {
+  content: "\f199"; }
+
+.fa-envira:before {
+  content: "\f299"; }
+
+.fa-equals:before {
+  content: "\f52c"; }
+
+.fa-eraser:before {
+  content: "\f12d"; }
+
+.fa-erlang:before {
+  content: "\f39d"; }
+
+.fa-ethereum:before {
+  content: "\f42e"; }
+
+.fa-ethernet:before {
+  content: "\f796"; }
+
+.fa-etsy:before {
+  content: "\f2d7"; }
+
+.fa-euro-sign:before {
+  content: "\f153"; }
+
+.fa-evernote:before {
+  content: "\f839"; }
+
+.fa-exchange-alt:before {
+  content: "\f362"; }
+
+.fa-exclamation:before {
+  content: "\f12a"; }
+
+.fa-exclamation-circle:before {
+  content: "\f06a"; }
+
+.fa-exclamation-triangle:before {
+  content: "\f071"; }
+
+.fa-expand:before {
+  content: "\f065"; }
+
+.fa-expand-arrows-alt:before {
+  content: "\f31e"; }
+
+.fa-expeditedssl:before {
+  content: "\f23e"; }
+
+.fa-external-link-alt:before {
+  content: "\f35d"; }
+
+.fa-external-link-square-alt:before {
+  content: "\f360"; }
+
+.fa-eye:before {
+  content: "\f06e"; }
+
+.fa-eye-dropper:before {
+  content: "\f1fb"; }
+
+.fa-eye-slash:before {
+  content: "\f070"; }
+
+.fa-facebook:before {
+  content: "\f09a"; }
+
+.fa-facebook-f:before {
+  content: "\f39e"; }
+
+.fa-facebook-messenger:before {
+  content: "\f39f"; }
+
+.fa-facebook-square:before {
+  content: "\f082"; }
+
+.fa-fan:before {
+  content: "\f863"; }
+
+.fa-fantasy-flight-games:before {
+  content: "\f6dc"; }
+
+.fa-fast-backward:before {
+  content: "\f049"; }
+
+.fa-fast-forward:before {
+  content: "\f050"; }
+
+.fa-fax:before {
+  content: "\f1ac"; }
+
+.fa-feather:before {
+  content: "\f52d"; }
+
+.fa-feather-alt:before {
+  content: "\f56b"; }
+
+.fa-fedex:before {
+  content: "\f797"; }
+
+.fa-fedora:before {
+  content: "\f798"; }
+
+.fa-female:before {
+  content: "\f182"; }
+
+.fa-fighter-jet:before {
+  content: "\f0fb"; }
+
+.fa-figma:before {
+  content: "\f799"; }
+
+.fa-file:before {
+  content: "\f15b"; }
+
+.fa-file-alt:before {
+  content: "\f15c"; }
+
+.fa-file-archive:before {
+  content: "\f1c6"; }
+
+.fa-file-audio:before {
+  content: "\f1c7"; }
+
+.fa-file-code:before {
+  content: "\f1c9"; }
+
+.fa-file-contract:before {
+  content: "\f56c"; }
+
+.fa-file-csv:before {
+  content: "\f6dd"; }
+
+.fa-file-download:before {
+  content: "\f56d"; }
+
+.fa-file-excel:before {
+  content: "\f1c3"; }
+
+.fa-file-export:before {
+  content: "\f56e"; }
+
+.fa-file-image:before {
+  content: "\f1c5"; }
+
+.fa-file-import:before {
+  content: "\f56f"; }
+
+.fa-file-invoice:before {
+  content: "\f570"; }
+
+.fa-file-invoice-dollar:before {
+  content: "\f571"; }
+
+.fa-file-medical:before {
+  content: "\f477"; }
+
+.fa-file-medical-alt:before {
+  content: "\f478"; }
+
+.fa-file-pdf:before {
+  content: "\f1c1"; }
+
+.fa-file-powerpoint:before {
+  content: "\f1c4"; }
+
+.fa-file-prescription:before {
+  content: "\f572"; }
+
+.fa-file-signature:before {
+  content: "\f573"; }
+
+.fa-file-upload:before {
+  content: "\f574"; }
+
+.fa-file-video:before {
+  content: "\f1c8"; }
+
+.fa-file-word:before {
+  content: "\f1c2"; }
+
+.fa-fill:before {
+  content: "\f575"; }
+
+.fa-fill-drip:before {
+  content: "\f576"; }
+
+.fa-film:before {
+  content: "\f008"; }
+
+.fa-filter:before {
+  content: "\f0b0"; }
+
+.fa-fingerprint:before {
+  content: "\f577"; }
+
+.fa-fire:before {
+  content: "\f06d"; }
+
+.fa-fire-alt:before {
+  content: "\f7e4"; }
+
+.fa-fire-extinguisher:before {
+  content: "\f134"; }
+
+.fa-firefox:before {
+  content: "\f269"; }
+
+.fa-first-aid:before {
+  content: "\f479"; }
+
+.fa-first-order:before {
+  content: "\f2b0"; }
+
+.fa-first-order-alt:before {
+  content: "\f50a"; }
+
+.fa-firstdraft:before {
+  content: "\f3a1"; }
+
+.fa-fish:before {
+  content: "\f578"; }
+
+.fa-fist-raised:before {
+  content: "\f6de"; }
+
+.fa-flag:before {
+  content: "\f024"; }
+
+.fa-flag-checkered:before {
+  content: "\f11e"; }
+
+.fa-flag-usa:before {
+  content: "\f74d"; }
+
+.fa-flask:before {
+  content: "\f0c3"; }
+
+.fa-flickr:before {
+  content: "\f16e"; }
+
+.fa-flipboard:before {
+  content: "\f44d"; }
+
+.fa-flushed:before {
+  content: "\f579"; }
+
+.fa-fly:before {
+  content: "\f417"; }
+
+.fa-folder:before {
+  content: "\f07b"; }
+
+.fa-folder-minus:before {
+  content: "\f65d"; }
+
+.fa-folder-open:before {
+  content: "\f07c"; }
+
+.fa-folder-plus:before {
+  content: "\f65e"; }
+
+.fa-font:before {
+  content: "\f031"; }
+
+.fa-font-awesome:before {
+  content: "\f2b4"; }
+
+.fa-font-awesome-alt:before {
+  content: "\f35c"; }
+
+.fa-font-awesome-flag:before {
+  content: "\f425"; }
+
+.fa-font-awesome-logo-full:before {
+  content: "\f4e6"; }
+
+.fa-fonticons:before {
+  content: "\f280"; }
+
+.fa-fonticons-fi:before {
+  content: "\f3a2"; }
+
+.fa-football-ball:before {
+  content: "\f44e"; }
+
+.fa-fort-awesome:before {
+  content: "\f286"; }
+
+.fa-fort-awesome-alt:before {
+  content: "\f3a3"; }
+
+.fa-forumbee:before {
+  content: "\f211"; }
+
+.fa-forward:before {
+  content: "\f04e"; }
+
+.fa-foursquare:before {
+  content: "\f180"; }
+
+.fa-free-code-camp:before {
+  content: "\f2c5"; }
+
+.fa-freebsd:before {
+  content: "\f3a4"; }
+
+.fa-frog:before {
+  content: "\f52e"; }
+
+.fa-frown:before {
+  content: "\f119"; }
+
+.fa-frown-open:before {
+  content: "\f57a"; }
+
+.fa-fulcrum:before {
+  content: "\f50b"; }
+
+.fa-funnel-dollar:before {
+  content: "\f662"; }
+
+.fa-futbol:before {
+  content: "\f1e3"; }
+
+.fa-galactic-republic:before {
+  content: "\f50c"; }
+
+.fa-galactic-senate:before {
+  content: "\f50d"; }
+
+.fa-gamepad:before {
+  content: "\f11b"; }
+
+.fa-gas-pump:before {
+  content: "\f52f"; }
+
+.fa-gavel:before {
+  content: "\f0e3"; }
+
+.fa-gem:before {
+  content: "\f3a5"; }
+
+.fa-genderless:before {
+  content: "\f22d"; }
+
+.fa-get-pocket:before {
+  content: "\f265"; }
+
+.fa-gg:before {
+  content: "\f260"; }
+
+.fa-gg-circle:before {
+  content: "\f261"; }
+
+.fa-ghost:before {
+  content: "\f6e2"; }
+
+.fa-gift:before {
+  content: "\f06b"; }
+
+.fa-gifts:before {
+  content: "\f79c"; }
+
+.fa-git:before {
+  content: "\f1d3"; }
+
+.fa-git-alt:before {
+  content: "\f841"; }
+
+.fa-git-square:before {
+  content: "\f1d2"; }
+
+.fa-github:before {
+  content: "\f09b"; }
+
+.fa-github-alt:before {
+  content: "\f113"; }
+
+.fa-github-square:before {
+  content: "\f092"; }
+
+.fa-gitkraken:before {
+  content: "\f3a6"; }
+
+.fa-gitlab:before {
+  content: "\f296"; }
+
+.fa-gitter:before {
+  content: "\f426"; }
+
+.fa-glass-cheers:before {
+  content: "\f79f"; }
+
+.fa-glass-martini:before {
+  content: "\f000"; }
+
+.fa-glass-martini-alt:before {
+  content: "\f57b"; }
+
+.fa-glass-whiskey:before {
+  content: "\f7a0"; }
+
+.fa-glasses:before {
+  content: "\f530"; }
+
+.fa-glide:before {
+  content: "\f2a5"; }
+
+.fa-glide-g:before {
+  content: "\f2a6"; }
+
+.fa-globe:before {
+  content: "\f0ac"; }
+
+.fa-globe-africa:before {
+  content: "\f57c"; }
+
+.fa-globe-americas:before {
+  content: "\f57d"; }
+
+.fa-globe-asia:before {
+  content: "\f57e"; }
+
+.fa-globe-europe:before {
+  content: "\f7a2"; }
+
+.fa-gofore:before {
+  content: "\f3a7"; }
+
+.fa-golf-ball:before {
+  content: "\f450"; }
+
+.fa-goodreads:before {
+  content: "\f3a8"; }
+
+.fa-goodreads-g:before {
+  content: "\f3a9"; }
+
+.fa-google:before {
+  content: "\f1a0"; }
+
+.fa-google-drive:before {
+  content: "\f3aa"; }
+
+.fa-google-play:before {
+  content: "\f3ab"; }
+
+.fa-google-plus:before {
+  content: "\f2b3"; }
+
+.fa-google-plus-g:before {
+  content: "\f0d5"; }
+
+.fa-google-plus-square:before {
+  content: "\f0d4"; }
+
+.fa-google-wallet:before {
+  content: "\f1ee"; }
+
+.fa-gopuram:before {
+  content: "\f664"; }
+
+.fa-graduation-cap:before {
+  content: "\f19d"; }
+
+.fa-gratipay:before {
+  content: "\f184"; }
+
+.fa-grav:before {
+  content: "\f2d6"; }
+
+.fa-greater-than:before {
+  content: "\f531"; }
+
+.fa-greater-than-equal:before {
+  content: "\f532"; }
+
+.fa-grimace:before {
+  content: "\f57f"; }
+
+.fa-grin:before {
+  content: "\f580"; }
+
+.fa-grin-alt:before {
+  content: "\f581"; }
+
+.fa-grin-beam:before {
+  content: "\f582"; }
+
+.fa-grin-beam-sweat:before {
+  content: "\f583"; }
+
+.fa-grin-hearts:before {
+  content: "\f584"; }
+
+.fa-grin-squint:before {
+  content: "\f585"; }
+
+.fa-grin-squint-tears:before {
+  content: "\f586"; }
+
+.fa-grin-stars:before {
+  content: "\f587"; }
+
+.fa-grin-tears:before {
+  content: "\f588"; }
+
+.fa-grin-tongue:before {
+  content: "\f589"; }
+
+.fa-grin-tongue-squint:before {
+  content: "\f58a"; }
+
+.fa-grin-tongue-wink:before {
+  content: "\f58b"; }
+
+.fa-grin-wink:before {
+  content: "\f58c"; }
+
+.fa-grip-horizontal:before {
+  content: "\f58d"; }
+
+.fa-grip-lines:before {
+  content: "\f7a4"; }
+
+.fa-grip-lines-vertical:before {
+  content: "\f7a5"; }
+
+.fa-grip-vertical:before {
+  content: "\f58e"; }
+
+.fa-gripfire:before {
+  content: "\f3ac"; }
+
+.fa-grunt:before {
+  content: "\f3ad"; }
+
+.fa-guitar:before {
+  content: "\f7a6"; }
+
+.fa-gulp:before {
+  content: "\f3ae"; }
+
+.fa-h-square:before {
+  content: "\f0fd"; }
+
+.fa-hacker-news:before {
+  content: "\f1d4"; }
+
+.fa-hacker-news-square:before {
+  content: "\f3af"; }
+
+.fa-hackerrank:before {
+  content: "\f5f7"; }
+
+.fa-hamburger:before {
+  content: "\f805"; }
+
+.fa-hammer:before {
+  content: "\f6e3"; }
+
+.fa-hamsa:before {
+  content: "\f665"; }
+
+.fa-hand-holding:before {
+  content: "\f4bd"; }
+
+.fa-hand-holding-heart:before {
+  content: "\f4be"; }
+
+.fa-hand-holding-usd:before {
+  content: "\f4c0"; }
+
+.fa-hand-lizard:before {
+  content: "\f258"; }
+
+.fa-hand-middle-finger:before {
+  content: "\f806"; }
+
+.fa-hand-paper:before {
+  content: "\f256"; }
+
+.fa-hand-peace:before {
+  content: "\f25b"; }
+
+.fa-hand-point-down:before {
+  content: "\f0a7"; }
+
+.fa-hand-point-left:before {
+  content: "\f0a5"; }
+
+.fa-hand-point-right:before {
+  content: "\f0a4"; }
+
+.fa-hand-point-up:before {
+  content: "\f0a6"; }
+
+.fa-hand-pointer:before {
+  content: "\f25a"; }
+
+.fa-hand-rock:before {
+  content: "\f255"; }
+
+.fa-hand-scissors:before {
+  content: "\f257"; }
+
+.fa-hand-spock:before {
+  content: "\f259"; }
+
+.fa-hands:before {
+  content: "\f4c2"; }
+
+.fa-hands-helping:before {
+  content: "\f4c4"; }
+
+.fa-handshake:before {
+  content: "\f2b5"; }
+
+.fa-hanukiah:before {
+  content: "\f6e6"; }
+
+.fa-hard-hat:before {
+  content: "\f807"; }
+
+.fa-hashtag:before {
+  content: "\f292"; }
+
+.fa-hat-wizard:before {
+  content: "\f6e8"; }
+
+.fa-haykal:before {
+  content: "\f666"; }
+
+.fa-hdd:before {
+  content: "\f0a0"; }
+
+.fa-heading:before {
+  content: "\f1dc"; }
+
+.fa-headphones:before {
+  content: "\f025"; }
+
+.fa-headphones-alt:before {
+  content: "\f58f"; }
+
+.fa-headset:before {
+  content: "\f590"; }
+
+.fa-heart:before {
+  content: "\f004"; }
+
+.fa-heart-broken:before {
+  content: "\f7a9"; }
+
+.fa-heartbeat:before {
+  content: "\f21e"; }
+
+.fa-helicopter:before {
+  content: "\f533"; }
+
+.fa-highlighter:before {
+  content: "\f591"; }
+
+.fa-hiking:before {
+  content: "\f6ec"; }
+
+.fa-hippo:before {
+  content: "\f6ed"; }
+
+.fa-hips:before {
+  content: "\f452"; }
+
+.fa-hire-a-helper:before {
+  content: "\f3b0"; }
+
+.fa-history:before {
+  content: "\f1da"; }
+
+.fa-hockey-puck:before {
+  content: "\f453"; }
+
+.fa-holly-berry:before {
+  content: "\f7aa"; }
+
+.fa-home:before {
+  content: "\f015"; }
+
+.fa-hooli:before {
+  content: "\f427"; }
+
+.fa-hornbill:before {
+  content: "\f592"; }
+
+.fa-horse:before {
+  content: "\f6f0"; }
+
+.fa-horse-head:before {
+  content: "\f7ab"; }
+
+.fa-hospital:before {
+  content: "\f0f8"; }
+
+.fa-hospital-alt:before {
+  content: "\f47d"; }
+
+.fa-hospital-symbol:before {
+  content: "\f47e"; }
+
+.fa-hot-tub:before {
+  content: "\f593"; }
+
+.fa-hotdog:before {
+  content: "\f80f"; }
+
+.fa-hotel:before {
+  content: "\f594"; }
+
+.fa-hotjar:before {
+  content: "\f3b1"; }
+
+.fa-hourglass:before {
+  content: "\f254"; }
+
+.fa-hourglass-end:before {
+  content: "\f253"; }
+
+.fa-hourglass-half:before {
+  content: "\f252"; }
+
+.fa-hourglass-start:before {
+  content: "\f251"; }
+
+.fa-house-damage:before {
+  content: "\f6f1"; }
+
+.fa-houzz:before {
+  content: "\f27c"; }
+
+.fa-hryvnia:before {
+  content: "\f6f2"; }
+
+.fa-html5:before {
+  content: "\f13b"; }
+
+.fa-hubspot:before {
+  content: "\f3b2"; }
+
+.fa-i-cursor:before {
+  content: "\f246"; }
+
+.fa-ice-cream:before {
+  content: "\f810"; }
+
+.fa-icicles:before {
+  content: "\f7ad"; }
+
+.fa-icons:before {
+  content: "\f86d"; }
+
+.fa-id-badge:before {
+  content: "\f2c1"; }
+
+.fa-id-card:before {
+  content: "\f2c2"; }
+
+.fa-id-card-alt:before {
+  content: "\f47f"; }
+
+.fa-igloo:before {
+  content: "\f7ae"; }
+
+.fa-image:before {
+  content: "\f03e"; }
+
+.fa-images:before {
+  content: "\f302"; }
+
+.fa-imdb:before {
+  content: "\f2d8"; }
+
+.fa-inbox:before {
+  content: "\f01c"; }
+
+.fa-indent:before {
+  content: "\f03c"; }
+
+.fa-industry:before {
+  content: "\f275"; }
+
+.fa-infinity:before {
+  content: "\f534"; }
+
+.fa-info:before {
+  content: "\f129"; }
+
+.fa-info-circle:before {
+  content: "\f05a"; }
+
+.fa-instagram:before {
+  content: "\f16d"; }
+
+.fa-intercom:before {
+  content: "\f7af"; }
+
+.fa-internet-explorer:before {
+  content: "\f26b"; }
+
+.fa-invision:before {
+  content: "\f7b0"; }
+
+.fa-ioxhost:before {
+  content: "\f208"; }
+
+.fa-italic:before {
+  content: "\f033"; }
+
+.fa-itch-io:before {
+  content: "\f83a"; }
+
+.fa-itunes:before {
+  content: "\f3b4"; }
+
+.fa-itunes-note:before {
+  content: "\f3b5"; }
+
+.fa-java:before {
+  content: "\f4e4"; }
+
+.fa-jedi:before {
+  content: "\f669"; }
+
+.fa-jedi-order:before {
+  content: "\f50e"; }
+
+.fa-jenkins:before {
+  content: "\f3b6"; }
+
+.fa-jira:before {
+  content: "\f7b1"; }
+
+.fa-joget:before {
+  content: "\f3b7"; }
+
+.fa-joint:before {
+  content: "\f595"; }
+
+.fa-joomla:before {
+  content: "\f1aa"; }
+
+.fa-journal-whills:before {
+  content: "\f66a"; }
+
+.fa-js:before {
+  content: "\f3b8"; }
+
+.fa-js-square:before {
+  content: "\f3b9"; }
+
+.fa-jsfiddle:before {
+  content: "\f1cc"; }
+
+.fa-kaaba:before {
+  content: "\f66b"; }
+
+.fa-kaggle:before {
+  content: "\f5fa"; }
+
+.fa-key:before {
+  content: "\f084"; }
+
+.fa-keybase:before {
+  content: "\f4f5"; }
+
+.fa-keyboard:before {
+  content: "\f11c"; }
+
+.fa-keycdn:before {
+  content: "\f3ba"; }
+
+.fa-khanda:before {
+  content: "\f66d"; }
+
+.fa-kickstarter:before {
+  content: "\f3bb"; }
+
+.fa-kickstarter-k:before {
+  content: "\f3bc"; }
+
+.fa-kiss:before {
+  content: "\f596"; }
+
+.fa-kiss-beam:before {
+  content: "\f597"; }
+
+.fa-kiss-wink-heart:before {
+  content: "\f598"; }
+
+.fa-kiwi-bird:before {
+  content: "\f535"; }
+
+.fa-korvue:before {
+  content: "\f42f"; }
+
+.fa-landmark:before {
+  content: "\f66f"; }
+
+.fa-language:before {
+  content: "\f1ab"; }
+
+.fa-laptop:before {
+  content: "\f109"; }
+
+.fa-laptop-code:before {
+  content: "\f5fc"; }
+
+.fa-laptop-medical:before {
+  content: "\f812"; }
+
+.fa-laravel:before {
+  content: "\f3bd"; }
+
+.fa-lastfm:before {
+  content: "\f202"; }
+
+.fa-lastfm-square:before {
+  content: "\f203"; }
+
+.fa-laugh:before {
+  content: "\f599"; }
+
+.fa-laugh-beam:before {
+  content: "\f59a"; }
+
+.fa-laugh-squint:before {
+  content: "\f59b"; }
+
+.fa-laugh-wink:before {
+  content: "\f59c"; }
+
+.fa-layer-group:before {
+  content: "\f5fd"; }
+
+.fa-leaf:before {
+  content: "\f06c"; }
+
+.fa-leanpub:before {
+  content: "\f212"; }
+
+.fa-lemon:before {
+  content: "\f094"; }
+
+.fa-less:before {
+  content: "\f41d"; }
+
+.fa-less-than:before {
+  content: "\f536"; }
+
+.fa-less-than-equal:before {
+  content: "\f537"; }
+
+.fa-level-down-alt:before {
+  content: "\f3be"; }
+
+.fa-level-up-alt:before {
+  content: "\f3bf"; }
+
+.fa-life-ring:before {
+  content: "\f1cd"; }
+
+.fa-lightbulb:before {
+  content: "\f0eb"; }
+
+.fa-line:before {
+  content: "\f3c0"; }
+
+.fa-link:before {
+  content: "\f0c1"; }
+
+.fa-linkedin:before {
+  content: "\f08c"; }
+
+.fa-linkedin-in:before {
+  content: "\f0e1"; }
+
+.fa-linode:before {
+  content: "\f2b8"; }
+
+.fa-linux:before {
+  content: "\f17c"; }
+
+.fa-lira-sign:before {
+  content: "\f195"; }
+
+.fa-list:before {
+  content: "\f03a"; }
+
+.fa-list-alt:before {
+  content: "\f022"; }
+
+.fa-list-ol:before {
+  content: "\f0cb"; }
+
+.fa-list-ul:before {
+  content: "\f0ca"; }
+
+.fa-location-arrow:before {
+  content: "\f124"; }
+
+.fa-lock:before {
+  content: "\f023"; }
+
+.fa-lock-open:before {
+  content: "\f3c1"; }
+
+.fa-long-arrow-alt-down:before {
+  content: "\f309"; }
+
+.fa-long-arrow-alt-left:before {
+  content: "\f30a"; }
+
+.fa-long-arrow-alt-right:before {
+  content: "\f30b"; }
+
+.fa-long-arrow-alt-up:before {
+  content: "\f30c"; }
+
+.fa-low-vision:before {
+  content: "\f2a8"; }
+
+.fa-luggage-cart:before {
+  content: "\f59d"; }
+
+.fa-lyft:before {
+  content: "\f3c3"; }
+
+.fa-magento:before {
+  content: "\f3c4"; }
+
+.fa-magic:before {
+  content: "\f0d0"; }
+
+.fa-magnet:before {
+  content: "\f076"; }
+
+.fa-mail-bulk:before {
+  content: "\f674"; }
+
+.fa-mailchimp:before {
+  content: "\f59e"; }
+
+.fa-male:before {
+  content: "\f183"; }
+
+.fa-mandalorian:before {
+  content: "\f50f"; }
+
+.fa-map:before {
+  content: "\f279"; }
+
+.fa-map-marked:before {
+  content: "\f59f"; }
+
+.fa-map-marked-alt:before {
+  content: "\f5a0"; }
+
+.fa-map-marker:before {
+  content: "\f041"; }
+
+.fa-map-marker-alt:before {
+  content: "\f3c5"; }
+
+.fa-map-pin:before {
+  content: "\f276"; }
+
+.fa-map-signs:before {
+  content: "\f277"; }
+
+.fa-markdown:before {
+  content: "\f60f"; }
+
+.fa-marker:before {
+  content: "\f5a1"; }
+
+.fa-mars:before {
+  content: "\f222"; }
+
+.fa-mars-double:before {
+  content: "\f227"; }
+
+.fa-mars-stroke:before {
+  content: "\f229"; }
+
+.fa-mars-stroke-h:before {
+  content: "\f22b"; }
+
+.fa-mars-stroke-v:before {
+  content: "\f22a"; }
+
+.fa-mask:before {
+  content: "\f6fa"; }
+
+.fa-mastodon:before {
+  content: "\f4f6"; }
+
+.fa-maxcdn:before {
+  content: "\f136"; }
+
+.fa-medal:before {
+  content: "\f5a2"; }
+
+.fa-medapps:before {
+  content: "\f3c6"; }
+
+.fa-medium:before {
+  content: "\f23a"; }
+
+.fa-medium-m:before {
+  content: "\f3c7"; }
+
+.fa-medkit:before {
+  content: "\f0fa"; }
+
+.fa-medrt:before {
+  content: "\f3c8"; }
+
+.fa-meetup:before {
+  content: "\f2e0"; }
+
+.fa-megaport:before {
+  content: "\f5a3"; }
+
+.fa-meh:before {
+  content: "\f11a"; }
+
+.fa-meh-blank:before {
+  content: "\f5a4"; }
+
+.fa-meh-rolling-eyes:before {
+  content: "\f5a5"; }
+
+.fa-memory:before {
+  content: "\f538"; }
+
+.fa-mendeley:before {
+  content: "\f7b3"; }
+
+.fa-menorah:before {
+  content: "\f676"; }
+
+.fa-mercury:before {
+  content: "\f223"; }
+
+.fa-meteor:before {
+  content: "\f753"; }
+
+.fa-microchip:before {
+  content: "\f2db"; }
+
+.fa-microphone:before {
+  content: "\f130"; }
+
+.fa-microphone-alt:before {
+  content: "\f3c9"; }
+
+.fa-microphone-alt-slash:before {
+  content: "\f539"; }
+
+.fa-microphone-slash:before {
+  content: "\f131"; }
+
+.fa-microscope:before {
+  content: "\f610"; }
+
+.fa-microsoft:before {
+  content: "\f3ca"; }
+
+.fa-minus:before {
+  content: "\f068"; }
+
+.fa-minus-circle:before {
+  content: "\f056"; }
+
+.fa-minus-square:before {
+  content: "\f146"; }
+
+.fa-mitten:before {
+  content: "\f7b5"; }
+
+.fa-mix:before {
+  content: "\f3cb"; }
+
+.fa-mixcloud:before {
+  content: "\f289"; }
+
+.fa-mizuni:before {
+  content: "\f3cc"; }
+
+.fa-mobile:before {
+  content: "\f10b"; }
+
+.fa-mobile-alt:before {
+  content: "\f3cd"; }
+
+.fa-modx:before {
+  content: "\f285"; }
+
+.fa-monero:before {
+  content: "\f3d0"; }
+
+.fa-money-bill:before {
+  content: "\f0d6"; }
+
+.fa-money-bill-alt:before {
+  content: "\f3d1"; }
+
+.fa-money-bill-wave:before {
+  content: "\f53a"; }
+
+.fa-money-bill-wave-alt:before {
+  content: "\f53b"; }
+
+.fa-money-check:before {
+  content: "\f53c"; }
+
+.fa-money-check-alt:before {
+  content: "\f53d"; }
+
+.fa-monument:before {
+  content: "\f5a6"; }
+
+.fa-moon:before {
+  content: "\f186"; }
+
+.fa-mortar-pestle:before {
+  content: "\f5a7"; }
+
+.fa-mosque:before {
+  content: "\f678"; }
+
+.fa-motorcycle:before {
+  content: "\f21c"; }
+
+.fa-mountain:before {
+  content: "\f6fc"; }
+
+.fa-mouse-pointer:before {
+  content: "\f245"; }
+
+.fa-mug-hot:before {
+  content: "\f7b6"; }
+
+.fa-music:before {
+  content: "\f001"; }
+
+.fa-napster:before {
+  content: "\f3d2"; }
+
+.fa-neos:before {
+  content: "\f612"; }
+
+.fa-network-wired:before {
+  content: "\f6ff"; }
+
+.fa-neuter:before {
+  content: "\f22c"; }
+
+.fa-newspaper:before {
+  content: "\f1ea"; }
+
+.fa-nimblr:before {
+  content: "\f5a8"; }
+
+.fa-node:before {
+  content: "\f419"; }
+
+.fa-node-js:before {
+  content: "\f3d3"; }
+
+.fa-not-equal:before {
+  content: "\f53e"; }
+
+.fa-notes-medical:before {
+  content: "\f481"; }
+
+.fa-npm:before {
+  content: "\f3d4"; }
+
+.fa-ns8:before {
+  content: "\f3d5"; }
+
+.fa-nutritionix:before {
+  content: "\f3d6"; }
+
+.fa-object-group:before {
+  content: "\f247"; }
+
+.fa-object-ungroup:before {
+  content: "\f248"; }
+
+.fa-odnoklassniki:before {
+  content: "\f263"; }
+
+.fa-odnoklassniki-square:before {
+  content: "\f264"; }
+
+.fa-oil-can:before {
+  content: "\f613"; }
+
+.fa-old-republic:before {
+  content: "\f510"; }
+
+.fa-om:before {
+  content: "\f679"; }
+
+.fa-opencart:before {
+  content: "\f23d"; }
+
+.fa-openid:before {
+  content: "\f19b"; }
+
+.fa-opera:before {
+  content: "\f26a"; }
+
+.fa-optin-monster:before {
+  content: "\f23c"; }
+
+.fa-osi:before {
+  content: "\f41a"; }
+
+.fa-otter:before {
+  content: "\f700"; }
+
+.fa-outdent:before {
+  content: "\f03b"; }
+
+.fa-page4:before {
+  content: "\f3d7"; }
+
+.fa-pagelines:before {
+  content: "\f18c"; }
+
+.fa-pager:before {
+  content: "\f815"; }
+
+.fa-paint-brush:before {
+  content: "\f1fc"; }
+
+.fa-paint-roller:before {
+  content: "\f5aa"; }
+
+.fa-palette:before {
+  content: "\f53f"; }
+
+.fa-palfed:before {
+  content: "\f3d8"; }
+
+.fa-pallet:before {
+  content: "\f482"; }
+
+.fa-paper-plane:before {
+  content: "\f1d8"; }
+
+.fa-paperclip:before {
+  content: "\f0c6"; }
+
+.fa-parachute-box:before {
+  content: "\f4cd"; }
+
+.fa-paragraph:before {
+  content: "\f1dd"; }
+
+.fa-parking:before {
+  content: "\f540"; }
+
+.fa-passport:before {
+  content: "\f5ab"; }
+
+.fa-pastafarianism:before {
+  content: "\f67b"; }
+
+.fa-paste:before {
+  content: "\f0ea"; }
+
+.fa-patreon:before {
+  content: "\f3d9"; }
+
+.fa-pause:before {
+  content: "\f04c"; }
+
+.fa-pause-circle:before {
+  content: "\f28b"; }
+
+.fa-paw:before {
+  content: "\f1b0"; }
+
+.fa-paypal:before {
+  content: "\f1ed"; }
+
+.fa-peace:before {
+  content: "\f67c"; }
+
+.fa-pen:before {
+  content: "\f304"; }
+
+.fa-pen-alt:before {
+  content: "\f305"; }
+
+.fa-pen-fancy:before {
+  content: "\f5ac"; }
+
+.fa-pen-nib:before {
+  content: "\f5ad"; }
+
+.fa-pen-square:before {
+  content: "\f14b"; }
+
+.fa-pencil-alt:before {
+  content: "\f303"; }
+
+.fa-pencil-ruler:before {
+  content: "\f5ae"; }
+
+.fa-penny-arcade:before {
+  content: "\f704"; }
+
+.fa-people-carry:before {
+  content: "\f4ce"; }
+
+.fa-pepper-hot:before {
+  content: "\f816"; }
+
+.fa-percent:before {
+  content: "\f295"; }
+
+.fa-percentage:before {
+  content: "\f541"; }
+
+.fa-periscope:before {
+  content: "\f3da"; }
+
+.fa-person-booth:before {
+  content: "\f756"; }
+
+.fa-phabricator:before {
+  content: "\f3db"; }
+
+.fa-phoenix-framework:before {
+  content: "\f3dc"; }
+
+.fa-phoenix-squadron:before {
+  content: "\f511"; }
+
+.fa-phone:before {
+  content: "\f095"; }
+
+.fa-phone-alt:before {
+  content: "\f879"; }
+
+.fa-phone-slash:before {
+  content: "\f3dd"; }
+
+.fa-phone-square:before {
+  content: "\f098"; }
+
+.fa-phone-square-alt:before {
+  content: "\f87b"; }
+
+.fa-phone-volume:before {
+  content: "\f2a0"; }
+
+.fa-photo-video:before {
+  content: "\f87c"; }
+
+.fa-php:before {
+  content: "\f457"; }
+
+.fa-pied-piper:before {
+  content: "\f2ae"; }
+
+.fa-pied-piper-alt:before {
+  content: "\f1a8"; }
+
+.fa-pied-piper-hat:before {
+  content: "\f4e5"; }
+
+.fa-pied-piper-pp:before {
+  content: "\f1a7"; }
+
+.fa-piggy-bank:before {
+  content: "\f4d3"; }
+
+.fa-pills:before {
+  content: "\f484"; }
+
+.fa-pinterest:before {
+  content: "\f0d2"; }
+
+.fa-pinterest-p:before {
+  content: "\f231"; }
+
+.fa-pinterest-square:before {
+  content: "\f0d3"; }
+
+.fa-pizza-slice:before {
+  content: "\f818"; }
+
+.fa-place-of-worship:before {
+  content: "\f67f"; }
+
+.fa-plane:before {
+  content: "\f072"; }
+
+.fa-plane-arrival:before {
+  content: "\f5af"; }
+
+.fa-plane-departure:before {
+  content: "\f5b0"; }
+
+.fa-play:before {
+  content: "\f04b"; }
+
+.fa-play-circle:before {
+  content: "\f144"; }
+
+.fa-playstation:before {
+  content: "\f3df"; }
+
+.fa-plug:before {
+  content: "\f1e6"; }
+
+.fa-plus:before {
+  content: "\f067"; }
+
+.fa-plus-circle:before {
+  content: "\f055"; }
+
+.fa-plus-square:before {
+  content: "\f0fe"; }
+
+.fa-podcast:before {
+  content: "\f2ce"; }
+
+.fa-poll:before {
+  content: "\f681"; }
+
+.fa-poll-h:before {
+  content: "\f682"; }
+
+.fa-poo:before {
+  content: "\f2fe"; }
+
+.fa-poo-storm:before {
+  content: "\f75a"; }
+
+.fa-poop:before {
+  content: "\f619"; }
+
+.fa-portrait:before {
+  content: "\f3e0"; }
+
+.fa-pound-sign:before {
+  content: "\f154"; }
+
+.fa-power-off:before {
+  content: "\f011"; }
+
+.fa-pray:before {
+  content: "\f683"; }
+
+.fa-praying-hands:before {
+  content: "\f684"; }
+
+.fa-prescription:before {
+  content: "\f5b1"; }
+
+.fa-prescription-bottle:before {
+  content: "\f485"; }
+
+.fa-prescription-bottle-alt:before {
+  content: "\f486"; }
+
+.fa-print:before {
+  content: "\f02f"; }
+
+.fa-procedures:before {
+  content: "\f487"; }
+
+.fa-product-hunt:before {
+  content: "\f288"; }
+
+.fa-project-diagram:before {
+  content: "\f542"; }
+
+.fa-pushed:before {
+  content: "\f3e1"; }
+
+.fa-puzzle-piece:before {
+  content: "\f12e"; }
+
+.fa-python:before {
+  content: "\f3e2"; }
+
+.fa-qq:before {
+  content: "\f1d6"; }
+
+.fa-qrcode:before {
+  content: "\f029"; }
+
+.fa-question:before {
+  content: "\f128"; }
+
+.fa-question-circle:before {
+  content: "\f059"; }
+
+.fa-quidditch:before {
+  content: "\f458"; }
+
+.fa-quinscape:before {
+  content: "\f459"; }
+
+.fa-quora:before {
+  content: "\f2c4"; }
+
+.fa-quote-left:before {
+  content: "\f10d"; }
+
+.fa-quote-right:before {
+  content: "\f10e"; }
+
+.fa-quran:before {
+  content: "\f687"; }
+
+.fa-r-project:before {
+  content: "\f4f7"; }
+
+.fa-radiation:before {
+  content: "\f7b9"; }
+
+.fa-radiation-alt:before {
+  content: "\f7ba"; }
+
+.fa-rainbow:before {
+  content: "\f75b"; }
+
+.fa-random:before {
+  content: "\f074"; }
+
+.fa-raspberry-pi:before {
+  content: "\f7bb"; }
+
+.fa-ravelry:before {
+  content: "\f2d9"; }
+
+.fa-react:before {
+  content: "\f41b"; }
+
+.fa-reacteurope:before {
+  content: "\f75d"; }
+
+.fa-readme:before {
+  content: "\f4d5"; }
+
+.fa-rebel:before {
+  content: "\f1d0"; }
+
+.fa-receipt:before {
+  content: "\f543"; }
+
+.fa-recycle:before {
+  content: "\f1b8"; }
+
+.fa-red-river:before {
+  content: "\f3e3"; }
+
+.fa-reddit:before {
+  content: "\f1a1"; }
+
+.fa-reddit-alien:before {
+  content: "\f281"; }
+
+.fa-reddit-square:before {
+  content: "\f1a2"; }
+
+.fa-redhat:before {
+  content: "\f7bc"; }
+
+.fa-redo:before {
+  content: "\f01e"; }
+
+.fa-redo-alt:before {
+  content: "\f2f9"; }
+
+.fa-registered:before {
+  content: "\f25d"; }
+
+.fa-remove-format:before {
+  content: "\f87d"; }
+
+.fa-renren:before {
+  content: "\f18b"; }
+
+.fa-reply:before {
+  content: "\f3e5"; }
+
+.fa-reply-all:before {
+  content: "\f122"; }
+
+.fa-replyd:before {
+  content: "\f3e6"; }
+
+.fa-republican:before {
+  content: "\f75e"; }
+
+.fa-researchgate:before {
+  content: "\f4f8"; }
+
+.fa-resolving:before {
+  content: "\f3e7"; }
+
+.fa-restroom:before {
+  content: "\f7bd"; }
+
+.fa-retweet:before {
+  content: "\f079"; }
+
+.fa-rev:before {
+  content: "\f5b2"; }
+
+.fa-ribbon:before {
+  content: "\f4d6"; }
+
+.fa-ring:before {
+  content: "\f70b"; }
+
+.fa-road:before {
+  content: "\f018"; }
+
+.fa-robot:before {
+  content: "\f544"; }
+
+.fa-rocket:before {
+  content: "\f135"; }
+
+.fa-rocketchat:before {
+  content: "\f3e8"; }
+
+.fa-rockrms:before {
+  content: "\f3e9"; }
+
+.fa-route:before {
+  content: "\f4d7"; }
+
+.fa-rss:before {
+  content: "\f09e"; }
+
+.fa-rss-square:before {
+  content: "\f143"; }
+
+.fa-ruble-sign:before {
+  content: "\f158"; }
+
+.fa-ruler:before {
+  content: "\f545"; }
+
+.fa-ruler-combined:before {
+  content: "\f546"; }
+
+.fa-ruler-horizontal:before {
+  content: "\f547"; }
+
+.fa-ruler-vertical:before {
+  content: "\f548"; }
+
+.fa-running:before {
+  content: "\f70c"; }
+
+.fa-rupee-sign:before {
+  content: "\f156"; }
+
+.fa-sad-cry:before {
+  content: "\f5b3"; }
+
+.fa-sad-tear:before {
+  content: "\f5b4"; }
+
+.fa-safari:before {
+  content: "\f267"; }
+
+.fa-salesforce:before {
+  content: "\f83b"; }
+
+.fa-sass:before {
+  content: "\f41e"; }
+
+.fa-satellite:before {
+  content: "\f7bf"; }
+
+.fa-satellite-dish:before {
+  content: "\f7c0"; }
+
+.fa-save:before {
+  content: "\f0c7"; }
+
+.fa-schlix:before {
+  content: "\f3ea"; }
+
+.fa-school:before {
+  content: "\f549"; }
+
+.fa-screwdriver:before {
+  content: "\f54a"; }
+
+.fa-scribd:before {
+  content: "\f28a"; }
+
+.fa-scroll:before {
+  content: "\f70e"; }
+
+.fa-sd-card:before {
+  content: "\f7c2"; }
+
+.fa-search:before {
+  content: "\f002"; }
+
+.fa-search-dollar:before {
+  content: "\f688"; }
+
+.fa-search-location:before {
+  content: "\f689"; }
+
+.fa-search-minus:before {
+  content: "\f010"; }
+
+.fa-search-plus:before {
+  content: "\f00e"; }
+
+.fa-searchengin:before {
+  content: "\f3eb"; }
+
+.fa-seedling:before {
+  content: "\f4d8"; }
+
+.fa-sellcast:before {
+  content: "\f2da"; }
+
+.fa-sellsy:before {
+  content: "\f213"; }
+
+.fa-server:before {
+  content: "\f233"; }
+
+.fa-servicestack:before {
+  content: "\f3ec"; }
+
+.fa-shapes:before {
+  content: "\f61f"; }
+
+.fa-share:before {
+  content: "\f064"; }
+
+.fa-share-alt:before {
+  content: "\f1e0"; }
+
+.fa-share-alt-square:before {
+  content: "\f1e1"; }
+
+.fa-share-square:before {
+  content: "\f14d"; }
+
+.fa-shekel-sign:before {
+  content: "\f20b"; }
+
+.fa-shield-alt:before {
+  content: "\f3ed"; }
+
+.fa-ship:before {
+  content: "\f21a"; }
+
+.fa-shipping-fast:before {
+  content: "\f48b"; }
+
+.fa-shirtsinbulk:before {
+  content: "\f214"; }
+
+.fa-shoe-prints:before {
+  content: "\f54b"; }
+
+.fa-shopping-bag:before {
+  content: "\f290"; }
+
+.fa-shopping-basket:before {
+  content: "\f291"; }
+
+.fa-shopping-cart:before {
+  content: "\f07a"; }
+
+.fa-shopware:before {
+  content: "\f5b5"; }
+
+.fa-shower:before {
+  content: "\f2cc"; }
+
+.fa-shuttle-van:before {
+  content: "\f5b6"; }
+
+.fa-sign:before {
+  content: "\f4d9"; }
+
+.fa-sign-in-alt:before {
+  content: "\f2f6"; }
+
+.fa-sign-language:before {
+  content: "\f2a7"; }
+
+.fa-sign-out-alt:before {
+  content: "\f2f5"; }
+
+.fa-signal:before {
+  content: "\f012"; }
+
+.fa-signature:before {
+  content: "\f5b7"; }
+
+.fa-sim-card:before {
+  content: "\f7c4"; }
+
+.fa-simplybuilt:before {
+  content: "\f215"; }
+
+.fa-sistrix:before {
+  content: "\f3ee"; }
+
+.fa-sitemap:before {
+  content: "\f0e8"; }
+
+.fa-sith:before {
+  content: "\f512"; }
+
+.fa-skating:before {
+  content: "\f7c5"; }
+
+.fa-sketch:before {
+  content: "\f7c6"; }
+
+.fa-skiing:before {
+  content: "\f7c9"; }
+
+.fa-skiing-nordic:before {
+  content: "\f7ca"; }
+
+.fa-skull:before {
+  content: "\f54c"; }
+
+.fa-skull-crossbones:before {
+  content: "\f714"; }
+
+.fa-skyatlas:before {
+  content: "\f216"; }
+
+.fa-skype:before {
+  content: "\f17e"; }
+
+.fa-slack:before {
+  content: "\f198"; }
+
+.fa-slack-hash:before {
+  content: "\f3ef"; }
+
+.fa-slash:before {
+  content: "\f715"; }
+
+.fa-sleigh:before {
+  content: "\f7cc"; }
+
+.fa-sliders-h:before {
+  content: "\f1de"; }
+
+.fa-slideshare:before {
+  content: "\f1e7"; }
+
+.fa-smile:before {
+  content: "\f118"; }
+
+.fa-smile-beam:before {
+  content: "\f5b8"; }
+
+.fa-smile-wink:before {
+  content: "\f4da"; }
+
+.fa-smog:before {
+  content: "\f75f"; }
+
+.fa-smoking:before {
+  content: "\f48d"; }
+
+.fa-smoking-ban:before {
+  content: "\f54d"; }
+
+.fa-sms:before {
+  content: "\f7cd"; }
+
+.fa-snapchat:before {
+  content: "\f2ab"; }
+
+.fa-snapchat-ghost:before {
+  content: "\f2ac"; }
+
+.fa-snapchat-square:before {
+  content: "\f2ad"; }
+
+.fa-snowboarding:before {
+  content: "\f7ce"; }
+
+.fa-snowflake:before {
+  content: "\f2dc"; }
+
+.fa-snowman:before {
+  content: "\f7d0"; }
+
+.fa-snowplow:before {
+  content: "\f7d2"; }
+
+.fa-socks:before {
+  content: "\f696"; }
+
+.fa-solar-panel:before {
+  content: "\f5ba"; }
+
+.fa-sort:before {
+  content: "\f0dc"; }
+
+.fa-sort-alpha-down:before {
+  content: "\f15d"; }
+
+.fa-sort-alpha-down-alt:before {
+  content: "\f881"; }
+
+.fa-sort-alpha-up:before {
+  content: "\f15e"; }
+
+.fa-sort-alpha-up-alt:before {
+  content: "\f882"; }
+
+.fa-sort-amount-down:before {
+  content: "\f160"; }
+
+.fa-sort-amount-down-alt:before {
+  content: "\f884"; }
+
+.fa-sort-amount-up:before {
+  content: "\f161"; }
+
+.fa-sort-amount-up-alt:before {
+  content: "\f885"; }
+
+.fa-sort-down:before {
+  content: "\f0dd"; }
+
+.fa-sort-numeric-down:before {
+  content: "\f162"; }
+
+.fa-sort-numeric-down-alt:before {
+  content: "\f886"; }
+
+.fa-sort-numeric-up:before {
+  content: "\f163"; }
+
+.fa-sort-numeric-up-alt:before {
+  content: "\f887"; }
+
+.fa-sort-up:before {
+  content: "\f0de"; }
+
+.fa-soundcloud:before {
+  content: "\f1be"; }
+
+.fa-sourcetree:before {
+  content: "\f7d3"; }
+
+.fa-spa:before {
+  content: "\f5bb"; }
+
+.fa-space-shuttle:before {
+  content: "\f197"; }
+
+.fa-speakap:before {
+  content: "\f3f3"; }
+
+.fa-speaker-deck:before {
+  content: "\f83c"; }
+
+.fa-spell-check:before {
+  content: "\f891"; }
+
+.fa-spider:before {
+  content: "\f717"; }
+
+.fa-spinner:before {
+  content: "\f110"; }
+
+.fa-splotch:before {
+  content: "\f5bc"; }
+
+.fa-spotify:before {
+  content: "\f1bc"; }
+
+.fa-spray-can:before {
+  content: "\f5bd"; }
+
+.fa-square:before {
+  content: "\f0c8"; }
+
+.fa-square-full:before {
+  content: "\f45c"; }
+
+.fa-square-root-alt:before {
+  content: "\f698"; }
+
+.fa-squarespace:before {
+  content: "\f5be"; }
+
+.fa-stack-exchange:before {
+  content: "\f18d"; }
+
+.fa-stack-overflow:before {
+  content: "\f16c"; }
+
+.fa-stackpath:before {
+  content: "\f842"; }
+
+.fa-stamp:before {
+  content: "\f5bf"; }
+
+.fa-star:before {
+  content: "\f005"; }
+
+.fa-star-and-crescent:before {
+  content: "\f699"; }
+
+.fa-star-half:before {
+  content: "\f089"; }
+
+.fa-star-half-alt:before {
+  content: "\f5c0"; }
+
+.fa-star-of-david:before {
+  content: "\f69a"; }
+
+.fa-star-of-life:before {
+  content: "\f621"; }
+
+.fa-staylinked:before {
+  content: "\f3f5"; }
+
+.fa-steam:before {
+  content: "\f1b6"; }
+
+.fa-steam-square:before {
+  content: "\f1b7"; }
+
+.fa-steam-symbol:before {
+  content: "\f3f6"; }
+
+.fa-step-backward:before {
+  content: "\f048"; }
+
+.fa-step-forward:before {
+  content: "\f051"; }
+
+.fa-stethoscope:before {
+  content: "\f0f1"; }
+
+.fa-sticker-mule:before {
+  content: "\f3f7"; }
+
+.fa-sticky-note:before {
+  content: "\f249"; }
+
+.fa-stop:before {
+  content: "\f04d"; }
+
+.fa-stop-circle:before {
+  content: "\f28d"; }
+
+.fa-stopwatch:before {
+  content: "\f2f2"; }
+
+.fa-store:before {
+  content: "\f54e"; }
+
+.fa-store-alt:before {
+  content: "\f54f"; }
+
+.fa-strava:before {
+  content: "\f428"; }
+
+.fa-stream:before {
+  content: "\f550"; }
+
+.fa-street-view:before {
+  content: "\f21d"; }
+
+.fa-strikethrough:before {
+  content: "\f0cc"; }
+
+.fa-stripe:before {
+  content: "\f429"; }
+
+.fa-stripe-s:before {
+  content: "\f42a"; }
+
+.fa-stroopwafel:before {
+  content: "\f551"; }
+
+.fa-studiovinari:before {
+  content: "\f3f8"; }
+
+.fa-stumbleupon:before {
+  content: "\f1a4"; }
+
+.fa-stumbleupon-circle:before {
+  content: "\f1a3"; }
+
+.fa-subscript:before {
+  content: "\f12c"; }
+
+.fa-subway:before {
+  content: "\f239"; }
+
+.fa-suitcase:before {
+  content: "\f0f2"; }
+
+.fa-suitcase-rolling:before {
+  content: "\f5c1"; }
+
+.fa-sun:before {
+  content: "\f185"; }
+
+.fa-superpowers:before {
+  content: "\f2dd"; }
+
+.fa-superscript:before {
+  content: "\f12b"; }
+
+.fa-supple:before {
+  content: "\f3f9"; }
+
+.fa-surprise:before {
+  content: "\f5c2"; }
+
+.fa-suse:before {
+  content: "\f7d6"; }
+
+.fa-swatchbook:before {
+  content: "\f5c3"; }
+
+.fa-swimmer:before {
+  content: "\f5c4"; }
+
+.fa-swimming-pool:before {
+  content: "\f5c5"; }
+
+.fa-symfony:before {
+  content: "\f83d"; }
+
+.fa-synagogue:before {
+  content: "\f69b"; }
+
+.fa-sync:before {
+  content: "\f021"; }
+
+.fa-sync-alt:before {
+  content: "\f2f1"; }
+
+.fa-syringe:before {
+  content: "\f48e"; }
+
+.fa-table:before {
+  content: "\f0ce"; }
+
+.fa-table-tennis:before {
+  content: "\f45d"; }
+
+.fa-tablet:before {
+  content: "\f10a"; }
+
+.fa-tablet-alt:before {
+  content: "\f3fa"; }
+
+.fa-tablets:before {
+  content: "\f490"; }
+
+.fa-tachometer-alt:before {
+  content: "\f3fd"; }
+
+.fa-tag:before {
+  content: "\f02b"; }
+
+.fa-tags:before {
+  content: "\f02c"; }
+
+.fa-tape:before {
+  content: "\f4db"; }
+
+.fa-tasks:before {
+  content: "\f0ae"; }
+
+.fa-taxi:before {
+  content: "\f1ba"; }
+
+.fa-teamspeak:before {
+  content: "\f4f9"; }
+
+.fa-teeth:before {
+  content: "\f62e"; }
+
+.fa-teeth-open:before {
+  content: "\f62f"; }
+
+.fa-telegram:before {
+  content: "\f2c6"; }
+
+.fa-telegram-plane:before {
+  content: "\f3fe"; }
+
+.fa-temperature-high:before {
+  content: "\f769"; }
+
+.fa-temperature-low:before {
+  content: "\f76b"; }
+
+.fa-tencent-weibo:before {
+  content: "\f1d5"; }
+
+.fa-tenge:before {
+  content: "\f7d7"; }
+
+.fa-terminal:before {
+  content: "\f120"; }
+
+.fa-text-height:before {
+  content: "\f034"; }
+
+.fa-text-width:before {
+  content: "\f035"; }
+
+.fa-th:before {
+  content: "\f00a"; }
+
+.fa-th-large:before {
+  content: "\f009"; }
+
+.fa-th-list:before {
+  content: "\f00b"; }
+
+.fa-the-red-yeti:before {
+  content: "\f69d"; }
+
+.fa-theater-masks:before {
+  content: "\f630"; }
+
+.fa-themeco:before {
+  content: "\f5c6"; }
+
+.fa-themeisle:before {
+  content: "\f2b2"; }
+
+.fa-thermometer:before {
+  content: "\f491"; }
+
+.fa-thermometer-empty:before {
+  content: "\f2cb"; }
+
+.fa-thermometer-full:before {
+  content: "\f2c7"; }
+
+.fa-thermometer-half:before {
+  content: "\f2c9"; }
+
+.fa-thermometer-quarter:before {
+  content: "\f2ca"; }
+
+.fa-thermometer-three-quarters:before {
+  content: "\f2c8"; }
+
+.fa-think-peaks:before {
+  content: "\f731"; }
+
+.fa-thumbs-down:before {
+  content: "\f165"; }
+
+.fa-thumbs-up:before {
+  content: "\f164"; }
+
+.fa-thumbtack:before {
+  content: "\f08d"; }
+
+.fa-ticket-alt:before {
+  content: "\f3ff"; }
+
+.fa-times:before {
+  content: "\f00d"; }
+
+.fa-times-circle:before {
+  content: "\f057"; }
+
+.fa-tint:before {
+  content: "\f043"; }
+
+.fa-tint-slash:before {
+  content: "\f5c7"; }
+
+.fa-tired:before {
+  content: "\f5c8"; }
+
+.fa-toggle-off:before {
+  content: "\f204"; }
+
+.fa-toggle-on:before {
+  content: "\f205"; }
+
+.fa-toilet:before {
+  content: "\f7d8"; }
+
+.fa-toilet-paper:before {
+  content: "\f71e"; }
+
+.fa-toolbox:before {
+  content: "\f552"; }
+
+.fa-tools:before {
+  content: "\f7d9"; }
+
+.fa-tooth:before {
+  content: "\f5c9"; }
+
+.fa-torah:before {
+  content: "\f6a0"; }
+
+.fa-torii-gate:before {
+  content: "\f6a1"; }
+
+.fa-tractor:before {
+  content: "\f722"; }
+
+.fa-trade-federation:before {
+  content: "\f513"; }
+
+.fa-trademark:before {
+  content: "\f25c"; }
+
+.fa-traffic-light:before {
+  content: "\f637"; }
+
+.fa-train:before {
+  content: "\f238"; }
+
+.fa-tram:before {
+  content: "\f7da"; }
+
+.fa-transgender:before {
+  content: "\f224"; }
+
+.fa-transgender-alt:before {
+  content: "\f225"; }
+
+.fa-trash:before {
+  content: "\f1f8"; }
+
+.fa-trash-alt:before {
+  content: "\f2ed"; }
+
+.fa-trash-restore:before {
+  content: "\f829"; }
+
+.fa-trash-restore-alt:before {
+  content: "\f82a"; }
+
+.fa-tree:before {
+  content: "\f1bb"; }
+
+.fa-trello:before {
+  content: "\f181"; }
+
+.fa-tripadvisor:before {
+  content: "\f262"; }
+
+.fa-trophy:before {
+  content: "\f091"; }
+
+.fa-truck:before {
+  content: "\f0d1"; }
+
+.fa-truck-loading:before {
+  content: "\f4de"; }
+
+.fa-truck-monster:before {
+  content: "\f63b"; }
+
+.fa-truck-moving:before {
+  content: "\f4df"; }
+
+.fa-truck-pickup:before {
+  content: "\f63c"; }
+
+.fa-tshirt:before {
+  content: "\f553"; }
+
+.fa-tty:before {
+  content: "\f1e4"; }
+
+.fa-tumblr:before {
+  content: "\f173"; }
+
+.fa-tumblr-square:before {
+  content: "\f174"; }
+
+.fa-tv:before {
+  content: "\f26c"; }
+
+.fa-twitch:before {
+  content: "\f1e8"; }
+
+.fa-twitter:before {
+  content: "\f099"; }
+
+.fa-twitter-square:before {
+  content: "\f081"; }
+
+.fa-typo3:before {
+  content: "\f42b"; }
+
+.fa-uber:before {
+  content: "\f402"; }
+
+.fa-ubuntu:before {
+  content: "\f7df"; }
+
+.fa-uikit:before {
+  content: "\f403"; }
+
+.fa-umbrella:before {
+  content: "\f0e9"; }
+
+.fa-umbrella-beach:before {
+  content: "\f5ca"; }
+
+.fa-underline:before {
+  content: "\f0cd"; }
+
+.fa-undo:before {
+  content: "\f0e2"; }
+
+.fa-undo-alt:before {
+  content: "\f2ea"; }
+
+.fa-uniregistry:before {
+  content: "\f404"; }
+
+.fa-universal-access:before {
+  content: "\f29a"; }
+
+.fa-university:before {
+  content: "\f19c"; }
+
+.fa-unlink:before {
+  content: "\f127"; }
+
+.fa-unlock:before {
+  content: "\f09c"; }
+
+.fa-unlock-alt:before {
+  content: "\f13e"; }
+
+.fa-untappd:before {
+  content: "\f405"; }
+
+.fa-upload:before {
+  content: "\f093"; }
+
+.fa-ups:before {
+  content: "\f7e0"; }
+
+.fa-usb:before {
+  content: "\f287"; }
+
+.fa-user:before {
+  content: "\f007"; }
+
+.fa-user-alt:before {
+  content: "\f406"; }
+
+.fa-user-alt-slash:before {
+  content: "\f4fa"; }
+
+.fa-user-astronaut:before {
+  content: "\f4fb"; }
+
+.fa-user-check:before {
+  content: "\f4fc"; }
+
+.fa-user-circle:before {
+  content: "\f2bd"; }
+
+.fa-user-clock:before {
+  content: "\f4fd"; }
+
+.fa-user-cog:before {
+  content: "\f4fe"; }
+
+.fa-user-edit:before {
+  content: "\f4ff"; }
+
+.fa-user-friends:before {
+  content: "\f500"; }
+
+.fa-user-graduate:before {
+  content: "\f501"; }
+
+.fa-user-injured:before {
+  content: "\f728"; }
+
+.fa-user-lock:before {
+  content: "\f502"; }
+
+.fa-user-md:before {
+  content: "\f0f0"; }
+
+.fa-user-minus:before {
+  content: "\f503"; }
+
+.fa-user-ninja:before {
+  content: "\f504"; }
+
+.fa-user-nurse:before {
+  content: "\f82f"; }
+
+.fa-user-plus:before {
+  content: "\f234"; }
+
+.fa-user-secret:before {
+  content: "\f21b"; }
+
+.fa-user-shield:before {
+  content: "\f505"; }
+
+.fa-user-slash:before {
+  content: "\f506"; }
+
+.fa-user-tag:before {
+  content: "\f507"; }
+
+.fa-user-tie:before {
+  content: "\f508"; }
+
+.fa-user-times:before {
+  content: "\f235"; }
+
+.fa-users:before {
+  content: "\f0c0"; }
+
+.fa-users-cog:before {
+  content: "\f509"; }
+
+.fa-usps:before {
+  content: "\f7e1"; }
+
+.fa-ussunnah:before {
+  content: "\f407"; }
+
+.fa-utensil-spoon:before {
+  content: "\f2e5"; }
+
+.fa-utensils:before {
+  content: "\f2e7"; }
+
+.fa-vaadin:before {
+  content: "\f408"; }
+
+.fa-vector-square:before {
+  content: "\f5cb"; }
+
+.fa-venus:before {
+  content: "\f221"; }
+
+.fa-venus-double:before {
+  content: "\f226"; }
+
+.fa-venus-mars:before {
+  content: "\f228"; }
+
+.fa-viacoin:before {
+  content: "\f237"; }
+
+.fa-viadeo:before {
+  content: "\f2a9"; }
+
+.fa-viadeo-square:before {
+  content: "\f2aa"; }
+
+.fa-vial:before {
+  content: "\f492"; }
+
+.fa-vials:before {
+  content: "\f493"; }
+
+.fa-viber:before {
+  content: "\f409"; }
+
+.fa-video:before {
+  content: "\f03d"; }
+
+.fa-video-slash:before {
+  content: "\f4e2"; }
+
+.fa-vihara:before {
+  content: "\f6a7"; }
+
+.fa-vimeo:before {
+  content: "\f40a"; }
+
+.fa-vimeo-square:before {
+  content: "\f194"; }
+
+.fa-vimeo-v:before {
+  content: "\f27d"; }
+
+.fa-vine:before {
+  content: "\f1ca"; }
+
+.fa-vk:before {
+  content: "\f189"; }
+
+.fa-vnv:before {
+  content: "\f40b"; }
+
+.fa-voicemail:before {
+  content: "\f897"; }
+
+.fa-volleyball-ball:before {
+  content: "\f45f"; }
+
+.fa-volume-down:before {
+  content: "\f027"; }
+
+.fa-volume-mute:before {
+  content: "\f6a9"; }
+
+.fa-volume-off:before {
+  content: "\f026"; }
+
+.fa-volume-up:before {
+  content: "\f028"; }
+
+.fa-vote-yea:before {
+  content: "\f772"; }
+
+.fa-vr-cardboard:before {
+  content: "\f729"; }
+
+.fa-vuejs:before {
+  content: "\f41f"; }
+
+.fa-walking:before {
+  content: "\f554"; }
+
+.fa-wallet:before {
+  content: "\f555"; }
+
+.fa-warehouse:before {
+  content: "\f494"; }
+
+.fa-water:before {
+  content: "\f773"; }
+
+.fa-wave-square:before {
+  content: "\f83e"; }
+
+.fa-waze:before {
+  content: "\f83f"; }
+
+.fa-weebly:before {
+  content: "\f5cc"; }
+
+.fa-weibo:before {
+  content: "\f18a"; }
+
+.fa-weight:before {
+  content: "\f496"; }
+
+.fa-weight-hanging:before {
+  content: "\f5cd"; }
+
+.fa-weixin:before {
+  content: "\f1d7"; }
+
+.fa-whatsapp:before {
+  content: "\f232"; }
+
+.fa-whatsapp-square:before {
+  content: "\f40c"; }
+
+.fa-wheelchair:before {
+  content: "\f193"; }
+
+.fa-whmcs:before {
+  content: "\f40d"; }
+
+.fa-wifi:before {
+  content: "\f1eb"; }
+
+.fa-wikipedia-w:before {
+  content: "\f266"; }
+
+.fa-wind:before {
+  content: "\f72e"; }
+
+.fa-window-close:before {
+  content: "\f410"; }
+
+.fa-window-maximize:before {
+  content: "\f2d0"; }
+
+.fa-window-minimize:before {
+  content: "\f2d1"; }
+
+.fa-window-restore:before {
+  content: "\f2d2"; }
+
+.fa-windows:before {
+  content: "\f17a"; }
+
+.fa-wine-bottle:before {
+  content: "\f72f"; }
+
+.fa-wine-glass:before {
+  content: "\f4e3"; }
+
+.fa-wine-glass-alt:before {
+  content: "\f5ce"; }
+
+.fa-wix:before {
+  content: "\f5cf"; }
+
+.fa-wizards-of-the-coast:before {
+  content: "\f730"; }
+
+.fa-wolf-pack-battalion:before {
+  content: "\f514"; }
+
+.fa-won-sign:before {
+  content: "\f159"; }
+
+.fa-wordpress:before {
+  content: "\f19a"; }
+
+.fa-wordpress-simple:before {
+  content: "\f411"; }
+
+.fa-wpbeginner:before {
+  content: "\f297"; }
+
+.fa-wpexplorer:before {
+  content: "\f2de"; }
+
+.fa-wpforms:before {
+  content: "\f298"; }
+
+.fa-wpressr:before {
+  content: "\f3e4"; }
+
+.fa-wrench:before {
+  content: "\f0ad"; }
+
+.fa-x-ray:before {
+  content: "\f497"; }
+
+.fa-xbox:before {
+  content: "\f412"; }
+
+.fa-xing:before {
+  content: "\f168"; }
+
+.fa-xing-square:before {
+  content: "\f169"; }
+
+.fa-y-combinator:before {
+  content: "\f23b"; }
+
+.fa-yahoo:before {
+  content: "\f19e"; }
+
+.fa-yammer:before {
+  content: "\f840"; }
+
+.fa-yandex:before {
+  content: "\f413"; }
+
+.fa-yandex-international:before {
+  content: "\f414"; }
+
+.fa-yarn:before {
+  content: "\f7e3"; }
+
+.fa-yelp:before {
+  content: "\f1e9"; }
+
+.fa-yen-sign:before {
+  content: "\f157"; }
+
+.fa-yin-yang:before {
+  content: "\f6ad"; }
+
+.fa-yoast:before {
+  content: "\f2b1"; }
+
+.fa-youtube:before {
+  content: "\f167"; }
+
+.fa-youtube-square:before {
+  content: "\f431"; }
+
+.fa-zhihu:before {
+  content: "\f63f"; }
+
+.sr-only {
+  border: 0;
+  clip: rect(0, 0, 0, 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  clip: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  position: static;
+  width: auto; }
+@font-face {
+  font-family: 'Font Awesome 5 Brands';
+  font-style: normal;
+  font-weight: normal;
+  font-display: auto;
+  src: url("../webfonts/fa-brands-400.eot");
+  src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
+
+.fab {
+  font-family: 'Font Awesome 5 Brands'; }
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url("../webfonts/fa-regular-400.eot");
+  src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
+
+.far {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 900;
+  font-display: auto;
+  src: url("../webfonts/fa-solid-900.eot");
+  src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
+
+.fa,
+.fas {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 900; }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/css/all.min.css


+ 14 - 0
resources/fontawesome/css/brands.css

@@ -0,0 +1,14 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face {
+  font-family: 'Font Awesome 5 Brands';
+  font-style: normal;
+  font-weight: normal;
+  font-display: auto;
+  src: url("../webfonts/fa-brands-400.eot");
+  src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
+
+.fab {
+  font-family: 'Font Awesome 5 Brands'; }

+ 5 - 0
resources/fontawesome/css/brands.min.css

@@ -0,0 +1,5 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}

+ 4363 - 0
resources/fontawesome/css/fontawesome.css

@@ -0,0 +1,4363 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+.fa,
+.fas,
+.far,
+.fal,
+.fad,
+.fab {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  text-rendering: auto;
+  line-height: 1; }
+
+.fa-lg {
+  font-size: 1.33333em;
+  line-height: 0.75em;
+  vertical-align: -.0667em; }
+
+.fa-xs {
+  font-size: .75em; }
+
+.fa-sm {
+  font-size: .875em; }
+
+.fa-1x {
+  font-size: 1em; }
+
+.fa-2x {
+  font-size: 2em; }
+
+.fa-3x {
+  font-size: 3em; }
+
+.fa-4x {
+  font-size: 4em; }
+
+.fa-5x {
+  font-size: 5em; }
+
+.fa-6x {
+  font-size: 6em; }
+
+.fa-7x {
+  font-size: 7em; }
+
+.fa-8x {
+  font-size: 8em; }
+
+.fa-9x {
+  font-size: 9em; }
+
+.fa-10x {
+  font-size: 10em; }
+
+.fa-fw {
+  text-align: center;
+  width: 1.25em; }
+
+.fa-ul {
+  list-style-type: none;
+  margin-left: 2.5em;
+  padding-left: 0; }
+  .fa-ul > li {
+    position: relative; }
+
+.fa-li {
+  left: -2em;
+  position: absolute;
+  text-align: center;
+  width: 2em;
+  line-height: inherit; }
+
+.fa-border {
+  border: solid 0.08em #eee;
+  border-radius: .1em;
+  padding: .2em .25em .15em; }
+
+.fa-pull-left {
+  float: left; }
+
+.fa-pull-right {
+  float: right; }
+
+.fa.fa-pull-left,
+.fas.fa-pull-left,
+.far.fa-pull-left,
+.fal.fa-pull-left,
+.fab.fa-pull-left {
+  margin-right: .3em; }
+
+.fa.fa-pull-right,
+.fas.fa-pull-right,
+.far.fa-pull-right,
+.fal.fa-pull-right,
+.fab.fa-pull-right {
+  margin-left: .3em; }
+
+.fa-spin {
+  -webkit-animation: fa-spin 2s infinite linear;
+          animation: fa-spin 2s infinite linear; }
+
+.fa-pulse {
+  -webkit-animation: fa-spin 1s infinite steps(8);
+          animation: fa-spin 1s infinite steps(8); }
+
+@-webkit-keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+@keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+.fa-rotate-90 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
+  -webkit-transform: rotate(90deg);
+          transform: rotate(90deg); }
+
+.fa-rotate-180 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
+  -webkit-transform: rotate(180deg);
+          transform: rotate(180deg); }
+
+.fa-rotate-270 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
+  -webkit-transform: rotate(270deg);
+          transform: rotate(270deg); }
+
+.fa-flip-horizontal {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
+  -webkit-transform: scale(-1, 1);
+          transform: scale(-1, 1); }
+
+.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(1, -1);
+          transform: scale(1, -1); }
+
+.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(-1, -1);
+          transform: scale(-1, -1); }
+
+:root .fa-rotate-90,
+:root .fa-rotate-180,
+:root .fa-rotate-270,
+:root .fa-flip-horizontal,
+:root .fa-flip-vertical,
+:root .fa-flip-both {
+  -webkit-filter: none;
+          filter: none; }
+
+.fa-stack {
+  display: inline-block;
+  height: 2em;
+  line-height: 2em;
+  position: relative;
+  vertical-align: middle;
+  width: 2.5em; }
+
+.fa-stack-1x,
+.fa-stack-2x {
+  left: 0;
+  position: absolute;
+  text-align: center;
+  width: 100%; }
+
+.fa-stack-1x {
+  line-height: inherit; }
+
+.fa-stack-2x {
+  font-size: 2em; }
+
+.fa-inverse {
+  color: #fff; }
+
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+readers do not read off random characters that represent icons */
+.fa-500px:before {
+  content: "\f26e"; }
+
+.fa-accessible-icon:before {
+  content: "\f368"; }
+
+.fa-accusoft:before {
+  content: "\f369"; }
+
+.fa-acquisitions-incorporated:before {
+  content: "\f6af"; }
+
+.fa-ad:before {
+  content: "\f641"; }
+
+.fa-address-book:before {
+  content: "\f2b9"; }
+
+.fa-address-card:before {
+  content: "\f2bb"; }
+
+.fa-adjust:before {
+  content: "\f042"; }
+
+.fa-adn:before {
+  content: "\f170"; }
+
+.fa-adobe:before {
+  content: "\f778"; }
+
+.fa-adversal:before {
+  content: "\f36a"; }
+
+.fa-affiliatetheme:before {
+  content: "\f36b"; }
+
+.fa-air-freshener:before {
+  content: "\f5d0"; }
+
+.fa-airbnb:before {
+  content: "\f834"; }
+
+.fa-algolia:before {
+  content: "\f36c"; }
+
+.fa-align-center:before {
+  content: "\f037"; }
+
+.fa-align-justify:before {
+  content: "\f039"; }
+
+.fa-align-left:before {
+  content: "\f036"; }
+
+.fa-align-right:before {
+  content: "\f038"; }
+
+.fa-alipay:before {
+  content: "\f642"; }
+
+.fa-allergies:before {
+  content: "\f461"; }
+
+.fa-amazon:before {
+  content: "\f270"; }
+
+.fa-amazon-pay:before {
+  content: "\f42c"; }
+
+.fa-ambulance:before {
+  content: "\f0f9"; }
+
+.fa-american-sign-language-interpreting:before {
+  content: "\f2a3"; }
+
+.fa-amilia:before {
+  content: "\f36d"; }
+
+.fa-anchor:before {
+  content: "\f13d"; }
+
+.fa-android:before {
+  content: "\f17b"; }
+
+.fa-angellist:before {
+  content: "\f209"; }
+
+.fa-angle-double-down:before {
+  content: "\f103"; }
+
+.fa-angle-double-left:before {
+  content: "\f100"; }
+
+.fa-angle-double-right:before {
+  content: "\f101"; }
+
+.fa-angle-double-up:before {
+  content: "\f102"; }
+
+.fa-angle-down:before {
+  content: "\f107"; }
+
+.fa-angle-left:before {
+  content: "\f104"; }
+
+.fa-angle-right:before {
+  content: "\f105"; }
+
+.fa-angle-up:before {
+  content: "\f106"; }
+
+.fa-angry:before {
+  content: "\f556"; }
+
+.fa-angrycreative:before {
+  content: "\f36e"; }
+
+.fa-angular:before {
+  content: "\f420"; }
+
+.fa-ankh:before {
+  content: "\f644"; }
+
+.fa-app-store:before {
+  content: "\f36f"; }
+
+.fa-app-store-ios:before {
+  content: "\f370"; }
+
+.fa-apper:before {
+  content: "\f371"; }
+
+.fa-apple:before {
+  content: "\f179"; }
+
+.fa-apple-alt:before {
+  content: "\f5d1"; }
+
+.fa-apple-pay:before {
+  content: "\f415"; }
+
+.fa-archive:before {
+  content: "\f187"; }
+
+.fa-archway:before {
+  content: "\f557"; }
+
+.fa-arrow-alt-circle-down:before {
+  content: "\f358"; }
+
+.fa-arrow-alt-circle-left:before {
+  content: "\f359"; }
+
+.fa-arrow-alt-circle-right:before {
+  content: "\f35a"; }
+
+.fa-arrow-alt-circle-up:before {
+  content: "\f35b"; }
+
+.fa-arrow-circle-down:before {
+  content: "\f0ab"; }
+
+.fa-arrow-circle-left:before {
+  content: "\f0a8"; }
+
+.fa-arrow-circle-right:before {
+  content: "\f0a9"; }
+
+.fa-arrow-circle-up:before {
+  content: "\f0aa"; }
+
+.fa-arrow-down:before {
+  content: "\f063"; }
+
+.fa-arrow-left:before {
+  content: "\f060"; }
+
+.fa-arrow-right:before {
+  content: "\f061"; }
+
+.fa-arrow-up:before {
+  content: "\f062"; }
+
+.fa-arrows-alt:before {
+  content: "\f0b2"; }
+
+.fa-arrows-alt-h:before {
+  content: "\f337"; }
+
+.fa-arrows-alt-v:before {
+  content: "\f338"; }
+
+.fa-artstation:before {
+  content: "\f77a"; }
+
+.fa-assistive-listening-systems:before {
+  content: "\f2a2"; }
+
+.fa-asterisk:before {
+  content: "\f069"; }
+
+.fa-asymmetrik:before {
+  content: "\f372"; }
+
+.fa-at:before {
+  content: "\f1fa"; }
+
+.fa-atlas:before {
+  content: "\f558"; }
+
+.fa-atlassian:before {
+  content: "\f77b"; }
+
+.fa-atom:before {
+  content: "\f5d2"; }
+
+.fa-audible:before {
+  content: "\f373"; }
+
+.fa-audio-description:before {
+  content: "\f29e"; }
+
+.fa-autoprefixer:before {
+  content: "\f41c"; }
+
+.fa-avianex:before {
+  content: "\f374"; }
+
+.fa-aviato:before {
+  content: "\f421"; }
+
+.fa-award:before {
+  content: "\f559"; }
+
+.fa-aws:before {
+  content: "\f375"; }
+
+.fa-baby:before {
+  content: "\f77c"; }
+
+.fa-baby-carriage:before {
+  content: "\f77d"; }
+
+.fa-backspace:before {
+  content: "\f55a"; }
+
+.fa-backward:before {
+  content: "\f04a"; }
+
+.fa-bacon:before {
+  content: "\f7e5"; }
+
+.fa-balance-scale:before {
+  content: "\f24e"; }
+
+.fa-balance-scale-left:before {
+  content: "\f515"; }
+
+.fa-balance-scale-right:before {
+  content: "\f516"; }
+
+.fa-ban:before {
+  content: "\f05e"; }
+
+.fa-band-aid:before {
+  content: "\f462"; }
+
+.fa-bandcamp:before {
+  content: "\f2d5"; }
+
+.fa-barcode:before {
+  content: "\f02a"; }
+
+.fa-bars:before {
+  content: "\f0c9"; }
+
+.fa-baseball-ball:before {
+  content: "\f433"; }
+
+.fa-basketball-ball:before {
+  content: "\f434"; }
+
+.fa-bath:before {
+  content: "\f2cd"; }
+
+.fa-battery-empty:before {
+  content: "\f244"; }
+
+.fa-battery-full:before {
+  content: "\f240"; }
+
+.fa-battery-half:before {
+  content: "\f242"; }
+
+.fa-battery-quarter:before {
+  content: "\f243"; }
+
+.fa-battery-three-quarters:before {
+  content: "\f241"; }
+
+.fa-battle-net:before {
+  content: "\f835"; }
+
+.fa-bed:before {
+  content: "\f236"; }
+
+.fa-beer:before {
+  content: "\f0fc"; }
+
+.fa-behance:before {
+  content: "\f1b4"; }
+
+.fa-behance-square:before {
+  content: "\f1b5"; }
+
+.fa-bell:before {
+  content: "\f0f3"; }
+
+.fa-bell-slash:before {
+  content: "\f1f6"; }
+
+.fa-bezier-curve:before {
+  content: "\f55b"; }
+
+.fa-bible:before {
+  content: "\f647"; }
+
+.fa-bicycle:before {
+  content: "\f206"; }
+
+.fa-biking:before {
+  content: "\f84a"; }
+
+.fa-bimobject:before {
+  content: "\f378"; }
+
+.fa-binoculars:before {
+  content: "\f1e5"; }
+
+.fa-biohazard:before {
+  content: "\f780"; }
+
+.fa-birthday-cake:before {
+  content: "\f1fd"; }
+
+.fa-bitbucket:before {
+  content: "\f171"; }
+
+.fa-bitcoin:before {
+  content: "\f379"; }
+
+.fa-bity:before {
+  content: "\f37a"; }
+
+.fa-black-tie:before {
+  content: "\f27e"; }
+
+.fa-blackberry:before {
+  content: "\f37b"; }
+
+.fa-blender:before {
+  content: "\f517"; }
+
+.fa-blender-phone:before {
+  content: "\f6b6"; }
+
+.fa-blind:before {
+  content: "\f29d"; }
+
+.fa-blog:before {
+  content: "\f781"; }
+
+.fa-blogger:before {
+  content: "\f37c"; }
+
+.fa-blogger-b:before {
+  content: "\f37d"; }
+
+.fa-bluetooth:before {
+  content: "\f293"; }
+
+.fa-bluetooth-b:before {
+  content: "\f294"; }
+
+.fa-bold:before {
+  content: "\f032"; }
+
+.fa-bolt:before {
+  content: "\f0e7"; }
+
+.fa-bomb:before {
+  content: "\f1e2"; }
+
+.fa-bone:before {
+  content: "\f5d7"; }
+
+.fa-bong:before {
+  content: "\f55c"; }
+
+.fa-book:before {
+  content: "\f02d"; }
+
+.fa-book-dead:before {
+  content: "\f6b7"; }
+
+.fa-book-medical:before {
+  content: "\f7e6"; }
+
+.fa-book-open:before {
+  content: "\f518"; }
+
+.fa-book-reader:before {
+  content: "\f5da"; }
+
+.fa-bookmark:before {
+  content: "\f02e"; }
+
+.fa-bootstrap:before {
+  content: "\f836"; }
+
+.fa-border-all:before {
+  content: "\f84c"; }
+
+.fa-border-none:before {
+  content: "\f850"; }
+
+.fa-border-style:before {
+  content: "\f853"; }
+
+.fa-bowling-ball:before {
+  content: "\f436"; }
+
+.fa-box:before {
+  content: "\f466"; }
+
+.fa-box-open:before {
+  content: "\f49e"; }
+
+.fa-boxes:before {
+  content: "\f468"; }
+
+.fa-braille:before {
+  content: "\f2a1"; }
+
+.fa-brain:before {
+  content: "\f5dc"; }
+
+.fa-bread-slice:before {
+  content: "\f7ec"; }
+
+.fa-briefcase:before {
+  content: "\f0b1"; }
+
+.fa-briefcase-medical:before {
+  content: "\f469"; }
+
+.fa-broadcast-tower:before {
+  content: "\f519"; }
+
+.fa-broom:before {
+  content: "\f51a"; }
+
+.fa-brush:before {
+  content: "\f55d"; }
+
+.fa-btc:before {
+  content: "\f15a"; }
+
+.fa-buffer:before {
+  content: "\f837"; }
+
+.fa-bug:before {
+  content: "\f188"; }
+
+.fa-building:before {
+  content: "\f1ad"; }
+
+.fa-bullhorn:before {
+  content: "\f0a1"; }
+
+.fa-bullseye:before {
+  content: "\f140"; }
+
+.fa-burn:before {
+  content: "\f46a"; }
+
+.fa-buromobelexperte:before {
+  content: "\f37f"; }
+
+.fa-bus:before {
+  content: "\f207"; }
+
+.fa-bus-alt:before {
+  content: "\f55e"; }
+
+.fa-business-time:before {
+  content: "\f64a"; }
+
+.fa-buysellads:before {
+  content: "\f20d"; }
+
+.fa-calculator:before {
+  content: "\f1ec"; }
+
+.fa-calendar:before {
+  content: "\f133"; }
+
+.fa-calendar-alt:before {
+  content: "\f073"; }
+
+.fa-calendar-check:before {
+  content: "\f274"; }
+
+.fa-calendar-day:before {
+  content: "\f783"; }
+
+.fa-calendar-minus:before {
+  content: "\f272"; }
+
+.fa-calendar-plus:before {
+  content: "\f271"; }
+
+.fa-calendar-times:before {
+  content: "\f273"; }
+
+.fa-calendar-week:before {
+  content: "\f784"; }
+
+.fa-camera:before {
+  content: "\f030"; }
+
+.fa-camera-retro:before {
+  content: "\f083"; }
+
+.fa-campground:before {
+  content: "\f6bb"; }
+
+.fa-canadian-maple-leaf:before {
+  content: "\f785"; }
+
+.fa-candy-cane:before {
+  content: "\f786"; }
+
+.fa-cannabis:before {
+  content: "\f55f"; }
+
+.fa-capsules:before {
+  content: "\f46b"; }
+
+.fa-car:before {
+  content: "\f1b9"; }
+
+.fa-car-alt:before {
+  content: "\f5de"; }
+
+.fa-car-battery:before {
+  content: "\f5df"; }
+
+.fa-car-crash:before {
+  content: "\f5e1"; }
+
+.fa-car-side:before {
+  content: "\f5e4"; }
+
+.fa-caret-down:before {
+  content: "\f0d7"; }
+
+.fa-caret-left:before {
+  content: "\f0d9"; }
+
+.fa-caret-right:before {
+  content: "\f0da"; }
+
+.fa-caret-square-down:before {
+  content: "\f150"; }
+
+.fa-caret-square-left:before {
+  content: "\f191"; }
+
+.fa-caret-square-right:before {
+  content: "\f152"; }
+
+.fa-caret-square-up:before {
+  content: "\f151"; }
+
+.fa-caret-up:before {
+  content: "\f0d8"; }
+
+.fa-carrot:before {
+  content: "\f787"; }
+
+.fa-cart-arrow-down:before {
+  content: "\f218"; }
+
+.fa-cart-plus:before {
+  content: "\f217"; }
+
+.fa-cash-register:before {
+  content: "\f788"; }
+
+.fa-cat:before {
+  content: "\f6be"; }
+
+.fa-cc-amazon-pay:before {
+  content: "\f42d"; }
+
+.fa-cc-amex:before {
+  content: "\f1f3"; }
+
+.fa-cc-apple-pay:before {
+  content: "\f416"; }
+
+.fa-cc-diners-club:before {
+  content: "\f24c"; }
+
+.fa-cc-discover:before {
+  content: "\f1f2"; }
+
+.fa-cc-jcb:before {
+  content: "\f24b"; }
+
+.fa-cc-mastercard:before {
+  content: "\f1f1"; }
+
+.fa-cc-paypal:before {
+  content: "\f1f4"; }
+
+.fa-cc-stripe:before {
+  content: "\f1f5"; }
+
+.fa-cc-visa:before {
+  content: "\f1f0"; }
+
+.fa-centercode:before {
+  content: "\f380"; }
+
+.fa-centos:before {
+  content: "\f789"; }
+
+.fa-certificate:before {
+  content: "\f0a3"; }
+
+.fa-chair:before {
+  content: "\f6c0"; }
+
+.fa-chalkboard:before {
+  content: "\f51b"; }
+
+.fa-chalkboard-teacher:before {
+  content: "\f51c"; }
+
+.fa-charging-station:before {
+  content: "\f5e7"; }
+
+.fa-chart-area:before {
+  content: "\f1fe"; }
+
+.fa-chart-bar:before {
+  content: "\f080"; }
+
+.fa-chart-line:before {
+  content: "\f201"; }
+
+.fa-chart-pie:before {
+  content: "\f200"; }
+
+.fa-check:before {
+  content: "\f00c"; }
+
+.fa-check-circle:before {
+  content: "\f058"; }
+
+.fa-check-double:before {
+  content: "\f560"; }
+
+.fa-check-square:before {
+  content: "\f14a"; }
+
+.fa-cheese:before {
+  content: "\f7ef"; }
+
+.fa-chess:before {
+  content: "\f439"; }
+
+.fa-chess-bishop:before {
+  content: "\f43a"; }
+
+.fa-chess-board:before {
+  content: "\f43c"; }
+
+.fa-chess-king:before {
+  content: "\f43f"; }
+
+.fa-chess-knight:before {
+  content: "\f441"; }
+
+.fa-chess-pawn:before {
+  content: "\f443"; }
+
+.fa-chess-queen:before {
+  content: "\f445"; }
+
+.fa-chess-rook:before {
+  content: "\f447"; }
+
+.fa-chevron-circle-down:before {
+  content: "\f13a"; }
+
+.fa-chevron-circle-left:before {
+  content: "\f137"; }
+
+.fa-chevron-circle-right:before {
+  content: "\f138"; }
+
+.fa-chevron-circle-up:before {
+  content: "\f139"; }
+
+.fa-chevron-down:before {
+  content: "\f078"; }
+
+.fa-chevron-left:before {
+  content: "\f053"; }
+
+.fa-chevron-right:before {
+  content: "\f054"; }
+
+.fa-chevron-up:before {
+  content: "\f077"; }
+
+.fa-child:before {
+  content: "\f1ae"; }
+
+.fa-chrome:before {
+  content: "\f268"; }
+
+.fa-chromecast:before {
+  content: "\f838"; }
+
+.fa-church:before {
+  content: "\f51d"; }
+
+.fa-circle:before {
+  content: "\f111"; }
+
+.fa-circle-notch:before {
+  content: "\f1ce"; }
+
+.fa-city:before {
+  content: "\f64f"; }
+
+.fa-clinic-medical:before {
+  content: "\f7f2"; }
+
+.fa-clipboard:before {
+  content: "\f328"; }
+
+.fa-clipboard-check:before {
+  content: "\f46c"; }
+
+.fa-clipboard-list:before {
+  content: "\f46d"; }
+
+.fa-clock:before {
+  content: "\f017"; }
+
+.fa-clone:before {
+  content: "\f24d"; }
+
+.fa-closed-captioning:before {
+  content: "\f20a"; }
+
+.fa-cloud:before {
+  content: "\f0c2"; }
+
+.fa-cloud-download-alt:before {
+  content: "\f381"; }
+
+.fa-cloud-meatball:before {
+  content: "\f73b"; }
+
+.fa-cloud-moon:before {
+  content: "\f6c3"; }
+
+.fa-cloud-moon-rain:before {
+  content: "\f73c"; }
+
+.fa-cloud-rain:before {
+  content: "\f73d"; }
+
+.fa-cloud-showers-heavy:before {
+  content: "\f740"; }
+
+.fa-cloud-sun:before {
+  content: "\f6c4"; }
+
+.fa-cloud-sun-rain:before {
+  content: "\f743"; }
+
+.fa-cloud-upload-alt:before {
+  content: "\f382"; }
+
+.fa-cloudscale:before {
+  content: "\f383"; }
+
+.fa-cloudsmith:before {
+  content: "\f384"; }
+
+.fa-cloudversify:before {
+  content: "\f385"; }
+
+.fa-cocktail:before {
+  content: "\f561"; }
+
+.fa-code:before {
+  content: "\f121"; }
+
+.fa-code-branch:before {
+  content: "\f126"; }
+
+.fa-codepen:before {
+  content: "\f1cb"; }
+
+.fa-codiepie:before {
+  content: "\f284"; }
+
+.fa-coffee:before {
+  content: "\f0f4"; }
+
+.fa-cog:before {
+  content: "\f013"; }
+
+.fa-cogs:before {
+  content: "\f085"; }
+
+.fa-coins:before {
+  content: "\f51e"; }
+
+.fa-columns:before {
+  content: "\f0db"; }
+
+.fa-comment:before {
+  content: "\f075"; }
+
+.fa-comment-alt:before {
+  content: "\f27a"; }
+
+.fa-comment-dollar:before {
+  content: "\f651"; }
+
+.fa-comment-dots:before {
+  content: "\f4ad"; }
+
+.fa-comment-medical:before {
+  content: "\f7f5"; }
+
+.fa-comment-slash:before {
+  content: "\f4b3"; }
+
+.fa-comments:before {
+  content: "\f086"; }
+
+.fa-comments-dollar:before {
+  content: "\f653"; }
+
+.fa-compact-disc:before {
+  content: "\f51f"; }
+
+.fa-compass:before {
+  content: "\f14e"; }
+
+.fa-compress:before {
+  content: "\f066"; }
+
+.fa-compress-arrows-alt:before {
+  content: "\f78c"; }
+
+.fa-concierge-bell:before {
+  content: "\f562"; }
+
+.fa-confluence:before {
+  content: "\f78d"; }
+
+.fa-connectdevelop:before {
+  content: "\f20e"; }
+
+.fa-contao:before {
+  content: "\f26d"; }
+
+.fa-cookie:before {
+  content: "\f563"; }
+
+.fa-cookie-bite:before {
+  content: "\f564"; }
+
+.fa-copy:before {
+  content: "\f0c5"; }
+
+.fa-copyright:before {
+  content: "\f1f9"; }
+
+.fa-cotton-bureau:before {
+  content: "\f89e"; }
+
+.fa-couch:before {
+  content: "\f4b8"; }
+
+.fa-cpanel:before {
+  content: "\f388"; }
+
+.fa-creative-commons:before {
+  content: "\f25e"; }
+
+.fa-creative-commons-by:before {
+  content: "\f4e7"; }
+
+.fa-creative-commons-nc:before {
+  content: "\f4e8"; }
+
+.fa-creative-commons-nc-eu:before {
+  content: "\f4e9"; }
+
+.fa-creative-commons-nc-jp:before {
+  content: "\f4ea"; }
+
+.fa-creative-commons-nd:before {
+  content: "\f4eb"; }
+
+.fa-creative-commons-pd:before {
+  content: "\f4ec"; }
+
+.fa-creative-commons-pd-alt:before {
+  content: "\f4ed"; }
+
+.fa-creative-commons-remix:before {
+  content: "\f4ee"; }
+
+.fa-creative-commons-sa:before {
+  content: "\f4ef"; }
+
+.fa-creative-commons-sampling:before {
+  content: "\f4f0"; }
+
+.fa-creative-commons-sampling-plus:before {
+  content: "\f4f1"; }
+
+.fa-creative-commons-share:before {
+  content: "\f4f2"; }
+
+.fa-creative-commons-zero:before {
+  content: "\f4f3"; }
+
+.fa-credit-card:before {
+  content: "\f09d"; }
+
+.fa-critical-role:before {
+  content: "\f6c9"; }
+
+.fa-crop:before {
+  content: "\f125"; }
+
+.fa-crop-alt:before {
+  content: "\f565"; }
+
+.fa-cross:before {
+  content: "\f654"; }
+
+.fa-crosshairs:before {
+  content: "\f05b"; }
+
+.fa-crow:before {
+  content: "\f520"; }
+
+.fa-crown:before {
+  content: "\f521"; }
+
+.fa-crutch:before {
+  content: "\f7f7"; }
+
+.fa-css3:before {
+  content: "\f13c"; }
+
+.fa-css3-alt:before {
+  content: "\f38b"; }
+
+.fa-cube:before {
+  content: "\f1b2"; }
+
+.fa-cubes:before {
+  content: "\f1b3"; }
+
+.fa-cut:before {
+  content: "\f0c4"; }
+
+.fa-cuttlefish:before {
+  content: "\f38c"; }
+
+.fa-d-and-d:before {
+  content: "\f38d"; }
+
+.fa-d-and-d-beyond:before {
+  content: "\f6ca"; }
+
+.fa-dashcube:before {
+  content: "\f210"; }
+
+.fa-database:before {
+  content: "\f1c0"; }
+
+.fa-deaf:before {
+  content: "\f2a4"; }
+
+.fa-delicious:before {
+  content: "\f1a5"; }
+
+.fa-democrat:before {
+  content: "\f747"; }
+
+.fa-deploydog:before {
+  content: "\f38e"; }
+
+.fa-deskpro:before {
+  content: "\f38f"; }
+
+.fa-desktop:before {
+  content: "\f108"; }
+
+.fa-dev:before {
+  content: "\f6cc"; }
+
+.fa-deviantart:before {
+  content: "\f1bd"; }
+
+.fa-dharmachakra:before {
+  content: "\f655"; }
+
+.fa-dhl:before {
+  content: "\f790"; }
+
+.fa-diagnoses:before {
+  content: "\f470"; }
+
+.fa-diaspora:before {
+  content: "\f791"; }
+
+.fa-dice:before {
+  content: "\f522"; }
+
+.fa-dice-d20:before {
+  content: "\f6cf"; }
+
+.fa-dice-d6:before {
+  content: "\f6d1"; }
+
+.fa-dice-five:before {
+  content: "\f523"; }
+
+.fa-dice-four:before {
+  content: "\f524"; }
+
+.fa-dice-one:before {
+  content: "\f525"; }
+
+.fa-dice-six:before {
+  content: "\f526"; }
+
+.fa-dice-three:before {
+  content: "\f527"; }
+
+.fa-dice-two:before {
+  content: "\f528"; }
+
+.fa-digg:before {
+  content: "\f1a6"; }
+
+.fa-digital-ocean:before {
+  content: "\f391"; }
+
+.fa-digital-tachograph:before {
+  content: "\f566"; }
+
+.fa-directions:before {
+  content: "\f5eb"; }
+
+.fa-discord:before {
+  content: "\f392"; }
+
+.fa-discourse:before {
+  content: "\f393"; }
+
+.fa-divide:before {
+  content: "\f529"; }
+
+.fa-dizzy:before {
+  content: "\f567"; }
+
+.fa-dna:before {
+  content: "\f471"; }
+
+.fa-dochub:before {
+  content: "\f394"; }
+
+.fa-docker:before {
+  content: "\f395"; }
+
+.fa-dog:before {
+  content: "\f6d3"; }
+
+.fa-dollar-sign:before {
+  content: "\f155"; }
+
+.fa-dolly:before {
+  content: "\f472"; }
+
+.fa-dolly-flatbed:before {
+  content: "\f474"; }
+
+.fa-donate:before {
+  content: "\f4b9"; }
+
+.fa-door-closed:before {
+  content: "\f52a"; }
+
+.fa-door-open:before {
+  content: "\f52b"; }
+
+.fa-dot-circle:before {
+  content: "\f192"; }
+
+.fa-dove:before {
+  content: "\f4ba"; }
+
+.fa-download:before {
+  content: "\f019"; }
+
+.fa-draft2digital:before {
+  content: "\f396"; }
+
+.fa-drafting-compass:before {
+  content: "\f568"; }
+
+.fa-dragon:before {
+  content: "\f6d5"; }
+
+.fa-draw-polygon:before {
+  content: "\f5ee"; }
+
+.fa-dribbble:before {
+  content: "\f17d"; }
+
+.fa-dribbble-square:before {
+  content: "\f397"; }
+
+.fa-dropbox:before {
+  content: "\f16b"; }
+
+.fa-drum:before {
+  content: "\f569"; }
+
+.fa-drum-steelpan:before {
+  content: "\f56a"; }
+
+.fa-drumstick-bite:before {
+  content: "\f6d7"; }
+
+.fa-drupal:before {
+  content: "\f1a9"; }
+
+.fa-dumbbell:before {
+  content: "\f44b"; }
+
+.fa-dumpster:before {
+  content: "\f793"; }
+
+.fa-dumpster-fire:before {
+  content: "\f794"; }
+
+.fa-dungeon:before {
+  content: "\f6d9"; }
+
+.fa-dyalog:before {
+  content: "\f399"; }
+
+.fa-earlybirds:before {
+  content: "\f39a"; }
+
+.fa-ebay:before {
+  content: "\f4f4"; }
+
+.fa-edge:before {
+  content: "\f282"; }
+
+.fa-edit:before {
+  content: "\f044"; }
+
+.fa-egg:before {
+  content: "\f7fb"; }
+
+.fa-eject:before {
+  content: "\f052"; }
+
+.fa-elementor:before {
+  content: "\f430"; }
+
+.fa-ellipsis-h:before {
+  content: "\f141"; }
+
+.fa-ellipsis-v:before {
+  content: "\f142"; }
+
+.fa-ello:before {
+  content: "\f5f1"; }
+
+.fa-ember:before {
+  content: "\f423"; }
+
+.fa-empire:before {
+  content: "\f1d1"; }
+
+.fa-envelope:before {
+  content: "\f0e0"; }
+
+.fa-envelope-open:before {
+  content: "\f2b6"; }
+
+.fa-envelope-open-text:before {
+  content: "\f658"; }
+
+.fa-envelope-square:before {
+  content: "\f199"; }
+
+.fa-envira:before {
+  content: "\f299"; }
+
+.fa-equals:before {
+  content: "\f52c"; }
+
+.fa-eraser:before {
+  content: "\f12d"; }
+
+.fa-erlang:before {
+  content: "\f39d"; }
+
+.fa-ethereum:before {
+  content: "\f42e"; }
+
+.fa-ethernet:before {
+  content: "\f796"; }
+
+.fa-etsy:before {
+  content: "\f2d7"; }
+
+.fa-euro-sign:before {
+  content: "\f153"; }
+
+.fa-evernote:before {
+  content: "\f839"; }
+
+.fa-exchange-alt:before {
+  content: "\f362"; }
+
+.fa-exclamation:before {
+  content: "\f12a"; }
+
+.fa-exclamation-circle:before {
+  content: "\f06a"; }
+
+.fa-exclamation-triangle:before {
+  content: "\f071"; }
+
+.fa-expand:before {
+  content: "\f065"; }
+
+.fa-expand-arrows-alt:before {
+  content: "\f31e"; }
+
+.fa-expeditedssl:before {
+  content: "\f23e"; }
+
+.fa-external-link-alt:before {
+  content: "\f35d"; }
+
+.fa-external-link-square-alt:before {
+  content: "\f360"; }
+
+.fa-eye:before {
+  content: "\f06e"; }
+
+.fa-eye-dropper:before {
+  content: "\f1fb"; }
+
+.fa-eye-slash:before {
+  content: "\f070"; }
+
+.fa-facebook:before {
+  content: "\f09a"; }
+
+.fa-facebook-f:before {
+  content: "\f39e"; }
+
+.fa-facebook-messenger:before {
+  content: "\f39f"; }
+
+.fa-facebook-square:before {
+  content: "\f082"; }
+
+.fa-fan:before {
+  content: "\f863"; }
+
+.fa-fantasy-flight-games:before {
+  content: "\f6dc"; }
+
+.fa-fast-backward:before {
+  content: "\f049"; }
+
+.fa-fast-forward:before {
+  content: "\f050"; }
+
+.fa-fax:before {
+  content: "\f1ac"; }
+
+.fa-feather:before {
+  content: "\f52d"; }
+
+.fa-feather-alt:before {
+  content: "\f56b"; }
+
+.fa-fedex:before {
+  content: "\f797"; }
+
+.fa-fedora:before {
+  content: "\f798"; }
+
+.fa-female:before {
+  content: "\f182"; }
+
+.fa-fighter-jet:before {
+  content: "\f0fb"; }
+
+.fa-figma:before {
+  content: "\f799"; }
+
+.fa-file:before {
+  content: "\f15b"; }
+
+.fa-file-alt:before {
+  content: "\f15c"; }
+
+.fa-file-archive:before {
+  content: "\f1c6"; }
+
+.fa-file-audio:before {
+  content: "\f1c7"; }
+
+.fa-file-code:before {
+  content: "\f1c9"; }
+
+.fa-file-contract:before {
+  content: "\f56c"; }
+
+.fa-file-csv:before {
+  content: "\f6dd"; }
+
+.fa-file-download:before {
+  content: "\f56d"; }
+
+.fa-file-excel:before {
+  content: "\f1c3"; }
+
+.fa-file-export:before {
+  content: "\f56e"; }
+
+.fa-file-image:before {
+  content: "\f1c5"; }
+
+.fa-file-import:before {
+  content: "\f56f"; }
+
+.fa-file-invoice:before {
+  content: "\f570"; }
+
+.fa-file-invoice-dollar:before {
+  content: "\f571"; }
+
+.fa-file-medical:before {
+  content: "\f477"; }
+
+.fa-file-medical-alt:before {
+  content: "\f478"; }
+
+.fa-file-pdf:before {
+  content: "\f1c1"; }
+
+.fa-file-powerpoint:before {
+  content: "\f1c4"; }
+
+.fa-file-prescription:before {
+  content: "\f572"; }
+
+.fa-file-signature:before {
+  content: "\f573"; }
+
+.fa-file-upload:before {
+  content: "\f574"; }
+
+.fa-file-video:before {
+  content: "\f1c8"; }
+
+.fa-file-word:before {
+  content: "\f1c2"; }
+
+.fa-fill:before {
+  content: "\f575"; }
+
+.fa-fill-drip:before {
+  content: "\f576"; }
+
+.fa-film:before {
+  content: "\f008"; }
+
+.fa-filter:before {
+  content: "\f0b0"; }
+
+.fa-fingerprint:before {
+  content: "\f577"; }
+
+.fa-fire:before {
+  content: "\f06d"; }
+
+.fa-fire-alt:before {
+  content: "\f7e4"; }
+
+.fa-fire-extinguisher:before {
+  content: "\f134"; }
+
+.fa-firefox:before {
+  content: "\f269"; }
+
+.fa-first-aid:before {
+  content: "\f479"; }
+
+.fa-first-order:before {
+  content: "\f2b0"; }
+
+.fa-first-order-alt:before {
+  content: "\f50a"; }
+
+.fa-firstdraft:before {
+  content: "\f3a1"; }
+
+.fa-fish:before {
+  content: "\f578"; }
+
+.fa-fist-raised:before {
+  content: "\f6de"; }
+
+.fa-flag:before {
+  content: "\f024"; }
+
+.fa-flag-checkered:before {
+  content: "\f11e"; }
+
+.fa-flag-usa:before {
+  content: "\f74d"; }
+
+.fa-flask:before {
+  content: "\f0c3"; }
+
+.fa-flickr:before {
+  content: "\f16e"; }
+
+.fa-flipboard:before {
+  content: "\f44d"; }
+
+.fa-flushed:before {
+  content: "\f579"; }
+
+.fa-fly:before {
+  content: "\f417"; }
+
+.fa-folder:before {
+  content: "\f07b"; }
+
+.fa-folder-minus:before {
+  content: "\f65d"; }
+
+.fa-folder-open:before {
+  content: "\f07c"; }
+
+.fa-folder-plus:before {
+  content: "\f65e"; }
+
+.fa-font:before {
+  content: "\f031"; }
+
+.fa-font-awesome:before {
+  content: "\f2b4"; }
+
+.fa-font-awesome-alt:before {
+  content: "\f35c"; }
+
+.fa-font-awesome-flag:before {
+  content: "\f425"; }
+
+.fa-font-awesome-logo-full:before {
+  content: "\f4e6"; }
+
+.fa-fonticons:before {
+  content: "\f280"; }
+
+.fa-fonticons-fi:before {
+  content: "\f3a2"; }
+
+.fa-football-ball:before {
+  content: "\f44e"; }
+
+.fa-fort-awesome:before {
+  content: "\f286"; }
+
+.fa-fort-awesome-alt:before {
+  content: "\f3a3"; }
+
+.fa-forumbee:before {
+  content: "\f211"; }
+
+.fa-forward:before {
+  content: "\f04e"; }
+
+.fa-foursquare:before {
+  content: "\f180"; }
+
+.fa-free-code-camp:before {
+  content: "\f2c5"; }
+
+.fa-freebsd:before {
+  content: "\f3a4"; }
+
+.fa-frog:before {
+  content: "\f52e"; }
+
+.fa-frown:before {
+  content: "\f119"; }
+
+.fa-frown-open:before {
+  content: "\f57a"; }
+
+.fa-fulcrum:before {
+  content: "\f50b"; }
+
+.fa-funnel-dollar:before {
+  content: "\f662"; }
+
+.fa-futbol:before {
+  content: "\f1e3"; }
+
+.fa-galactic-republic:before {
+  content: "\f50c"; }
+
+.fa-galactic-senate:before {
+  content: "\f50d"; }
+
+.fa-gamepad:before {
+  content: "\f11b"; }
+
+.fa-gas-pump:before {
+  content: "\f52f"; }
+
+.fa-gavel:before {
+  content: "\f0e3"; }
+
+.fa-gem:before {
+  content: "\f3a5"; }
+
+.fa-genderless:before {
+  content: "\f22d"; }
+
+.fa-get-pocket:before {
+  content: "\f265"; }
+
+.fa-gg:before {
+  content: "\f260"; }
+
+.fa-gg-circle:before {
+  content: "\f261"; }
+
+.fa-ghost:before {
+  content: "\f6e2"; }
+
+.fa-gift:before {
+  content: "\f06b"; }
+
+.fa-gifts:before {
+  content: "\f79c"; }
+
+.fa-git:before {
+  content: "\f1d3"; }
+
+.fa-git-alt:before {
+  content: "\f841"; }
+
+.fa-git-square:before {
+  content: "\f1d2"; }
+
+.fa-github:before {
+  content: "\f09b"; }
+
+.fa-github-alt:before {
+  content: "\f113"; }
+
+.fa-github-square:before {
+  content: "\f092"; }
+
+.fa-gitkraken:before {
+  content: "\f3a6"; }
+
+.fa-gitlab:before {
+  content: "\f296"; }
+
+.fa-gitter:before {
+  content: "\f426"; }
+
+.fa-glass-cheers:before {
+  content: "\f79f"; }
+
+.fa-glass-martini:before {
+  content: "\f000"; }
+
+.fa-glass-martini-alt:before {
+  content: "\f57b"; }
+
+.fa-glass-whiskey:before {
+  content: "\f7a0"; }
+
+.fa-glasses:before {
+  content: "\f530"; }
+
+.fa-glide:before {
+  content: "\f2a5"; }
+
+.fa-glide-g:before {
+  content: "\f2a6"; }
+
+.fa-globe:before {
+  content: "\f0ac"; }
+
+.fa-globe-africa:before {
+  content: "\f57c"; }
+
+.fa-globe-americas:before {
+  content: "\f57d"; }
+
+.fa-globe-asia:before {
+  content: "\f57e"; }
+
+.fa-globe-europe:before {
+  content: "\f7a2"; }
+
+.fa-gofore:before {
+  content: "\f3a7"; }
+
+.fa-golf-ball:before {
+  content: "\f450"; }
+
+.fa-goodreads:before {
+  content: "\f3a8"; }
+
+.fa-goodreads-g:before {
+  content: "\f3a9"; }
+
+.fa-google:before {
+  content: "\f1a0"; }
+
+.fa-google-drive:before {
+  content: "\f3aa"; }
+
+.fa-google-play:before {
+  content: "\f3ab"; }
+
+.fa-google-plus:before {
+  content: "\f2b3"; }
+
+.fa-google-plus-g:before {
+  content: "\f0d5"; }
+
+.fa-google-plus-square:before {
+  content: "\f0d4"; }
+
+.fa-google-wallet:before {
+  content: "\f1ee"; }
+
+.fa-gopuram:before {
+  content: "\f664"; }
+
+.fa-graduation-cap:before {
+  content: "\f19d"; }
+
+.fa-gratipay:before {
+  content: "\f184"; }
+
+.fa-grav:before {
+  content: "\f2d6"; }
+
+.fa-greater-than:before {
+  content: "\f531"; }
+
+.fa-greater-than-equal:before {
+  content: "\f532"; }
+
+.fa-grimace:before {
+  content: "\f57f"; }
+
+.fa-grin:before {
+  content: "\f580"; }
+
+.fa-grin-alt:before {
+  content: "\f581"; }
+
+.fa-grin-beam:before {
+  content: "\f582"; }
+
+.fa-grin-beam-sweat:before {
+  content: "\f583"; }
+
+.fa-grin-hearts:before {
+  content: "\f584"; }
+
+.fa-grin-squint:before {
+  content: "\f585"; }
+
+.fa-grin-squint-tears:before {
+  content: "\f586"; }
+
+.fa-grin-stars:before {
+  content: "\f587"; }
+
+.fa-grin-tears:before {
+  content: "\f588"; }
+
+.fa-grin-tongue:before {
+  content: "\f589"; }
+
+.fa-grin-tongue-squint:before {
+  content: "\f58a"; }
+
+.fa-grin-tongue-wink:before {
+  content: "\f58b"; }
+
+.fa-grin-wink:before {
+  content: "\f58c"; }
+
+.fa-grip-horizontal:before {
+  content: "\f58d"; }
+
+.fa-grip-lines:before {
+  content: "\f7a4"; }
+
+.fa-grip-lines-vertical:before {
+  content: "\f7a5"; }
+
+.fa-grip-vertical:before {
+  content: "\f58e"; }
+
+.fa-gripfire:before {
+  content: "\f3ac"; }
+
+.fa-grunt:before {
+  content: "\f3ad"; }
+
+.fa-guitar:before {
+  content: "\f7a6"; }
+
+.fa-gulp:before {
+  content: "\f3ae"; }
+
+.fa-h-square:before {
+  content: "\f0fd"; }
+
+.fa-hacker-news:before {
+  content: "\f1d4"; }
+
+.fa-hacker-news-square:before {
+  content: "\f3af"; }
+
+.fa-hackerrank:before {
+  content: "\f5f7"; }
+
+.fa-hamburger:before {
+  content: "\f805"; }
+
+.fa-hammer:before {
+  content: "\f6e3"; }
+
+.fa-hamsa:before {
+  content: "\f665"; }
+
+.fa-hand-holding:before {
+  content: "\f4bd"; }
+
+.fa-hand-holding-heart:before {
+  content: "\f4be"; }
+
+.fa-hand-holding-usd:before {
+  content: "\f4c0"; }
+
+.fa-hand-lizard:before {
+  content: "\f258"; }
+
+.fa-hand-middle-finger:before {
+  content: "\f806"; }
+
+.fa-hand-paper:before {
+  content: "\f256"; }
+
+.fa-hand-peace:before {
+  content: "\f25b"; }
+
+.fa-hand-point-down:before {
+  content: "\f0a7"; }
+
+.fa-hand-point-left:before {
+  content: "\f0a5"; }
+
+.fa-hand-point-right:before {
+  content: "\f0a4"; }
+
+.fa-hand-point-up:before {
+  content: "\f0a6"; }
+
+.fa-hand-pointer:before {
+  content: "\f25a"; }
+
+.fa-hand-rock:before {
+  content: "\f255"; }
+
+.fa-hand-scissors:before {
+  content: "\f257"; }
+
+.fa-hand-spock:before {
+  content: "\f259"; }
+
+.fa-hands:before {
+  content: "\f4c2"; }
+
+.fa-hands-helping:before {
+  content: "\f4c4"; }
+
+.fa-handshake:before {
+  content: "\f2b5"; }
+
+.fa-hanukiah:before {
+  content: "\f6e6"; }
+
+.fa-hard-hat:before {
+  content: "\f807"; }
+
+.fa-hashtag:before {
+  content: "\f292"; }
+
+.fa-hat-wizard:before {
+  content: "\f6e8"; }
+
+.fa-haykal:before {
+  content: "\f666"; }
+
+.fa-hdd:before {
+  content: "\f0a0"; }
+
+.fa-heading:before {
+  content: "\f1dc"; }
+
+.fa-headphones:before {
+  content: "\f025"; }
+
+.fa-headphones-alt:before {
+  content: "\f58f"; }
+
+.fa-headset:before {
+  content: "\f590"; }
+
+.fa-heart:before {
+  content: "\f004"; }
+
+.fa-heart-broken:before {
+  content: "\f7a9"; }
+
+.fa-heartbeat:before {
+  content: "\f21e"; }
+
+.fa-helicopter:before {
+  content: "\f533"; }
+
+.fa-highlighter:before {
+  content: "\f591"; }
+
+.fa-hiking:before {
+  content: "\f6ec"; }
+
+.fa-hippo:before {
+  content: "\f6ed"; }
+
+.fa-hips:before {
+  content: "\f452"; }
+
+.fa-hire-a-helper:before {
+  content: "\f3b0"; }
+
+.fa-history:before {
+  content: "\f1da"; }
+
+.fa-hockey-puck:before {
+  content: "\f453"; }
+
+.fa-holly-berry:before {
+  content: "\f7aa"; }
+
+.fa-home:before {
+  content: "\f015"; }
+
+.fa-hooli:before {
+  content: "\f427"; }
+
+.fa-hornbill:before {
+  content: "\f592"; }
+
+.fa-horse:before {
+  content: "\f6f0"; }
+
+.fa-horse-head:before {
+  content: "\f7ab"; }
+
+.fa-hospital:before {
+  content: "\f0f8"; }
+
+.fa-hospital-alt:before {
+  content: "\f47d"; }
+
+.fa-hospital-symbol:before {
+  content: "\f47e"; }
+
+.fa-hot-tub:before {
+  content: "\f593"; }
+
+.fa-hotdog:before {
+  content: "\f80f"; }
+
+.fa-hotel:before {
+  content: "\f594"; }
+
+.fa-hotjar:before {
+  content: "\f3b1"; }
+
+.fa-hourglass:before {
+  content: "\f254"; }
+
+.fa-hourglass-end:before {
+  content: "\f253"; }
+
+.fa-hourglass-half:before {
+  content: "\f252"; }
+
+.fa-hourglass-start:before {
+  content: "\f251"; }
+
+.fa-house-damage:before {
+  content: "\f6f1"; }
+
+.fa-houzz:before {
+  content: "\f27c"; }
+
+.fa-hryvnia:before {
+  content: "\f6f2"; }
+
+.fa-html5:before {
+  content: "\f13b"; }
+
+.fa-hubspot:before {
+  content: "\f3b2"; }
+
+.fa-i-cursor:before {
+  content: "\f246"; }
+
+.fa-ice-cream:before {
+  content: "\f810"; }
+
+.fa-icicles:before {
+  content: "\f7ad"; }
+
+.fa-icons:before {
+  content: "\f86d"; }
+
+.fa-id-badge:before {
+  content: "\f2c1"; }
+
+.fa-id-card:before {
+  content: "\f2c2"; }
+
+.fa-id-card-alt:before {
+  content: "\f47f"; }
+
+.fa-igloo:before {
+  content: "\f7ae"; }
+
+.fa-image:before {
+  content: "\f03e"; }
+
+.fa-images:before {
+  content: "\f302"; }
+
+.fa-imdb:before {
+  content: "\f2d8"; }
+
+.fa-inbox:before {
+  content: "\f01c"; }
+
+.fa-indent:before {
+  content: "\f03c"; }
+
+.fa-industry:before {
+  content: "\f275"; }
+
+.fa-infinity:before {
+  content: "\f534"; }
+
+.fa-info:before {
+  content: "\f129"; }
+
+.fa-info-circle:before {
+  content: "\f05a"; }
+
+.fa-instagram:before {
+  content: "\f16d"; }
+
+.fa-intercom:before {
+  content: "\f7af"; }
+
+.fa-internet-explorer:before {
+  content: "\f26b"; }
+
+.fa-invision:before {
+  content: "\f7b0"; }
+
+.fa-ioxhost:before {
+  content: "\f208"; }
+
+.fa-italic:before {
+  content: "\f033"; }
+
+.fa-itch-io:before {
+  content: "\f83a"; }
+
+.fa-itunes:before {
+  content: "\f3b4"; }
+
+.fa-itunes-note:before {
+  content: "\f3b5"; }
+
+.fa-java:before {
+  content: "\f4e4"; }
+
+.fa-jedi:before {
+  content: "\f669"; }
+
+.fa-jedi-order:before {
+  content: "\f50e"; }
+
+.fa-jenkins:before {
+  content: "\f3b6"; }
+
+.fa-jira:before {
+  content: "\f7b1"; }
+
+.fa-joget:before {
+  content: "\f3b7"; }
+
+.fa-joint:before {
+  content: "\f595"; }
+
+.fa-joomla:before {
+  content: "\f1aa"; }
+
+.fa-journal-whills:before {
+  content: "\f66a"; }
+
+.fa-js:before {
+  content: "\f3b8"; }
+
+.fa-js-square:before {
+  content: "\f3b9"; }
+
+.fa-jsfiddle:before {
+  content: "\f1cc"; }
+
+.fa-kaaba:before {
+  content: "\f66b"; }
+
+.fa-kaggle:before {
+  content: "\f5fa"; }
+
+.fa-key:before {
+  content: "\f084"; }
+
+.fa-keybase:before {
+  content: "\f4f5"; }
+
+.fa-keyboard:before {
+  content: "\f11c"; }
+
+.fa-keycdn:before {
+  content: "\f3ba"; }
+
+.fa-khanda:before {
+  content: "\f66d"; }
+
+.fa-kickstarter:before {
+  content: "\f3bb"; }
+
+.fa-kickstarter-k:before {
+  content: "\f3bc"; }
+
+.fa-kiss:before {
+  content: "\f596"; }
+
+.fa-kiss-beam:before {
+  content: "\f597"; }
+
+.fa-kiss-wink-heart:before {
+  content: "\f598"; }
+
+.fa-kiwi-bird:before {
+  content: "\f535"; }
+
+.fa-korvue:before {
+  content: "\f42f"; }
+
+.fa-landmark:before {
+  content: "\f66f"; }
+
+.fa-language:before {
+  content: "\f1ab"; }
+
+.fa-laptop:before {
+  content: "\f109"; }
+
+.fa-laptop-code:before {
+  content: "\f5fc"; }
+
+.fa-laptop-medical:before {
+  content: "\f812"; }
+
+.fa-laravel:before {
+  content: "\f3bd"; }
+
+.fa-lastfm:before {
+  content: "\f202"; }
+
+.fa-lastfm-square:before {
+  content: "\f203"; }
+
+.fa-laugh:before {
+  content: "\f599"; }
+
+.fa-laugh-beam:before {
+  content: "\f59a"; }
+
+.fa-laugh-squint:before {
+  content: "\f59b"; }
+
+.fa-laugh-wink:before {
+  content: "\f59c"; }
+
+.fa-layer-group:before {
+  content: "\f5fd"; }
+
+.fa-leaf:before {
+  content: "\f06c"; }
+
+.fa-leanpub:before {
+  content: "\f212"; }
+
+.fa-lemon:before {
+  content: "\f094"; }
+
+.fa-less:before {
+  content: "\f41d"; }
+
+.fa-less-than:before {
+  content: "\f536"; }
+
+.fa-less-than-equal:before {
+  content: "\f537"; }
+
+.fa-level-down-alt:before {
+  content: "\f3be"; }
+
+.fa-level-up-alt:before {
+  content: "\f3bf"; }
+
+.fa-life-ring:before {
+  content: "\f1cd"; }
+
+.fa-lightbulb:before {
+  content: "\f0eb"; }
+
+.fa-line:before {
+  content: "\f3c0"; }
+
+.fa-link:before {
+  content: "\f0c1"; }
+
+.fa-linkedin:before {
+  content: "\f08c"; }
+
+.fa-linkedin-in:before {
+  content: "\f0e1"; }
+
+.fa-linode:before {
+  content: "\f2b8"; }
+
+.fa-linux:before {
+  content: "\f17c"; }
+
+.fa-lira-sign:before {
+  content: "\f195"; }
+
+.fa-list:before {
+  content: "\f03a"; }
+
+.fa-list-alt:before {
+  content: "\f022"; }
+
+.fa-list-ol:before {
+  content: "\f0cb"; }
+
+.fa-list-ul:before {
+  content: "\f0ca"; }
+
+.fa-location-arrow:before {
+  content: "\f124"; }
+
+.fa-lock:before {
+  content: "\f023"; }
+
+.fa-lock-open:before {
+  content: "\f3c1"; }
+
+.fa-long-arrow-alt-down:before {
+  content: "\f309"; }
+
+.fa-long-arrow-alt-left:before {
+  content: "\f30a"; }
+
+.fa-long-arrow-alt-right:before {
+  content: "\f30b"; }
+
+.fa-long-arrow-alt-up:before {
+  content: "\f30c"; }
+
+.fa-low-vision:before {
+  content: "\f2a8"; }
+
+.fa-luggage-cart:before {
+  content: "\f59d"; }
+
+.fa-lyft:before {
+  content: "\f3c3"; }
+
+.fa-magento:before {
+  content: "\f3c4"; }
+
+.fa-magic:before {
+  content: "\f0d0"; }
+
+.fa-magnet:before {
+  content: "\f076"; }
+
+.fa-mail-bulk:before {
+  content: "\f674"; }
+
+.fa-mailchimp:before {
+  content: "\f59e"; }
+
+.fa-male:before {
+  content: "\f183"; }
+
+.fa-mandalorian:before {
+  content: "\f50f"; }
+
+.fa-map:before {
+  content: "\f279"; }
+
+.fa-map-marked:before {
+  content: "\f59f"; }
+
+.fa-map-marked-alt:before {
+  content: "\f5a0"; }
+
+.fa-map-marker:before {
+  content: "\f041"; }
+
+.fa-map-marker-alt:before {
+  content: "\f3c5"; }
+
+.fa-map-pin:before {
+  content: "\f276"; }
+
+.fa-map-signs:before {
+  content: "\f277"; }
+
+.fa-markdown:before {
+  content: "\f60f"; }
+
+.fa-marker:before {
+  content: "\f5a1"; }
+
+.fa-mars:before {
+  content: "\f222"; }
+
+.fa-mars-double:before {
+  content: "\f227"; }
+
+.fa-mars-stroke:before {
+  content: "\f229"; }
+
+.fa-mars-stroke-h:before {
+  content: "\f22b"; }
+
+.fa-mars-stroke-v:before {
+  content: "\f22a"; }
+
+.fa-mask:before {
+  content: "\f6fa"; }
+
+.fa-mastodon:before {
+  content: "\f4f6"; }
+
+.fa-maxcdn:before {
+  content: "\f136"; }
+
+.fa-medal:before {
+  content: "\f5a2"; }
+
+.fa-medapps:before {
+  content: "\f3c6"; }
+
+.fa-medium:before {
+  content: "\f23a"; }
+
+.fa-medium-m:before {
+  content: "\f3c7"; }
+
+.fa-medkit:before {
+  content: "\f0fa"; }
+
+.fa-medrt:before {
+  content: "\f3c8"; }
+
+.fa-meetup:before {
+  content: "\f2e0"; }
+
+.fa-megaport:before {
+  content: "\f5a3"; }
+
+.fa-meh:before {
+  content: "\f11a"; }
+
+.fa-meh-blank:before {
+  content: "\f5a4"; }
+
+.fa-meh-rolling-eyes:before {
+  content: "\f5a5"; }
+
+.fa-memory:before {
+  content: "\f538"; }
+
+.fa-mendeley:before {
+  content: "\f7b3"; }
+
+.fa-menorah:before {
+  content: "\f676"; }
+
+.fa-mercury:before {
+  content: "\f223"; }
+
+.fa-meteor:before {
+  content: "\f753"; }
+
+.fa-microchip:before {
+  content: "\f2db"; }
+
+.fa-microphone:before {
+  content: "\f130"; }
+
+.fa-microphone-alt:before {
+  content: "\f3c9"; }
+
+.fa-microphone-alt-slash:before {
+  content: "\f539"; }
+
+.fa-microphone-slash:before {
+  content: "\f131"; }
+
+.fa-microscope:before {
+  content: "\f610"; }
+
+.fa-microsoft:before {
+  content: "\f3ca"; }
+
+.fa-minus:before {
+  content: "\f068"; }
+
+.fa-minus-circle:before {
+  content: "\f056"; }
+
+.fa-minus-square:before {
+  content: "\f146"; }
+
+.fa-mitten:before {
+  content: "\f7b5"; }
+
+.fa-mix:before {
+  content: "\f3cb"; }
+
+.fa-mixcloud:before {
+  content: "\f289"; }
+
+.fa-mizuni:before {
+  content: "\f3cc"; }
+
+.fa-mobile:before {
+  content: "\f10b"; }
+
+.fa-mobile-alt:before {
+  content: "\f3cd"; }
+
+.fa-modx:before {
+  content: "\f285"; }
+
+.fa-monero:before {
+  content: "\f3d0"; }
+
+.fa-money-bill:before {
+  content: "\f0d6"; }
+
+.fa-money-bill-alt:before {
+  content: "\f3d1"; }
+
+.fa-money-bill-wave:before {
+  content: "\f53a"; }
+
+.fa-money-bill-wave-alt:before {
+  content: "\f53b"; }
+
+.fa-money-check:before {
+  content: "\f53c"; }
+
+.fa-money-check-alt:before {
+  content: "\f53d"; }
+
+.fa-monument:before {
+  content: "\f5a6"; }
+
+.fa-moon:before {
+  content: "\f186"; }
+
+.fa-mortar-pestle:before {
+  content: "\f5a7"; }
+
+.fa-mosque:before {
+  content: "\f678"; }
+
+.fa-motorcycle:before {
+  content: "\f21c"; }
+
+.fa-mountain:before {
+  content: "\f6fc"; }
+
+.fa-mouse-pointer:before {
+  content: "\f245"; }
+
+.fa-mug-hot:before {
+  content: "\f7b6"; }
+
+.fa-music:before {
+  content: "\f001"; }
+
+.fa-napster:before {
+  content: "\f3d2"; }
+
+.fa-neos:before {
+  content: "\f612"; }
+
+.fa-network-wired:before {
+  content: "\f6ff"; }
+
+.fa-neuter:before {
+  content: "\f22c"; }
+
+.fa-newspaper:before {
+  content: "\f1ea"; }
+
+.fa-nimblr:before {
+  content: "\f5a8"; }
+
+.fa-node:before {
+  content: "\f419"; }
+
+.fa-node-js:before {
+  content: "\f3d3"; }
+
+.fa-not-equal:before {
+  content: "\f53e"; }
+
+.fa-notes-medical:before {
+  content: "\f481"; }
+
+.fa-npm:before {
+  content: "\f3d4"; }
+
+.fa-ns8:before {
+  content: "\f3d5"; }
+
+.fa-nutritionix:before {
+  content: "\f3d6"; }
+
+.fa-object-group:before {
+  content: "\f247"; }
+
+.fa-object-ungroup:before {
+  content: "\f248"; }
+
+.fa-odnoklassniki:before {
+  content: "\f263"; }
+
+.fa-odnoklassniki-square:before {
+  content: "\f264"; }
+
+.fa-oil-can:before {
+  content: "\f613"; }
+
+.fa-old-republic:before {
+  content: "\f510"; }
+
+.fa-om:before {
+  content: "\f679"; }
+
+.fa-opencart:before {
+  content: "\f23d"; }
+
+.fa-openid:before {
+  content: "\f19b"; }
+
+.fa-opera:before {
+  content: "\f26a"; }
+
+.fa-optin-monster:before {
+  content: "\f23c"; }
+
+.fa-osi:before {
+  content: "\f41a"; }
+
+.fa-otter:before {
+  content: "\f700"; }
+
+.fa-outdent:before {
+  content: "\f03b"; }
+
+.fa-page4:before {
+  content: "\f3d7"; }
+
+.fa-pagelines:before {
+  content: "\f18c"; }
+
+.fa-pager:before {
+  content: "\f815"; }
+
+.fa-paint-brush:before {
+  content: "\f1fc"; }
+
+.fa-paint-roller:before {
+  content: "\f5aa"; }
+
+.fa-palette:before {
+  content: "\f53f"; }
+
+.fa-palfed:before {
+  content: "\f3d8"; }
+
+.fa-pallet:before {
+  content: "\f482"; }
+
+.fa-paper-plane:before {
+  content: "\f1d8"; }
+
+.fa-paperclip:before {
+  content: "\f0c6"; }
+
+.fa-parachute-box:before {
+  content: "\f4cd"; }
+
+.fa-paragraph:before {
+  content: "\f1dd"; }
+
+.fa-parking:before {
+  content: "\f540"; }
+
+.fa-passport:before {
+  content: "\f5ab"; }
+
+.fa-pastafarianism:before {
+  content: "\f67b"; }
+
+.fa-paste:before {
+  content: "\f0ea"; }
+
+.fa-patreon:before {
+  content: "\f3d9"; }
+
+.fa-pause:before {
+  content: "\f04c"; }
+
+.fa-pause-circle:before {
+  content: "\f28b"; }
+
+.fa-paw:before {
+  content: "\f1b0"; }
+
+.fa-paypal:before {
+  content: "\f1ed"; }
+
+.fa-peace:before {
+  content: "\f67c"; }
+
+.fa-pen:before {
+  content: "\f304"; }
+
+.fa-pen-alt:before {
+  content: "\f305"; }
+
+.fa-pen-fancy:before {
+  content: "\f5ac"; }
+
+.fa-pen-nib:before {
+  content: "\f5ad"; }
+
+.fa-pen-square:before {
+  content: "\f14b"; }
+
+.fa-pencil-alt:before {
+  content: "\f303"; }
+
+.fa-pencil-ruler:before {
+  content: "\f5ae"; }
+
+.fa-penny-arcade:before {
+  content: "\f704"; }
+
+.fa-people-carry:before {
+  content: "\f4ce"; }
+
+.fa-pepper-hot:before {
+  content: "\f816"; }
+
+.fa-percent:before {
+  content: "\f295"; }
+
+.fa-percentage:before {
+  content: "\f541"; }
+
+.fa-periscope:before {
+  content: "\f3da"; }
+
+.fa-person-booth:before {
+  content: "\f756"; }
+
+.fa-phabricator:before {
+  content: "\f3db"; }
+
+.fa-phoenix-framework:before {
+  content: "\f3dc"; }
+
+.fa-phoenix-squadron:before {
+  content: "\f511"; }
+
+.fa-phone:before {
+  content: "\f095"; }
+
+.fa-phone-alt:before {
+  content: "\f879"; }
+
+.fa-phone-slash:before {
+  content: "\f3dd"; }
+
+.fa-phone-square:before {
+  content: "\f098"; }
+
+.fa-phone-square-alt:before {
+  content: "\f87b"; }
+
+.fa-phone-volume:before {
+  content: "\f2a0"; }
+
+.fa-photo-video:before {
+  content: "\f87c"; }
+
+.fa-php:before {
+  content: "\f457"; }
+
+.fa-pied-piper:before {
+  content: "\f2ae"; }
+
+.fa-pied-piper-alt:before {
+  content: "\f1a8"; }
+
+.fa-pied-piper-hat:before {
+  content: "\f4e5"; }
+
+.fa-pied-piper-pp:before {
+  content: "\f1a7"; }
+
+.fa-piggy-bank:before {
+  content: "\f4d3"; }
+
+.fa-pills:before {
+  content: "\f484"; }
+
+.fa-pinterest:before {
+  content: "\f0d2"; }
+
+.fa-pinterest-p:before {
+  content: "\f231"; }
+
+.fa-pinterest-square:before {
+  content: "\f0d3"; }
+
+.fa-pizza-slice:before {
+  content: "\f818"; }
+
+.fa-place-of-worship:before {
+  content: "\f67f"; }
+
+.fa-plane:before {
+  content: "\f072"; }
+
+.fa-plane-arrival:before {
+  content: "\f5af"; }
+
+.fa-plane-departure:before {
+  content: "\f5b0"; }
+
+.fa-play:before {
+  content: "\f04b"; }
+
+.fa-play-circle:before {
+  content: "\f144"; }
+
+.fa-playstation:before {
+  content: "\f3df"; }
+
+.fa-plug:before {
+  content: "\f1e6"; }
+
+.fa-plus:before {
+  content: "\f067"; }
+
+.fa-plus-circle:before {
+  content: "\f055"; }
+
+.fa-plus-square:before {
+  content: "\f0fe"; }
+
+.fa-podcast:before {
+  content: "\f2ce"; }
+
+.fa-poll:before {
+  content: "\f681"; }
+
+.fa-poll-h:before {
+  content: "\f682"; }
+
+.fa-poo:before {
+  content: "\f2fe"; }
+
+.fa-poo-storm:before {
+  content: "\f75a"; }
+
+.fa-poop:before {
+  content: "\f619"; }
+
+.fa-portrait:before {
+  content: "\f3e0"; }
+
+.fa-pound-sign:before {
+  content: "\f154"; }
+
+.fa-power-off:before {
+  content: "\f011"; }
+
+.fa-pray:before {
+  content: "\f683"; }
+
+.fa-praying-hands:before {
+  content: "\f684"; }
+
+.fa-prescription:before {
+  content: "\f5b1"; }
+
+.fa-prescription-bottle:before {
+  content: "\f485"; }
+
+.fa-prescription-bottle-alt:before {
+  content: "\f486"; }
+
+.fa-print:before {
+  content: "\f02f"; }
+
+.fa-procedures:before {
+  content: "\f487"; }
+
+.fa-product-hunt:before {
+  content: "\f288"; }
+
+.fa-project-diagram:before {
+  content: "\f542"; }
+
+.fa-pushed:before {
+  content: "\f3e1"; }
+
+.fa-puzzle-piece:before {
+  content: "\f12e"; }
+
+.fa-python:before {
+  content: "\f3e2"; }
+
+.fa-qq:before {
+  content: "\f1d6"; }
+
+.fa-qrcode:before {
+  content: "\f029"; }
+
+.fa-question:before {
+  content: "\f128"; }
+
+.fa-question-circle:before {
+  content: "\f059"; }
+
+.fa-quidditch:before {
+  content: "\f458"; }
+
+.fa-quinscape:before {
+  content: "\f459"; }
+
+.fa-quora:before {
+  content: "\f2c4"; }
+
+.fa-quote-left:before {
+  content: "\f10d"; }
+
+.fa-quote-right:before {
+  content: "\f10e"; }
+
+.fa-quran:before {
+  content: "\f687"; }
+
+.fa-r-project:before {
+  content: "\f4f7"; }
+
+.fa-radiation:before {
+  content: "\f7b9"; }
+
+.fa-radiation-alt:before {
+  content: "\f7ba"; }
+
+.fa-rainbow:before {
+  content: "\f75b"; }
+
+.fa-random:before {
+  content: "\f074"; }
+
+.fa-raspberry-pi:before {
+  content: "\f7bb"; }
+
+.fa-ravelry:before {
+  content: "\f2d9"; }
+
+.fa-react:before {
+  content: "\f41b"; }
+
+.fa-reacteurope:before {
+  content: "\f75d"; }
+
+.fa-readme:before {
+  content: "\f4d5"; }
+
+.fa-rebel:before {
+  content: "\f1d0"; }
+
+.fa-receipt:before {
+  content: "\f543"; }
+
+.fa-recycle:before {
+  content: "\f1b8"; }
+
+.fa-red-river:before {
+  content: "\f3e3"; }
+
+.fa-reddit:before {
+  content: "\f1a1"; }
+
+.fa-reddit-alien:before {
+  content: "\f281"; }
+
+.fa-reddit-square:before {
+  content: "\f1a2"; }
+
+.fa-redhat:before {
+  content: "\f7bc"; }
+
+.fa-redo:before {
+  content: "\f01e"; }
+
+.fa-redo-alt:before {
+  content: "\f2f9"; }
+
+.fa-registered:before {
+  content: "\f25d"; }
+
+.fa-remove-format:before {
+  content: "\f87d"; }
+
+.fa-renren:before {
+  content: "\f18b"; }
+
+.fa-reply:before {
+  content: "\f3e5"; }
+
+.fa-reply-all:before {
+  content: "\f122"; }
+
+.fa-replyd:before {
+  content: "\f3e6"; }
+
+.fa-republican:before {
+  content: "\f75e"; }
+
+.fa-researchgate:before {
+  content: "\f4f8"; }
+
+.fa-resolving:before {
+  content: "\f3e7"; }
+
+.fa-restroom:before {
+  content: "\f7bd"; }
+
+.fa-retweet:before {
+  content: "\f079"; }
+
+.fa-rev:before {
+  content: "\f5b2"; }
+
+.fa-ribbon:before {
+  content: "\f4d6"; }
+
+.fa-ring:before {
+  content: "\f70b"; }
+
+.fa-road:before {
+  content: "\f018"; }
+
+.fa-robot:before {
+  content: "\f544"; }
+
+.fa-rocket:before {
+  content: "\f135"; }
+
+.fa-rocketchat:before {
+  content: "\f3e8"; }
+
+.fa-rockrms:before {
+  content: "\f3e9"; }
+
+.fa-route:before {
+  content: "\f4d7"; }
+
+.fa-rss:before {
+  content: "\f09e"; }
+
+.fa-rss-square:before {
+  content: "\f143"; }
+
+.fa-ruble-sign:before {
+  content: "\f158"; }
+
+.fa-ruler:before {
+  content: "\f545"; }
+
+.fa-ruler-combined:before {
+  content: "\f546"; }
+
+.fa-ruler-horizontal:before {
+  content: "\f547"; }
+
+.fa-ruler-vertical:before {
+  content: "\f548"; }
+
+.fa-running:before {
+  content: "\f70c"; }
+
+.fa-rupee-sign:before {
+  content: "\f156"; }
+
+.fa-sad-cry:before {
+  content: "\f5b3"; }
+
+.fa-sad-tear:before {
+  content: "\f5b4"; }
+
+.fa-safari:before {
+  content: "\f267"; }
+
+.fa-salesforce:before {
+  content: "\f83b"; }
+
+.fa-sass:before {
+  content: "\f41e"; }
+
+.fa-satellite:before {
+  content: "\f7bf"; }
+
+.fa-satellite-dish:before {
+  content: "\f7c0"; }
+
+.fa-save:before {
+  content: "\f0c7"; }
+
+.fa-schlix:before {
+  content: "\f3ea"; }
+
+.fa-school:before {
+  content: "\f549"; }
+
+.fa-screwdriver:before {
+  content: "\f54a"; }
+
+.fa-scribd:before {
+  content: "\f28a"; }
+
+.fa-scroll:before {
+  content: "\f70e"; }
+
+.fa-sd-card:before {
+  content: "\f7c2"; }
+
+.fa-search:before {
+  content: "\f002"; }
+
+.fa-search-dollar:before {
+  content: "\f688"; }
+
+.fa-search-location:before {
+  content: "\f689"; }
+
+.fa-search-minus:before {
+  content: "\f010"; }
+
+.fa-search-plus:before {
+  content: "\f00e"; }
+
+.fa-searchengin:before {
+  content: "\f3eb"; }
+
+.fa-seedling:before {
+  content: "\f4d8"; }
+
+.fa-sellcast:before {
+  content: "\f2da"; }
+
+.fa-sellsy:before {
+  content: "\f213"; }
+
+.fa-server:before {
+  content: "\f233"; }
+
+.fa-servicestack:before {
+  content: "\f3ec"; }
+
+.fa-shapes:before {
+  content: "\f61f"; }
+
+.fa-share:before {
+  content: "\f064"; }
+
+.fa-share-alt:before {
+  content: "\f1e0"; }
+
+.fa-share-alt-square:before {
+  content: "\f1e1"; }
+
+.fa-share-square:before {
+  content: "\f14d"; }
+
+.fa-shekel-sign:before {
+  content: "\f20b"; }
+
+.fa-shield-alt:before {
+  content: "\f3ed"; }
+
+.fa-ship:before {
+  content: "\f21a"; }
+
+.fa-shipping-fast:before {
+  content: "\f48b"; }
+
+.fa-shirtsinbulk:before {
+  content: "\f214"; }
+
+.fa-shoe-prints:before {
+  content: "\f54b"; }
+
+.fa-shopping-bag:before {
+  content: "\f290"; }
+
+.fa-shopping-basket:before {
+  content: "\f291"; }
+
+.fa-shopping-cart:before {
+  content: "\f07a"; }
+
+.fa-shopware:before {
+  content: "\f5b5"; }
+
+.fa-shower:before {
+  content: "\f2cc"; }
+
+.fa-shuttle-van:before {
+  content: "\f5b6"; }
+
+.fa-sign:before {
+  content: "\f4d9"; }
+
+.fa-sign-in-alt:before {
+  content: "\f2f6"; }
+
+.fa-sign-language:before {
+  content: "\f2a7"; }
+
+.fa-sign-out-alt:before {
+  content: "\f2f5"; }
+
+.fa-signal:before {
+  content: "\f012"; }
+
+.fa-signature:before {
+  content: "\f5b7"; }
+
+.fa-sim-card:before {
+  content: "\f7c4"; }
+
+.fa-simplybuilt:before {
+  content: "\f215"; }
+
+.fa-sistrix:before {
+  content: "\f3ee"; }
+
+.fa-sitemap:before {
+  content: "\f0e8"; }
+
+.fa-sith:before {
+  content: "\f512"; }
+
+.fa-skating:before {
+  content: "\f7c5"; }
+
+.fa-sketch:before {
+  content: "\f7c6"; }
+
+.fa-skiing:before {
+  content: "\f7c9"; }
+
+.fa-skiing-nordic:before {
+  content: "\f7ca"; }
+
+.fa-skull:before {
+  content: "\f54c"; }
+
+.fa-skull-crossbones:before {
+  content: "\f714"; }
+
+.fa-skyatlas:before {
+  content: "\f216"; }
+
+.fa-skype:before {
+  content: "\f17e"; }
+
+.fa-slack:before {
+  content: "\f198"; }
+
+.fa-slack-hash:before {
+  content: "\f3ef"; }
+
+.fa-slash:before {
+  content: "\f715"; }
+
+.fa-sleigh:before {
+  content: "\f7cc"; }
+
+.fa-sliders-h:before {
+  content: "\f1de"; }
+
+.fa-slideshare:before {
+  content: "\f1e7"; }
+
+.fa-smile:before {
+  content: "\f118"; }
+
+.fa-smile-beam:before {
+  content: "\f5b8"; }
+
+.fa-smile-wink:before {
+  content: "\f4da"; }
+
+.fa-smog:before {
+  content: "\f75f"; }
+
+.fa-smoking:before {
+  content: "\f48d"; }
+
+.fa-smoking-ban:before {
+  content: "\f54d"; }
+
+.fa-sms:before {
+  content: "\f7cd"; }
+
+.fa-snapchat:before {
+  content: "\f2ab"; }
+
+.fa-snapchat-ghost:before {
+  content: "\f2ac"; }
+
+.fa-snapchat-square:before {
+  content: "\f2ad"; }
+
+.fa-snowboarding:before {
+  content: "\f7ce"; }
+
+.fa-snowflake:before {
+  content: "\f2dc"; }
+
+.fa-snowman:before {
+  content: "\f7d0"; }
+
+.fa-snowplow:before {
+  content: "\f7d2"; }
+
+.fa-socks:before {
+  content: "\f696"; }
+
+.fa-solar-panel:before {
+  content: "\f5ba"; }
+
+.fa-sort:before {
+  content: "\f0dc"; }
+
+.fa-sort-alpha-down:before {
+  content: "\f15d"; }
+
+.fa-sort-alpha-down-alt:before {
+  content: "\f881"; }
+
+.fa-sort-alpha-up:before {
+  content: "\f15e"; }
+
+.fa-sort-alpha-up-alt:before {
+  content: "\f882"; }
+
+.fa-sort-amount-down:before {
+  content: "\f160"; }
+
+.fa-sort-amount-down-alt:before {
+  content: "\f884"; }
+
+.fa-sort-amount-up:before {
+  content: "\f161"; }
+
+.fa-sort-amount-up-alt:before {
+  content: "\f885"; }
+
+.fa-sort-down:before {
+  content: "\f0dd"; }
+
+.fa-sort-numeric-down:before {
+  content: "\f162"; }
+
+.fa-sort-numeric-down-alt:before {
+  content: "\f886"; }
+
+.fa-sort-numeric-up:before {
+  content: "\f163"; }
+
+.fa-sort-numeric-up-alt:before {
+  content: "\f887"; }
+
+.fa-sort-up:before {
+  content: "\f0de"; }
+
+.fa-soundcloud:before {
+  content: "\f1be"; }
+
+.fa-sourcetree:before {
+  content: "\f7d3"; }
+
+.fa-spa:before {
+  content: "\f5bb"; }
+
+.fa-space-shuttle:before {
+  content: "\f197"; }
+
+.fa-speakap:before {
+  content: "\f3f3"; }
+
+.fa-speaker-deck:before {
+  content: "\f83c"; }
+
+.fa-spell-check:before {
+  content: "\f891"; }
+
+.fa-spider:before {
+  content: "\f717"; }
+
+.fa-spinner:before {
+  content: "\f110"; }
+
+.fa-splotch:before {
+  content: "\f5bc"; }
+
+.fa-spotify:before {
+  content: "\f1bc"; }
+
+.fa-spray-can:before {
+  content: "\f5bd"; }
+
+.fa-square:before {
+  content: "\f0c8"; }
+
+.fa-square-full:before {
+  content: "\f45c"; }
+
+.fa-square-root-alt:before {
+  content: "\f698"; }
+
+.fa-squarespace:before {
+  content: "\f5be"; }
+
+.fa-stack-exchange:before {
+  content: "\f18d"; }
+
+.fa-stack-overflow:before {
+  content: "\f16c"; }
+
+.fa-stackpath:before {
+  content: "\f842"; }
+
+.fa-stamp:before {
+  content: "\f5bf"; }
+
+.fa-star:before {
+  content: "\f005"; }
+
+.fa-star-and-crescent:before {
+  content: "\f699"; }
+
+.fa-star-half:before {
+  content: "\f089"; }
+
+.fa-star-half-alt:before {
+  content: "\f5c0"; }
+
+.fa-star-of-david:before {
+  content: "\f69a"; }
+
+.fa-star-of-life:before {
+  content: "\f621"; }
+
+.fa-staylinked:before {
+  content: "\f3f5"; }
+
+.fa-steam:before {
+  content: "\f1b6"; }
+
+.fa-steam-square:before {
+  content: "\f1b7"; }
+
+.fa-steam-symbol:before {
+  content: "\f3f6"; }
+
+.fa-step-backward:before {
+  content: "\f048"; }
+
+.fa-step-forward:before {
+  content: "\f051"; }
+
+.fa-stethoscope:before {
+  content: "\f0f1"; }
+
+.fa-sticker-mule:before {
+  content: "\f3f7"; }
+
+.fa-sticky-note:before {
+  content: "\f249"; }
+
+.fa-stop:before {
+  content: "\f04d"; }
+
+.fa-stop-circle:before {
+  content: "\f28d"; }
+
+.fa-stopwatch:before {
+  content: "\f2f2"; }
+
+.fa-store:before {
+  content: "\f54e"; }
+
+.fa-store-alt:before {
+  content: "\f54f"; }
+
+.fa-strava:before {
+  content: "\f428"; }
+
+.fa-stream:before {
+  content: "\f550"; }
+
+.fa-street-view:before {
+  content: "\f21d"; }
+
+.fa-strikethrough:before {
+  content: "\f0cc"; }
+
+.fa-stripe:before {
+  content: "\f429"; }
+
+.fa-stripe-s:before {
+  content: "\f42a"; }
+
+.fa-stroopwafel:before {
+  content: "\f551"; }
+
+.fa-studiovinari:before {
+  content: "\f3f8"; }
+
+.fa-stumbleupon:before {
+  content: "\f1a4"; }
+
+.fa-stumbleupon-circle:before {
+  content: "\f1a3"; }
+
+.fa-subscript:before {
+  content: "\f12c"; }
+
+.fa-subway:before {
+  content: "\f239"; }
+
+.fa-suitcase:before {
+  content: "\f0f2"; }
+
+.fa-suitcase-rolling:before {
+  content: "\f5c1"; }
+
+.fa-sun:before {
+  content: "\f185"; }
+
+.fa-superpowers:before {
+  content: "\f2dd"; }
+
+.fa-superscript:before {
+  content: "\f12b"; }
+
+.fa-supple:before {
+  content: "\f3f9"; }
+
+.fa-surprise:before {
+  content: "\f5c2"; }
+
+.fa-suse:before {
+  content: "\f7d6"; }
+
+.fa-swatchbook:before {
+  content: "\f5c3"; }
+
+.fa-swimmer:before {
+  content: "\f5c4"; }
+
+.fa-swimming-pool:before {
+  content: "\f5c5"; }
+
+.fa-symfony:before {
+  content: "\f83d"; }
+
+.fa-synagogue:before {
+  content: "\f69b"; }
+
+.fa-sync:before {
+  content: "\f021"; }
+
+.fa-sync-alt:before {
+  content: "\f2f1"; }
+
+.fa-syringe:before {
+  content: "\f48e"; }
+
+.fa-table:before {
+  content: "\f0ce"; }
+
+.fa-table-tennis:before {
+  content: "\f45d"; }
+
+.fa-tablet:before {
+  content: "\f10a"; }
+
+.fa-tablet-alt:before {
+  content: "\f3fa"; }
+
+.fa-tablets:before {
+  content: "\f490"; }
+
+.fa-tachometer-alt:before {
+  content: "\f3fd"; }
+
+.fa-tag:before {
+  content: "\f02b"; }
+
+.fa-tags:before {
+  content: "\f02c"; }
+
+.fa-tape:before {
+  content: "\f4db"; }
+
+.fa-tasks:before {
+  content: "\f0ae"; }
+
+.fa-taxi:before {
+  content: "\f1ba"; }
+
+.fa-teamspeak:before {
+  content: "\f4f9"; }
+
+.fa-teeth:before {
+  content: "\f62e"; }
+
+.fa-teeth-open:before {
+  content: "\f62f"; }
+
+.fa-telegram:before {
+  content: "\f2c6"; }
+
+.fa-telegram-plane:before {
+  content: "\f3fe"; }
+
+.fa-temperature-high:before {
+  content: "\f769"; }
+
+.fa-temperature-low:before {
+  content: "\f76b"; }
+
+.fa-tencent-weibo:before {
+  content: "\f1d5"; }
+
+.fa-tenge:before {
+  content: "\f7d7"; }
+
+.fa-terminal:before {
+  content: "\f120"; }
+
+.fa-text-height:before {
+  content: "\f034"; }
+
+.fa-text-width:before {
+  content: "\f035"; }
+
+.fa-th:before {
+  content: "\f00a"; }
+
+.fa-th-large:before {
+  content: "\f009"; }
+
+.fa-th-list:before {
+  content: "\f00b"; }
+
+.fa-the-red-yeti:before {
+  content: "\f69d"; }
+
+.fa-theater-masks:before {
+  content: "\f630"; }
+
+.fa-themeco:before {
+  content: "\f5c6"; }
+
+.fa-themeisle:before {
+  content: "\f2b2"; }
+
+.fa-thermometer:before {
+  content: "\f491"; }
+
+.fa-thermometer-empty:before {
+  content: "\f2cb"; }
+
+.fa-thermometer-full:before {
+  content: "\f2c7"; }
+
+.fa-thermometer-half:before {
+  content: "\f2c9"; }
+
+.fa-thermometer-quarter:before {
+  content: "\f2ca"; }
+
+.fa-thermometer-three-quarters:before {
+  content: "\f2c8"; }
+
+.fa-think-peaks:before {
+  content: "\f731"; }
+
+.fa-thumbs-down:before {
+  content: "\f165"; }
+
+.fa-thumbs-up:before {
+  content: "\f164"; }
+
+.fa-thumbtack:before {
+  content: "\f08d"; }
+
+.fa-ticket-alt:before {
+  content: "\f3ff"; }
+
+.fa-times:before {
+  content: "\f00d"; }
+
+.fa-times-circle:before {
+  content: "\f057"; }
+
+.fa-tint:before {
+  content: "\f043"; }
+
+.fa-tint-slash:before {
+  content: "\f5c7"; }
+
+.fa-tired:before {
+  content: "\f5c8"; }
+
+.fa-toggle-off:before {
+  content: "\f204"; }
+
+.fa-toggle-on:before {
+  content: "\f205"; }
+
+.fa-toilet:before {
+  content: "\f7d8"; }
+
+.fa-toilet-paper:before {
+  content: "\f71e"; }
+
+.fa-toolbox:before {
+  content: "\f552"; }
+
+.fa-tools:before {
+  content: "\f7d9"; }
+
+.fa-tooth:before {
+  content: "\f5c9"; }
+
+.fa-torah:before {
+  content: "\f6a0"; }
+
+.fa-torii-gate:before {
+  content: "\f6a1"; }
+
+.fa-tractor:before {
+  content: "\f722"; }
+
+.fa-trade-federation:before {
+  content: "\f513"; }
+
+.fa-trademark:before {
+  content: "\f25c"; }
+
+.fa-traffic-light:before {
+  content: "\f637"; }
+
+.fa-train:before {
+  content: "\f238"; }
+
+.fa-tram:before {
+  content: "\f7da"; }
+
+.fa-transgender:before {
+  content: "\f224"; }
+
+.fa-transgender-alt:before {
+  content: "\f225"; }
+
+.fa-trash:before {
+  content: "\f1f8"; }
+
+.fa-trash-alt:before {
+  content: "\f2ed"; }
+
+.fa-trash-restore:before {
+  content: "\f829"; }
+
+.fa-trash-restore-alt:before {
+  content: "\f82a"; }
+
+.fa-tree:before {
+  content: "\f1bb"; }
+
+.fa-trello:before {
+  content: "\f181"; }
+
+.fa-tripadvisor:before {
+  content: "\f262"; }
+
+.fa-trophy:before {
+  content: "\f091"; }
+
+.fa-truck:before {
+  content: "\f0d1"; }
+
+.fa-truck-loading:before {
+  content: "\f4de"; }
+
+.fa-truck-monster:before {
+  content: "\f63b"; }
+
+.fa-truck-moving:before {
+  content: "\f4df"; }
+
+.fa-truck-pickup:before {
+  content: "\f63c"; }
+
+.fa-tshirt:before {
+  content: "\f553"; }
+
+.fa-tty:before {
+  content: "\f1e4"; }
+
+.fa-tumblr:before {
+  content: "\f173"; }
+
+.fa-tumblr-square:before {
+  content: "\f174"; }
+
+.fa-tv:before {
+  content: "\f26c"; }
+
+.fa-twitch:before {
+  content: "\f1e8"; }
+
+.fa-twitter:before {
+  content: "\f099"; }
+
+.fa-twitter-square:before {
+  content: "\f081"; }
+
+.fa-typo3:before {
+  content: "\f42b"; }
+
+.fa-uber:before {
+  content: "\f402"; }
+
+.fa-ubuntu:before {
+  content: "\f7df"; }
+
+.fa-uikit:before {
+  content: "\f403"; }
+
+.fa-umbrella:before {
+  content: "\f0e9"; }
+
+.fa-umbrella-beach:before {
+  content: "\f5ca"; }
+
+.fa-underline:before {
+  content: "\f0cd"; }
+
+.fa-undo:before {
+  content: "\f0e2"; }
+
+.fa-undo-alt:before {
+  content: "\f2ea"; }
+
+.fa-uniregistry:before {
+  content: "\f404"; }
+
+.fa-universal-access:before {
+  content: "\f29a"; }
+
+.fa-university:before {
+  content: "\f19c"; }
+
+.fa-unlink:before {
+  content: "\f127"; }
+
+.fa-unlock:before {
+  content: "\f09c"; }
+
+.fa-unlock-alt:before {
+  content: "\f13e"; }
+
+.fa-untappd:before {
+  content: "\f405"; }
+
+.fa-upload:before {
+  content: "\f093"; }
+
+.fa-ups:before {
+  content: "\f7e0"; }
+
+.fa-usb:before {
+  content: "\f287"; }
+
+.fa-user:before {
+  content: "\f007"; }
+
+.fa-user-alt:before {
+  content: "\f406"; }
+
+.fa-user-alt-slash:before {
+  content: "\f4fa"; }
+
+.fa-user-astronaut:before {
+  content: "\f4fb"; }
+
+.fa-user-check:before {
+  content: "\f4fc"; }
+
+.fa-user-circle:before {
+  content: "\f2bd"; }
+
+.fa-user-clock:before {
+  content: "\f4fd"; }
+
+.fa-user-cog:before {
+  content: "\f4fe"; }
+
+.fa-user-edit:before {
+  content: "\f4ff"; }
+
+.fa-user-friends:before {
+  content: "\f500"; }
+
+.fa-user-graduate:before {
+  content: "\f501"; }
+
+.fa-user-injured:before {
+  content: "\f728"; }
+
+.fa-user-lock:before {
+  content: "\f502"; }
+
+.fa-user-md:before {
+  content: "\f0f0"; }
+
+.fa-user-minus:before {
+  content: "\f503"; }
+
+.fa-user-ninja:before {
+  content: "\f504"; }
+
+.fa-user-nurse:before {
+  content: "\f82f"; }
+
+.fa-user-plus:before {
+  content: "\f234"; }
+
+.fa-user-secret:before {
+  content: "\f21b"; }
+
+.fa-user-shield:before {
+  content: "\f505"; }
+
+.fa-user-slash:before {
+  content: "\f506"; }
+
+.fa-user-tag:before {
+  content: "\f507"; }
+
+.fa-user-tie:before {
+  content: "\f508"; }
+
+.fa-user-times:before {
+  content: "\f235"; }
+
+.fa-users:before {
+  content: "\f0c0"; }
+
+.fa-users-cog:before {
+  content: "\f509"; }
+
+.fa-usps:before {
+  content: "\f7e1"; }
+
+.fa-ussunnah:before {
+  content: "\f407"; }
+
+.fa-utensil-spoon:before {
+  content: "\f2e5"; }
+
+.fa-utensils:before {
+  content: "\f2e7"; }
+
+.fa-vaadin:before {
+  content: "\f408"; }
+
+.fa-vector-square:before {
+  content: "\f5cb"; }
+
+.fa-venus:before {
+  content: "\f221"; }
+
+.fa-venus-double:before {
+  content: "\f226"; }
+
+.fa-venus-mars:before {
+  content: "\f228"; }
+
+.fa-viacoin:before {
+  content: "\f237"; }
+
+.fa-viadeo:before {
+  content: "\f2a9"; }
+
+.fa-viadeo-square:before {
+  content: "\f2aa"; }
+
+.fa-vial:before {
+  content: "\f492"; }
+
+.fa-vials:before {
+  content: "\f493"; }
+
+.fa-viber:before {
+  content: "\f409"; }
+
+.fa-video:before {
+  content: "\f03d"; }
+
+.fa-video-slash:before {
+  content: "\f4e2"; }
+
+.fa-vihara:before {
+  content: "\f6a7"; }
+
+.fa-vimeo:before {
+  content: "\f40a"; }
+
+.fa-vimeo-square:before {
+  content: "\f194"; }
+
+.fa-vimeo-v:before {
+  content: "\f27d"; }
+
+.fa-vine:before {
+  content: "\f1ca"; }
+
+.fa-vk:before {
+  content: "\f189"; }
+
+.fa-vnv:before {
+  content: "\f40b"; }
+
+.fa-voicemail:before {
+  content: "\f897"; }
+
+.fa-volleyball-ball:before {
+  content: "\f45f"; }
+
+.fa-volume-down:before {
+  content: "\f027"; }
+
+.fa-volume-mute:before {
+  content: "\f6a9"; }
+
+.fa-volume-off:before {
+  content: "\f026"; }
+
+.fa-volume-up:before {
+  content: "\f028"; }
+
+.fa-vote-yea:before {
+  content: "\f772"; }
+
+.fa-vr-cardboard:before {
+  content: "\f729"; }
+
+.fa-vuejs:before {
+  content: "\f41f"; }
+
+.fa-walking:before {
+  content: "\f554"; }
+
+.fa-wallet:before {
+  content: "\f555"; }
+
+.fa-warehouse:before {
+  content: "\f494"; }
+
+.fa-water:before {
+  content: "\f773"; }
+
+.fa-wave-square:before {
+  content: "\f83e"; }
+
+.fa-waze:before {
+  content: "\f83f"; }
+
+.fa-weebly:before {
+  content: "\f5cc"; }
+
+.fa-weibo:before {
+  content: "\f18a"; }
+
+.fa-weight:before {
+  content: "\f496"; }
+
+.fa-weight-hanging:before {
+  content: "\f5cd"; }
+
+.fa-weixin:before {
+  content: "\f1d7"; }
+
+.fa-whatsapp:before {
+  content: "\f232"; }
+
+.fa-whatsapp-square:before {
+  content: "\f40c"; }
+
+.fa-wheelchair:before {
+  content: "\f193"; }
+
+.fa-whmcs:before {
+  content: "\f40d"; }
+
+.fa-wifi:before {
+  content: "\f1eb"; }
+
+.fa-wikipedia-w:before {
+  content: "\f266"; }
+
+.fa-wind:before {
+  content: "\f72e"; }
+
+.fa-window-close:before {
+  content: "\f410"; }
+
+.fa-window-maximize:before {
+  content: "\f2d0"; }
+
+.fa-window-minimize:before {
+  content: "\f2d1"; }
+
+.fa-window-restore:before {
+  content: "\f2d2"; }
+
+.fa-windows:before {
+  content: "\f17a"; }
+
+.fa-wine-bottle:before {
+  content: "\f72f"; }
+
+.fa-wine-glass:before {
+  content: "\f4e3"; }
+
+.fa-wine-glass-alt:before {
+  content: "\f5ce"; }
+
+.fa-wix:before {
+  content: "\f5cf"; }
+
+.fa-wizards-of-the-coast:before {
+  content: "\f730"; }
+
+.fa-wolf-pack-battalion:before {
+  content: "\f514"; }
+
+.fa-won-sign:before {
+  content: "\f159"; }
+
+.fa-wordpress:before {
+  content: "\f19a"; }
+
+.fa-wordpress-simple:before {
+  content: "\f411"; }
+
+.fa-wpbeginner:before {
+  content: "\f297"; }
+
+.fa-wpexplorer:before {
+  content: "\f2de"; }
+
+.fa-wpforms:before {
+  content: "\f298"; }
+
+.fa-wpressr:before {
+  content: "\f3e4"; }
+
+.fa-wrench:before {
+  content: "\f0ad"; }
+
+.fa-x-ray:before {
+  content: "\f497"; }
+
+.fa-xbox:before {
+  content: "\f412"; }
+
+.fa-xing:before {
+  content: "\f168"; }
+
+.fa-xing-square:before {
+  content: "\f169"; }
+
+.fa-y-combinator:before {
+  content: "\f23b"; }
+
+.fa-yahoo:before {
+  content: "\f19e"; }
+
+.fa-yammer:before {
+  content: "\f840"; }
+
+.fa-yandex:before {
+  content: "\f413"; }
+
+.fa-yandex-international:before {
+  content: "\f414"; }
+
+.fa-yarn:before {
+  content: "\f7e3"; }
+
+.fa-yelp:before {
+  content: "\f1e9"; }
+
+.fa-yen-sign:before {
+  content: "\f157"; }
+
+.fa-yin-yang:before {
+  content: "\f6ad"; }
+
+.fa-yoast:before {
+  content: "\f2b1"; }
+
+.fa-youtube:before {
+  content: "\f167"; }
+
+.fa-youtube-square:before {
+  content: "\f431"; }
+
+.fa-zhihu:before {
+  content: "\f63f"; }
+
+.sr-only {
+  border: 0;
+  clip: rect(0, 0, 0, 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  clip: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  position: static;
+  width: auto; }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/css/fontawesome.min.css


+ 15 - 0
resources/fontawesome/css/regular.css

@@ -0,0 +1,15 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url("../webfonts/fa-regular-400.eot");
+  src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
+
+.far {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }

+ 5 - 0
resources/fontawesome/css/regular.min.css

@@ -0,0 +1,5 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}

+ 16 - 0
resources/fontawesome/css/solid.css

@@ -0,0 +1,16 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 900;
+  font-display: auto;
+  src: url("../webfonts/fa-solid-900.eot");
+  src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
+
+.fa,
+.fas {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 900; }

+ 5 - 0
resources/fontawesome/css/solid.min.css

@@ -0,0 +1,5 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}

+ 371 - 0
resources/fontawesome/css/svg-with-js.css

@@ -0,0 +1,371 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+svg:not(:root).svg-inline--fa {
+  overflow: visible; }
+
+.svg-inline--fa {
+  display: inline-block;
+  font-size: inherit;
+  height: 1em;
+  overflow: visible;
+  vertical-align: -.125em; }
+  .svg-inline--fa.fa-lg {
+    vertical-align: -.225em; }
+  .svg-inline--fa.fa-w-1 {
+    width: 0.0625em; }
+  .svg-inline--fa.fa-w-2 {
+    width: 0.125em; }
+  .svg-inline--fa.fa-w-3 {
+    width: 0.1875em; }
+  .svg-inline--fa.fa-w-4 {
+    width: 0.25em; }
+  .svg-inline--fa.fa-w-5 {
+    width: 0.3125em; }
+  .svg-inline--fa.fa-w-6 {
+    width: 0.375em; }
+  .svg-inline--fa.fa-w-7 {
+    width: 0.4375em; }
+  .svg-inline--fa.fa-w-8 {
+    width: 0.5em; }
+  .svg-inline--fa.fa-w-9 {
+    width: 0.5625em; }
+  .svg-inline--fa.fa-w-10 {
+    width: 0.625em; }
+  .svg-inline--fa.fa-w-11 {
+    width: 0.6875em; }
+  .svg-inline--fa.fa-w-12 {
+    width: 0.75em; }
+  .svg-inline--fa.fa-w-13 {
+    width: 0.8125em; }
+  .svg-inline--fa.fa-w-14 {
+    width: 0.875em; }
+  .svg-inline--fa.fa-w-15 {
+    width: 0.9375em; }
+  .svg-inline--fa.fa-w-16 {
+    width: 1em; }
+  .svg-inline--fa.fa-w-17 {
+    width: 1.0625em; }
+  .svg-inline--fa.fa-w-18 {
+    width: 1.125em; }
+  .svg-inline--fa.fa-w-19 {
+    width: 1.1875em; }
+  .svg-inline--fa.fa-w-20 {
+    width: 1.25em; }
+  .svg-inline--fa.fa-pull-left {
+    margin-right: .3em;
+    width: auto; }
+  .svg-inline--fa.fa-pull-right {
+    margin-left: .3em;
+    width: auto; }
+  .svg-inline--fa.fa-border {
+    height: 1.5em; }
+  .svg-inline--fa.fa-li {
+    width: 2em; }
+  .svg-inline--fa.fa-fw {
+    width: 1.25em; }
+
+.fa-layers svg.svg-inline--fa {
+  bottom: 0;
+  left: 0;
+  margin: auto;
+  position: absolute;
+  right: 0;
+  top: 0; }
+
+.fa-layers {
+  display: inline-block;
+  height: 1em;
+  position: relative;
+  text-align: center;
+  vertical-align: -.125em;
+  width: 1em; }
+  .fa-layers svg.svg-inline--fa {
+    -webkit-transform-origin: center center;
+            transform-origin: center center; }
+
+.fa-layers-text, .fa-layers-counter {
+  display: inline-block;
+  position: absolute;
+  text-align: center; }
+
+.fa-layers-text {
+  left: 50%;
+  top: 50%;
+  -webkit-transform: translate(-50%, -50%);
+          transform: translate(-50%, -50%);
+  -webkit-transform-origin: center center;
+          transform-origin: center center; }
+
+.fa-layers-counter {
+  background-color: #ff253a;
+  border-radius: 1em;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  color: #fff;
+  height: 1.5em;
+  line-height: 1;
+  max-width: 5em;
+  min-width: 1.5em;
+  overflow: hidden;
+  padding: .25em;
+  right: 0;
+  text-overflow: ellipsis;
+  top: 0;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: top right;
+          transform-origin: top right; }
+
+.fa-layers-bottom-right {
+  bottom: 0;
+  right: 0;
+  top: auto;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: bottom right;
+          transform-origin: bottom right; }
+
+.fa-layers-bottom-left {
+  bottom: 0;
+  left: 0;
+  right: auto;
+  top: auto;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: bottom left;
+          transform-origin: bottom left; }
+
+.fa-layers-top-right {
+  right: 0;
+  top: 0;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: top right;
+          transform-origin: top right; }
+
+.fa-layers-top-left {
+  left: 0;
+  right: auto;
+  top: 0;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: top left;
+          transform-origin: top left; }
+
+.fa-lg {
+  font-size: 1.33333em;
+  line-height: 0.75em;
+  vertical-align: -.0667em; }
+
+.fa-xs {
+  font-size: .75em; }
+
+.fa-sm {
+  font-size: .875em; }
+
+.fa-1x {
+  font-size: 1em; }
+
+.fa-2x {
+  font-size: 2em; }
+
+.fa-3x {
+  font-size: 3em; }
+
+.fa-4x {
+  font-size: 4em; }
+
+.fa-5x {
+  font-size: 5em; }
+
+.fa-6x {
+  font-size: 6em; }
+
+.fa-7x {
+  font-size: 7em; }
+
+.fa-8x {
+  font-size: 8em; }
+
+.fa-9x {
+  font-size: 9em; }
+
+.fa-10x {
+  font-size: 10em; }
+
+.fa-fw {
+  text-align: center;
+  width: 1.25em; }
+
+.fa-ul {
+  list-style-type: none;
+  margin-left: 2.5em;
+  padding-left: 0; }
+  .fa-ul > li {
+    position: relative; }
+
+.fa-li {
+  left: -2em;
+  position: absolute;
+  text-align: center;
+  width: 2em;
+  line-height: inherit; }
+
+.fa-border {
+  border: solid 0.08em #eee;
+  border-radius: .1em;
+  padding: .2em .25em .15em; }
+
+.fa-pull-left {
+  float: left; }
+
+.fa-pull-right {
+  float: right; }
+
+.fa.fa-pull-left,
+.fas.fa-pull-left,
+.far.fa-pull-left,
+.fal.fa-pull-left,
+.fab.fa-pull-left {
+  margin-right: .3em; }
+
+.fa.fa-pull-right,
+.fas.fa-pull-right,
+.far.fa-pull-right,
+.fal.fa-pull-right,
+.fab.fa-pull-right {
+  margin-left: .3em; }
+
+.fa-spin {
+  -webkit-animation: fa-spin 2s infinite linear;
+          animation: fa-spin 2s infinite linear; }
+
+.fa-pulse {
+  -webkit-animation: fa-spin 1s infinite steps(8);
+          animation: fa-spin 1s infinite steps(8); }
+
+@-webkit-keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+@keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+.fa-rotate-90 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
+  -webkit-transform: rotate(90deg);
+          transform: rotate(90deg); }
+
+.fa-rotate-180 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
+  -webkit-transform: rotate(180deg);
+          transform: rotate(180deg); }
+
+.fa-rotate-270 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
+  -webkit-transform: rotate(270deg);
+          transform: rotate(270deg); }
+
+.fa-flip-horizontal {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
+  -webkit-transform: scale(-1, 1);
+          transform: scale(-1, 1); }
+
+.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(1, -1);
+          transform: scale(1, -1); }
+
+.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(-1, -1);
+          transform: scale(-1, -1); }
+
+:root .fa-rotate-90,
+:root .fa-rotate-180,
+:root .fa-rotate-270,
+:root .fa-flip-horizontal,
+:root .fa-flip-vertical,
+:root .fa-flip-both {
+  -webkit-filter: none;
+          filter: none; }
+
+.fa-stack {
+  display: inline-block;
+  height: 2em;
+  position: relative;
+  width: 2.5em; }
+
+.fa-stack-1x,
+.fa-stack-2x {
+  bottom: 0;
+  left: 0;
+  margin: auto;
+  position: absolute;
+  right: 0;
+  top: 0; }
+
+.svg-inline--fa.fa-stack-1x {
+  height: 1em;
+  width: 1.25em; }
+
+.svg-inline--fa.fa-stack-2x {
+  height: 2em;
+  width: 2.5em; }
+
+.fa-inverse {
+  color: #fff; }
+
+.sr-only {
+  border: 0;
+  clip: rect(0, 0, 0, 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  clip: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  position: static;
+  width: auto; }
+
+.svg-inline--fa .fa-primary {
+  fill: var(--fa-primary-color, currentColor);
+  opacity: 1;
+  opacity: var(--fa-primary-opacity, 1); }
+
+.svg-inline--fa .fa-secondary {
+  fill: var(--fa-secondary-color, currentColor);
+  opacity: 0.4;
+  opacity: var(--fa-secondary-opacity, 0.4); }
+
+.svg-inline--fa.fa-swap-opacity .fa-primary {
+  opacity: 0.4;
+  opacity: var(--fa-secondary-opacity, 0.4); }
+
+.svg-inline--fa.fa-swap-opacity .fa-secondary {
+  opacity: 1;
+  opacity: var(--fa-primary-opacity, 1); }
+
+.svg-inline--fa mask .fa-primary,
+.svg-inline--fa mask .fa-secondary {
+  fill: black; }
+
+.fad.fa-inverse {
+  color: #fff; }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/css/svg-with-js.min.css


+ 2166 - 0
resources/fontawesome/css/v4-shims.css

@@ -0,0 +1,2166 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+.fa.fa-glass:before {
+  content: "\f000"; }
+
+.fa.fa-meetup {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-star-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-star-o:before {
+  content: "\f005"; }
+
+.fa.fa-remove:before {
+  content: "\f00d"; }
+
+.fa.fa-close:before {
+  content: "\f00d"; }
+
+.fa.fa-gear:before {
+  content: "\f013"; }
+
+.fa.fa-trash-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-trash-o:before {
+  content: "\f2ed"; }
+
+.fa.fa-file-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-o:before {
+  content: "\f15b"; }
+
+.fa.fa-clock-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-clock-o:before {
+  content: "\f017"; }
+
+.fa.fa-arrow-circle-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-arrow-circle-o-down:before {
+  content: "\f358"; }
+
+.fa.fa-arrow-circle-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-arrow-circle-o-up:before {
+  content: "\f35b"; }
+
+.fa.fa-play-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-play-circle-o:before {
+  content: "\f144"; }
+
+.fa.fa-repeat:before {
+  content: "\f01e"; }
+
+.fa.fa-rotate-right:before {
+  content: "\f01e"; }
+
+.fa.fa-refresh:before {
+  content: "\f021"; }
+
+.fa.fa-list-alt {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-dedent:before {
+  content: "\f03b"; }
+
+.fa.fa-video-camera:before {
+  content: "\f03d"; }
+
+.fa.fa-picture-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-picture-o:before {
+  content: "\f03e"; }
+
+.fa.fa-photo {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-photo:before {
+  content: "\f03e"; }
+
+.fa.fa-image {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-image:before {
+  content: "\f03e"; }
+
+.fa.fa-pencil:before {
+  content: "\f303"; }
+
+.fa.fa-map-marker:before {
+  content: "\f3c5"; }
+
+.fa.fa-pencil-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-pencil-square-o:before {
+  content: "\f044"; }
+
+.fa.fa-share-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-share-square-o:before {
+  content: "\f14d"; }
+
+.fa.fa-check-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-check-square-o:before {
+  content: "\f14a"; }
+
+.fa.fa-arrows:before {
+  content: "\f0b2"; }
+
+.fa.fa-times-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-times-circle-o:before {
+  content: "\f057"; }
+
+.fa.fa-check-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-check-circle-o:before {
+  content: "\f058"; }
+
+.fa.fa-mail-forward:before {
+  content: "\f064"; }
+
+.fa.fa-eye {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-eye-slash {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-warning:before {
+  content: "\f071"; }
+
+.fa.fa-calendar:before {
+  content: "\f073"; }
+
+.fa.fa-arrows-v:before {
+  content: "\f338"; }
+
+.fa.fa-arrows-h:before {
+  content: "\f337"; }
+
+.fa.fa-bar-chart {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-bar-chart:before {
+  content: "\f080"; }
+
+.fa.fa-bar-chart-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-bar-chart-o:before {
+  content: "\f080"; }
+
+.fa.fa-twitter-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-facebook-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-gears:before {
+  content: "\f085"; }
+
+.fa.fa-thumbs-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-thumbs-o-up:before {
+  content: "\f164"; }
+
+.fa.fa-thumbs-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-thumbs-o-down:before {
+  content: "\f165"; }
+
+.fa.fa-heart-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-heart-o:before {
+  content: "\f004"; }
+
+.fa.fa-sign-out:before {
+  content: "\f2f5"; }
+
+.fa.fa-linkedin-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-linkedin-square:before {
+  content: "\f08c"; }
+
+.fa.fa-thumb-tack:before {
+  content: "\f08d"; }
+
+.fa.fa-external-link:before {
+  content: "\f35d"; }
+
+.fa.fa-sign-in:before {
+  content: "\f2f6"; }
+
+.fa.fa-github-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-lemon-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-lemon-o:before {
+  content: "\f094"; }
+
+.fa.fa-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-square-o:before {
+  content: "\f0c8"; }
+
+.fa.fa-bookmark-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-bookmark-o:before {
+  content: "\f02e"; }
+
+.fa.fa-twitter {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-facebook {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-facebook:before {
+  content: "\f39e"; }
+
+.fa.fa-facebook-f {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-facebook-f:before {
+  content: "\f39e"; }
+
+.fa.fa-github {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-credit-card {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-feed:before {
+  content: "\f09e"; }
+
+.fa.fa-hdd-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hdd-o:before {
+  content: "\f0a0"; }
+
+.fa.fa-hand-o-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-o-right:before {
+  content: "\f0a4"; }
+
+.fa.fa-hand-o-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-o-left:before {
+  content: "\f0a5"; }
+
+.fa.fa-hand-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-o-up:before {
+  content: "\f0a6"; }
+
+.fa.fa-hand-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-o-down:before {
+  content: "\f0a7"; }
+
+.fa.fa-arrows-alt:before {
+  content: "\f31e"; }
+
+.fa.fa-group:before {
+  content: "\f0c0"; }
+
+.fa.fa-chain:before {
+  content: "\f0c1"; }
+
+.fa.fa-scissors:before {
+  content: "\f0c4"; }
+
+.fa.fa-files-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-files-o:before {
+  content: "\f0c5"; }
+
+.fa.fa-floppy-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-floppy-o:before {
+  content: "\f0c7"; }
+
+.fa.fa-navicon:before {
+  content: "\f0c9"; }
+
+.fa.fa-reorder:before {
+  content: "\f0c9"; }
+
+.fa.fa-pinterest {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-pinterest-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google-plus-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google-plus {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google-plus:before {
+  content: "\f0d5"; }
+
+.fa.fa-money {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-money:before {
+  content: "\f3d1"; }
+
+.fa.fa-unsorted:before {
+  content: "\f0dc"; }
+
+.fa.fa-sort-desc:before {
+  content: "\f0dd"; }
+
+.fa.fa-sort-asc:before {
+  content: "\f0de"; }
+
+.fa.fa-linkedin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-linkedin:before {
+  content: "\f0e1"; }
+
+.fa.fa-rotate-left:before {
+  content: "\f0e2"; }
+
+.fa.fa-legal:before {
+  content: "\f0e3"; }
+
+.fa.fa-tachometer:before {
+  content: "\f3fd"; }
+
+.fa.fa-dashboard:before {
+  content: "\f3fd"; }
+
+.fa.fa-comment-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-comment-o:before {
+  content: "\f075"; }
+
+.fa.fa-comments-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-comments-o:before {
+  content: "\f086"; }
+
+.fa.fa-flash:before {
+  content: "\f0e7"; }
+
+.fa.fa-clipboard {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-paste {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-paste:before {
+  content: "\f328"; }
+
+.fa.fa-lightbulb-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-lightbulb-o:before {
+  content: "\f0eb"; }
+
+.fa.fa-exchange:before {
+  content: "\f362"; }
+
+.fa.fa-cloud-download:before {
+  content: "\f381"; }
+
+.fa.fa-cloud-upload:before {
+  content: "\f382"; }
+
+.fa.fa-bell-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-bell-o:before {
+  content: "\f0f3"; }
+
+.fa.fa-cutlery:before {
+  content: "\f2e7"; }
+
+.fa.fa-file-text-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-text-o:before {
+  content: "\f15c"; }
+
+.fa.fa-building-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-building-o:before {
+  content: "\f1ad"; }
+
+.fa.fa-hospital-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hospital-o:before {
+  content: "\f0f8"; }
+
+.fa.fa-tablet:before {
+  content: "\f3fa"; }
+
+.fa.fa-mobile:before {
+  content: "\f3cd"; }
+
+.fa.fa-mobile-phone:before {
+  content: "\f3cd"; }
+
+.fa.fa-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-circle-o:before {
+  content: "\f111"; }
+
+.fa.fa-mail-reply:before {
+  content: "\f3e5"; }
+
+.fa.fa-github-alt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-folder-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-folder-o:before {
+  content: "\f07b"; }
+
+.fa.fa-folder-open-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-folder-open-o:before {
+  content: "\f07c"; }
+
+.fa.fa-smile-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-smile-o:before {
+  content: "\f118"; }
+
+.fa.fa-frown-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-frown-o:before {
+  content: "\f119"; }
+
+.fa.fa-meh-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-meh-o:before {
+  content: "\f11a"; }
+
+.fa.fa-keyboard-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-keyboard-o:before {
+  content: "\f11c"; }
+
+.fa.fa-flag-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-flag-o:before {
+  content: "\f024"; }
+
+.fa.fa-mail-reply-all:before {
+  content: "\f122"; }
+
+.fa.fa-star-half-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-star-half-o:before {
+  content: "\f089"; }
+
+.fa.fa-star-half-empty {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-star-half-empty:before {
+  content: "\f089"; }
+
+.fa.fa-star-half-full {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-star-half-full:before {
+  content: "\f089"; }
+
+.fa.fa-code-fork:before {
+  content: "\f126"; }
+
+.fa.fa-chain-broken:before {
+  content: "\f127"; }
+
+.fa.fa-shield:before {
+  content: "\f3ed"; }
+
+.fa.fa-calendar-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-calendar-o:before {
+  content: "\f133"; }
+
+.fa.fa-maxcdn {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-html5 {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-css3 {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-ticket:before {
+  content: "\f3ff"; }
+
+.fa.fa-minus-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-minus-square-o:before {
+  content: "\f146"; }
+
+.fa.fa-level-up:before {
+  content: "\f3bf"; }
+
+.fa.fa-level-down:before {
+  content: "\f3be"; }
+
+.fa.fa-pencil-square:before {
+  content: "\f14b"; }
+
+.fa.fa-external-link-square:before {
+  content: "\f360"; }
+
+.fa.fa-compass {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-caret-square-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-caret-square-o-down:before {
+  content: "\f150"; }
+
+.fa.fa-toggle-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-toggle-down:before {
+  content: "\f150"; }
+
+.fa.fa-caret-square-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-caret-square-o-up:before {
+  content: "\f151"; }
+
+.fa.fa-toggle-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-toggle-up:before {
+  content: "\f151"; }
+
+.fa.fa-caret-square-o-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-caret-square-o-right:before {
+  content: "\f152"; }
+
+.fa.fa-toggle-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-toggle-right:before {
+  content: "\f152"; }
+
+.fa.fa-eur:before {
+  content: "\f153"; }
+
+.fa.fa-euro:before {
+  content: "\f153"; }
+
+.fa.fa-gbp:before {
+  content: "\f154"; }
+
+.fa.fa-usd:before {
+  content: "\f155"; }
+
+.fa.fa-dollar:before {
+  content: "\f155"; }
+
+.fa.fa-inr:before {
+  content: "\f156"; }
+
+.fa.fa-rupee:before {
+  content: "\f156"; }
+
+.fa.fa-jpy:before {
+  content: "\f157"; }
+
+.fa.fa-cny:before {
+  content: "\f157"; }
+
+.fa.fa-rmb:before {
+  content: "\f157"; }
+
+.fa.fa-yen:before {
+  content: "\f157"; }
+
+.fa.fa-rub:before {
+  content: "\f158"; }
+
+.fa.fa-ruble:before {
+  content: "\f158"; }
+
+.fa.fa-rouble:before {
+  content: "\f158"; }
+
+.fa.fa-krw:before {
+  content: "\f159"; }
+
+.fa.fa-won:before {
+  content: "\f159"; }
+
+.fa.fa-btc {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-bitcoin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-bitcoin:before {
+  content: "\f15a"; }
+
+.fa.fa-file-text:before {
+  content: "\f15c"; }
+
+.fa.fa-sort-alpha-asc:before {
+  content: "\f15d"; }
+
+.fa.fa-sort-alpha-desc:before {
+  content: "\f881"; }
+
+.fa.fa-sort-amount-asc:before {
+  content: "\f160"; }
+
+.fa.fa-sort-amount-desc:before {
+  content: "\f884"; }
+
+.fa.fa-sort-numeric-asc:before {
+  content: "\f162"; }
+
+.fa.fa-sort-numeric-desc:before {
+  content: "\f886"; }
+
+.fa.fa-youtube-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-youtube {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-xing {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-xing-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-youtube-play {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-youtube-play:before {
+  content: "\f167"; }
+
+.fa.fa-dropbox {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-stack-overflow {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-instagram {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-flickr {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-adn {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-bitbucket {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-bitbucket-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-bitbucket-square:before {
+  content: "\f171"; }
+
+.fa.fa-tumblr {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-tumblr-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-long-arrow-down:before {
+  content: "\f309"; }
+
+.fa.fa-long-arrow-up:before {
+  content: "\f30c"; }
+
+.fa.fa-long-arrow-left:before {
+  content: "\f30a"; }
+
+.fa.fa-long-arrow-right:before {
+  content: "\f30b"; }
+
+.fa.fa-apple {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-windows {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-android {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-linux {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-dribbble {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-skype {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-foursquare {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-trello {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-gratipay {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-gittip {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-gittip:before {
+  content: "\f184"; }
+
+.fa.fa-sun-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-sun-o:before {
+  content: "\f185"; }
+
+.fa.fa-moon-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-moon-o:before {
+  content: "\f186"; }
+
+.fa.fa-vk {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-weibo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-renren {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-pagelines {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-stack-exchange {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-arrow-circle-o-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-arrow-circle-o-right:before {
+  content: "\f35a"; }
+
+.fa.fa-arrow-circle-o-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-arrow-circle-o-left:before {
+  content: "\f359"; }
+
+.fa.fa-caret-square-o-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-caret-square-o-left:before {
+  content: "\f191"; }
+
+.fa.fa-toggle-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-toggle-left:before {
+  content: "\f191"; }
+
+.fa.fa-dot-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-dot-circle-o:before {
+  content: "\f192"; }
+
+.fa.fa-vimeo-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-try:before {
+  content: "\f195"; }
+
+.fa.fa-turkish-lira:before {
+  content: "\f195"; }
+
+.fa.fa-plus-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-plus-square-o:before {
+  content: "\f0fe"; }
+
+.fa.fa-slack {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wordpress {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-openid {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-institution:before {
+  content: "\f19c"; }
+
+.fa.fa-bank:before {
+  content: "\f19c"; }
+
+.fa.fa-mortar-board:before {
+  content: "\f19d"; }
+
+.fa.fa-yahoo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-reddit {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-reddit-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-stumbleupon-circle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-stumbleupon {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-delicious {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-digg {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-pied-piper-pp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-pied-piper-alt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-drupal {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-joomla {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-spoon:before {
+  content: "\f2e5"; }
+
+.fa.fa-behance {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-behance-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-steam {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-steam-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-automobile:before {
+  content: "\f1b9"; }
+
+.fa.fa-cab:before {
+  content: "\f1ba"; }
+
+.fa.fa-envelope-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-envelope-o:before {
+  content: "\f0e0"; }
+
+.fa.fa-deviantart {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-soundcloud {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-file-pdf-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-pdf-o:before {
+  content: "\f1c1"; }
+
+.fa.fa-file-word-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-word-o:before {
+  content: "\f1c2"; }
+
+.fa.fa-file-excel-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-excel-o:before {
+  content: "\f1c3"; }
+
+.fa.fa-file-powerpoint-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-powerpoint-o:before {
+  content: "\f1c4"; }
+
+.fa.fa-file-image-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-image-o:before {
+  content: "\f1c5"; }
+
+.fa.fa-file-photo-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-photo-o:before {
+  content: "\f1c5"; }
+
+.fa.fa-file-picture-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-picture-o:before {
+  content: "\f1c5"; }
+
+.fa.fa-file-archive-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-archive-o:before {
+  content: "\f1c6"; }
+
+.fa.fa-file-zip-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-zip-o:before {
+  content: "\f1c6"; }
+
+.fa.fa-file-audio-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-audio-o:before {
+  content: "\f1c7"; }
+
+.fa.fa-file-sound-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-sound-o:before {
+  content: "\f1c7"; }
+
+.fa.fa-file-video-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-video-o:before {
+  content: "\f1c8"; }
+
+.fa.fa-file-movie-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-movie-o:before {
+  content: "\f1c8"; }
+
+.fa.fa-file-code-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-file-code-o:before {
+  content: "\f1c9"; }
+
+.fa.fa-vine {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-codepen {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-jsfiddle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-life-ring {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-life-bouy {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-life-bouy:before {
+  content: "\f1cd"; }
+
+.fa.fa-life-buoy {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-life-buoy:before {
+  content: "\f1cd"; }
+
+.fa.fa-life-saver {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-life-saver:before {
+  content: "\f1cd"; }
+
+.fa.fa-support {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-support:before {
+  content: "\f1cd"; }
+
+.fa.fa-circle-o-notch:before {
+  content: "\f1ce"; }
+
+.fa.fa-rebel {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-ra {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-ra:before {
+  content: "\f1d0"; }
+
+.fa.fa-resistance {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-resistance:before {
+  content: "\f1d0"; }
+
+.fa.fa-empire {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-ge {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-ge:before {
+  content: "\f1d1"; }
+
+.fa.fa-git-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-git {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-hacker-news {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-y-combinator-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-y-combinator-square:before {
+  content: "\f1d4"; }
+
+.fa.fa-yc-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-yc-square:before {
+  content: "\f1d4"; }
+
+.fa.fa-tencent-weibo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-qq {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-weixin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wechat {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wechat:before {
+  content: "\f1d7"; }
+
+.fa.fa-send:before {
+  content: "\f1d8"; }
+
+.fa.fa-paper-plane-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-paper-plane-o:before {
+  content: "\f1d8"; }
+
+.fa.fa-send-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-send-o:before {
+  content: "\f1d8"; }
+
+.fa.fa-circle-thin {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-circle-thin:before {
+  content: "\f111"; }
+
+.fa.fa-header:before {
+  content: "\f1dc"; }
+
+.fa.fa-sliders:before {
+  content: "\f1de"; }
+
+.fa.fa-futbol-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-futbol-o:before {
+  content: "\f1e3"; }
+
+.fa.fa-soccer-ball-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-soccer-ball-o:before {
+  content: "\f1e3"; }
+
+.fa.fa-slideshare {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-twitch {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-yelp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-newspaper-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-newspaper-o:before {
+  content: "\f1ea"; }
+
+.fa.fa-paypal {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google-wallet {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc-visa {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc-mastercard {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc-discover {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc-amex {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc-paypal {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc-stripe {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-bell-slash-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-bell-slash-o:before {
+  content: "\f1f6"; }
+
+.fa.fa-trash:before {
+  content: "\f2ed"; }
+
+.fa.fa-copyright {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-eyedropper:before {
+  content: "\f1fb"; }
+
+.fa.fa-area-chart:before {
+  content: "\f1fe"; }
+
+.fa.fa-pie-chart:before {
+  content: "\f200"; }
+
+.fa.fa-line-chart:before {
+  content: "\f201"; }
+
+.fa.fa-lastfm {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-lastfm-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-ioxhost {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-angellist {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-cc:before {
+  content: "\f20a"; }
+
+.fa.fa-ils:before {
+  content: "\f20b"; }
+
+.fa.fa-shekel:before {
+  content: "\f20b"; }
+
+.fa.fa-sheqel:before {
+  content: "\f20b"; }
+
+.fa.fa-meanpath {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-meanpath:before {
+  content: "\f2b4"; }
+
+.fa.fa-buysellads {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-connectdevelop {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-dashcube {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-forumbee {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-leanpub {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-sellsy {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-shirtsinbulk {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-simplybuilt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-skyatlas {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-diamond {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-diamond:before {
+  content: "\f3a5"; }
+
+.fa.fa-intersex:before {
+  content: "\f224"; }
+
+.fa.fa-facebook-official {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-facebook-official:before {
+  content: "\f09a"; }
+
+.fa.fa-pinterest-p {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-whatsapp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-hotel:before {
+  content: "\f236"; }
+
+.fa.fa-viacoin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-medium {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-y-combinator {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-yc {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-yc:before {
+  content: "\f23b"; }
+
+.fa.fa-optin-monster {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-opencart {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-expeditedssl {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-battery-4:before {
+  content: "\f240"; }
+
+.fa.fa-battery:before {
+  content: "\f240"; }
+
+.fa.fa-battery-3:before {
+  content: "\f241"; }
+
+.fa.fa-battery-2:before {
+  content: "\f242"; }
+
+.fa.fa-battery-1:before {
+  content: "\f243"; }
+
+.fa.fa-battery-0:before {
+  content: "\f244"; }
+
+.fa.fa-object-group {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-object-ungroup {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-sticky-note-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-sticky-note-o:before {
+  content: "\f249"; }
+
+.fa.fa-cc-jcb {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-cc-diners-club {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-clone {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hourglass-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hourglass-o:before {
+  content: "\f254"; }
+
+.fa.fa-hourglass-1:before {
+  content: "\f251"; }
+
+.fa.fa-hourglass-2:before {
+  content: "\f252"; }
+
+.fa.fa-hourglass-3:before {
+  content: "\f253"; }
+
+.fa.fa-hand-rock-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-rock-o:before {
+  content: "\f255"; }
+
+.fa.fa-hand-grab-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-grab-o:before {
+  content: "\f255"; }
+
+.fa.fa-hand-paper-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-paper-o:before {
+  content: "\f256"; }
+
+.fa.fa-hand-stop-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-stop-o:before {
+  content: "\f256"; }
+
+.fa.fa-hand-scissors-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-scissors-o:before {
+  content: "\f257"; }
+
+.fa.fa-hand-lizard-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-lizard-o:before {
+  content: "\f258"; }
+
+.fa.fa-hand-spock-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-spock-o:before {
+  content: "\f259"; }
+
+.fa.fa-hand-pointer-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-pointer-o:before {
+  content: "\f25a"; }
+
+.fa.fa-hand-peace-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-hand-peace-o:before {
+  content: "\f25b"; }
+
+.fa.fa-registered {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-creative-commons {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-gg {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-gg-circle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-tripadvisor {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-odnoklassniki {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-odnoklassniki-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-get-pocket {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wikipedia-w {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-safari {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-chrome {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-firefox {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-opera {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-internet-explorer {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-television:before {
+  content: "\f26c"; }
+
+.fa.fa-contao {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-500px {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-amazon {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-calendar-plus-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-calendar-plus-o:before {
+  content: "\f271"; }
+
+.fa.fa-calendar-minus-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-calendar-minus-o:before {
+  content: "\f272"; }
+
+.fa.fa-calendar-times-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-calendar-times-o:before {
+  content: "\f273"; }
+
+.fa.fa-calendar-check-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-calendar-check-o:before {
+  content: "\f274"; }
+
+.fa.fa-map-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-map-o:before {
+  content: "\f279"; }
+
+.fa.fa-commenting:before {
+  content: "\f4ad"; }
+
+.fa.fa-commenting-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-commenting-o:before {
+  content: "\f4ad"; }
+
+.fa.fa-houzz {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-vimeo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-vimeo:before {
+  content: "\f27d"; }
+
+.fa.fa-black-tie {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-fonticons {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-reddit-alien {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-edge {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-credit-card-alt:before {
+  content: "\f09d"; }
+
+.fa.fa-codiepie {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-modx {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-fort-awesome {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-usb {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-product-hunt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-mixcloud {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-scribd {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-pause-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-pause-circle-o:before {
+  content: "\f28b"; }
+
+.fa.fa-stop-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-stop-circle-o:before {
+  content: "\f28d"; }
+
+.fa.fa-bluetooth {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-bluetooth-b {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-gitlab {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wpbeginner {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wpforms {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-envira {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wheelchair-alt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wheelchair-alt:before {
+  content: "\f368"; }
+
+.fa.fa-question-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-question-circle-o:before {
+  content: "\f059"; }
+
+.fa.fa-volume-control-phone:before {
+  content: "\f2a0"; }
+
+.fa.fa-asl-interpreting:before {
+  content: "\f2a3"; }
+
+.fa.fa-deafness:before {
+  content: "\f2a4"; }
+
+.fa.fa-hard-of-hearing:before {
+  content: "\f2a4"; }
+
+.fa.fa-glide {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-glide-g {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-signing:before {
+  content: "\f2a7"; }
+
+.fa.fa-viadeo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-viadeo-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-snapchat {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-snapchat-ghost {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-snapchat-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-pied-piper {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-first-order {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-yoast {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-themeisle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google-plus-official {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google-plus-official:before {
+  content: "\f2b3"; }
+
+.fa.fa-google-plus-circle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-google-plus-circle:before {
+  content: "\f2b3"; }
+
+.fa.fa-font-awesome {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-fa {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-fa:before {
+  content: "\f2b4"; }
+
+.fa.fa-handshake-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-handshake-o:before {
+  content: "\f2b5"; }
+
+.fa.fa-envelope-open-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-envelope-open-o:before {
+  content: "\f2b6"; }
+
+.fa.fa-linode {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-address-book-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-address-book-o:before {
+  content: "\f2b9"; }
+
+.fa.fa-vcard:before {
+  content: "\f2bb"; }
+
+.fa.fa-address-card-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-address-card-o:before {
+  content: "\f2bb"; }
+
+.fa.fa-vcard-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-vcard-o:before {
+  content: "\f2bb"; }
+
+.fa.fa-user-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-user-circle-o:before {
+  content: "\f2bd"; }
+
+.fa.fa-user-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-user-o:before {
+  content: "\f007"; }
+
+.fa.fa-id-badge {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-drivers-license:before {
+  content: "\f2c2"; }
+
+.fa.fa-id-card-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-id-card-o:before {
+  content: "\f2c2"; }
+
+.fa.fa-drivers-license-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-drivers-license-o:before {
+  content: "\f2c2"; }
+
+.fa.fa-quora {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-free-code-camp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-telegram {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-thermometer-4:before {
+  content: "\f2c7"; }
+
+.fa.fa-thermometer:before {
+  content: "\f2c7"; }
+
+.fa.fa-thermometer-3:before {
+  content: "\f2c8"; }
+
+.fa.fa-thermometer-2:before {
+  content: "\f2c9"; }
+
+.fa.fa-thermometer-1:before {
+  content: "\f2ca"; }
+
+.fa.fa-thermometer-0:before {
+  content: "\f2cb"; }
+
+.fa.fa-bathtub:before {
+  content: "\f2cd"; }
+
+.fa.fa-s15:before {
+  content: "\f2cd"; }
+
+.fa.fa-window-maximize {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-window-restore {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-times-rectangle:before {
+  content: "\f410"; }
+
+.fa.fa-window-close-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-window-close-o:before {
+  content: "\f410"; }
+
+.fa.fa-times-rectangle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-times-rectangle-o:before {
+  content: "\f410"; }
+
+.fa.fa-bandcamp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-grav {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-etsy {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-imdb {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-ravelry {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-eercast {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-eercast:before {
+  content: "\f2da"; }
+
+.fa.fa-snowflake-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }
+
+.fa.fa-snowflake-o:before {
+  content: "\f2dc"; }
+
+.fa.fa-superpowers {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-wpexplorer {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }
+
+.fa.fa-spotify {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/css/v4-shims.min.css


+ 961 - 0
resources/fontawesome/fas_icons.php

@@ -0,0 +1,961 @@
+<?php
+$fas[] = 'fa-ad';
+$fas[] = 'fa-address-book';
+$fas[] = 'fa-address-card';
+$fas[] = 'fa-adjust';
+$fas[] = 'fa-air-freshener';
+$fas[] = 'fa-align-center';
+$fas[] = 'fa-align-justify';
+$fas[] = 'fa-align-left';
+$fas[] = 'fa-align-right';
+$fas[] = 'fa-allergies';
+$fas[] = 'fa-ambulance';
+$fas[] = 'fa-american-sign-language-interpreting';
+$fas[] = 'fa-anchor';
+$fas[] = 'fa-angle-double-down';
+$fas[] = 'fa-angle-double-left';
+$fas[] = 'fa-angle-double-right';
+$fas[] = 'fa-angle-double-up';
+$fas[] = 'fa-angle-down';
+$fas[] = 'fa-angle-left';
+$fas[] = 'fa-angle-right';
+$fas[] = 'fa-angle-up';
+$fas[] = 'fa-angry';
+$fas[] = 'fa-ankh';
+$fas[] = 'fa-apple-alt';
+$fas[] = 'fa-archive';
+$fas[] = 'fa-archway';
+$fas[] = 'fa-arrow-alt-circle-down';
+$fas[] = 'fa-arrow-alt-circle-left';
+$fas[] = 'fa-arrow-alt-circle-right';
+$fas[] = 'fa-arrow-alt-circle-up';
+$fas[] = 'fa-arrow-circle-down';
+$fas[] = 'fa-arrow-circle-left';
+$fas[] = 'fa-arrow-circle-right';
+$fas[] = 'fa-arrow-circle-up';
+$fas[] = 'fa-arrow-down';
+$fas[] = 'fa-arrow-left';
+$fas[] = 'fa-arrow-right';
+$fas[] = 'fa-arrow-up';
+$fas[] = 'fa-arrows-alt';
+$fas[] = 'fa-arrows-alt-h';
+$fas[] = 'fa-arrows-alt-v';
+$fas[] = 'fa-assistive-listening-systems';
+$fas[] = 'fa-asterisk';
+$fas[] = 'fa-at';
+$fas[] = 'fa-atlas';
+$fas[] = 'fa-atom';
+$fas[] = 'fa-audio-description';
+$fas[] = 'fa-award';
+$fas[] = 'fa-baby';
+$fas[] = 'fa-baby-carriage';
+$fas[] = 'fa-backspace';
+$fas[] = 'fa-backward';
+$fas[] = 'fa-bacon';
+$fas[] = 'fa-balance-scale';
+$fas[] = 'fa-balance-scale-left';
+$fas[] = 'fa-balance-scale-right';
+$fas[] = 'fa-ban';
+$fas[] = 'fa-band-aid';
+$fas[] = 'fa-barcode';
+$fas[] = 'fa-bars';
+$fas[] = 'fa-baseball-ball';
+$fas[] = 'fa-basketball-ball';
+$fas[] = 'fa-bath';
+$fas[] = 'fa-battery-empty';
+$fas[] = 'fa-battery-full';
+$fas[] = 'fa-battery-half';
+$fas[] = 'fa-battery-quarter';
+$fas[] = 'fa-battery-three-quarters';
+$fas[] = 'fa-bed';
+$fas[] = 'fa-beer';
+$fas[] = 'fa-bell';
+$fas[] = 'fa-bell-slash';
+$fas[] = 'fa-bezier-curve';
+$fas[] = 'fa-bible';
+$fas[] = 'fa-bicycle';
+$fas[] = 'fa-biking';
+$fas[] = 'fa-binoculars';
+$fas[] = 'fa-biohazard';
+$fas[] = 'fa-birthday-cake';
+$fas[] = 'fa-blender';
+$fas[] = 'fa-blender-phone';
+$fas[] = 'fa-blind';
+$fas[] = 'fa-blog';
+$fas[] = 'fa-bold';
+$fas[] = 'fa-bolt';
+$fas[] = 'fa-bomb';
+$fas[] = 'fa-bone';
+$fas[] = 'fa-bong';
+$fas[] = 'fa-book';
+$fas[] = 'fa-book-dead';
+$fas[] = 'fa-book-medical';
+$fas[] = 'fa-book-open';
+$fas[] = 'fa-book-reader';
+$fas[] = 'fa-bookmark';
+$fas[] = 'fa-border-all';
+$fas[] = 'fa-border-none';
+$fas[] = 'fa-border-style';
+$fas[] = 'fa-bowling-ball';
+$fas[] = 'fa-box';
+$fas[] = 'fa-box-open';
+$fas[] = 'fa-boxes';
+$fas[] = 'fa-braille';
+$fas[] = 'fa-brain';
+$fas[] = 'fa-bread-slice';
+$fas[] = 'fa-briefcase';
+$fas[] = 'fa-briefcase-medical';
+$fas[] = 'fa-broadcast-tower';
+$fas[] = 'fa-broom';
+$fas[] = 'fa-brush';
+$fas[] = 'fa-bug';
+$fas[] = 'fa-building';
+$fas[] = 'fa-bullhorn';
+$fas[] = 'fa-bullseye';
+$fas[] = 'fa-burn';
+$fas[] = 'fa-bus';
+$fas[] = 'fa-bus-alt';
+$fas[] = 'fa-business-time';
+$fas[] = 'fa-calculator';
+$fas[] = 'fa-calendar';
+$fas[] = 'fa-calendar-alt';
+$fas[] = 'fa-calendar-check';
+$fas[] = 'fa-calendar-day';
+$fas[] = 'fa-calendar-minus';
+$fas[] = 'fa-calendar-plus';
+$fas[] = 'fa-calendar-times';
+$fas[] = 'fa-calendar-week';
+$fas[] = 'fa-camera';
+$fas[] = 'fa-camera-retro';
+$fas[] = 'fa-campground';
+$fas[] = 'fa-candy-cane';
+$fas[] = 'fa-cannabis';
+$fas[] = 'fa-capsules';
+$fas[] = 'fa-car';
+$fas[] = 'fa-car-alt';
+$fas[] = 'fa-car-battery';
+$fas[] = 'fa-car-crash';
+$fas[] = 'fa-car-side';
+$fas[] = 'fa-caret-down';
+$fas[] = 'fa-caret-left';
+$fas[] = 'fa-caret-right';
+$fas[] = 'fa-caret-square-down';
+$fas[] = 'fa-caret-square-left';
+$fas[] = 'fa-caret-square-right';
+$fas[] = 'fa-caret-square-up';
+$fas[] = 'fa-caret-up';
+$fas[] = 'fa-carrot';
+$fas[] = 'fa-cart-arrow-down';
+$fas[] = 'fa-cart-plus';
+$fas[] = 'fa-cash-register';
+$fas[] = 'fa-cat';
+$fas[] = 'fa-certificate';
+$fas[] = 'fa-chair';
+$fas[] = 'fa-chalkboard';
+$fas[] = 'fa-chalkboard-teacher';
+$fas[] = 'fa-charging-station';
+$fas[] = 'fa-chart-area';
+$fas[] = 'fa-chart-bar';
+$fas[] = 'fa-chart-line';
+$fas[] = 'fa-chart-pie';
+$fas[] = 'fa-check';
+$fas[] = 'fa-check-circle';
+$fas[] = 'fa-check-double';
+$fas[] = 'fa-check-square';
+$fas[] = 'fa-cheese';
+$fas[] = 'fa-chess';
+$fas[] = 'fa-chess-bishop';
+$fas[] = 'fa-chess-board';
+$fas[] = 'fa-chess-king';
+$fas[] = 'fa-chess-knight';
+$fas[] = 'fa-chess-pawn';
+$fas[] = 'fa-chess-queen';
+$fas[] = 'fa-chess-rook';
+$fas[] = 'fa-chevron-circle-down';
+$fas[] = 'fa-chevron-circle-left';
+$fas[] = 'fa-chevron-circle-right';
+$fas[] = 'fa-chevron-circle-up';
+$fas[] = 'fa-chevron-down';
+$fas[] = 'fa-chevron-left';
+$fas[] = 'fa-chevron-right';
+$fas[] = 'fa-chevron-up';
+$fas[] = 'fa-child';
+$fas[] = 'fa-church';
+$fas[] = 'fa-circle';
+$fas[] = 'fa-circle-notch';
+$fas[] = 'fa-city';
+$fas[] = 'fa-clinic-medical';
+$fas[] = 'fa-clipboard';
+$fas[] = 'fa-clipboard-check';
+$fas[] = 'fa-clipboard-list';
+$fas[] = 'fa-clock';
+$fas[] = 'fa-clone';
+$fas[] = 'fa-closed-captioning';
+$fas[] = 'fa-cloud';
+$fas[] = 'fa-cloud-download-alt';
+$fas[] = 'fa-cloud-meatball';
+$fas[] = 'fa-cloud-moon';
+$fas[] = 'fa-cloud-moon-rain';
+$fas[] = 'fa-cloud-rain';
+$fas[] = 'fa-cloud-showers-heavy';
+$fas[] = 'fa-cloud-sun';
+$fas[] = 'fa-cloud-sun-rain';
+$fas[] = 'fa-cloud-upload-alt';
+$fas[] = 'fa-cocktail';
+$fas[] = 'fa-code';
+$fas[] = 'fa-code-branch';
+$fas[] = 'fa-coffee';
+$fas[] = 'fa-cog';
+$fas[] = 'fa-cogs';
+$fas[] = 'fa-coins';
+$fas[] = 'fa-columns';
+$fas[] = 'fa-comment';
+$fas[] = 'fa-comment-alt';
+$fas[] = 'fa-comment-dollar';
+$fas[] = 'fa-comment-dots';
+$fas[] = 'fa-comment-medical';
+$fas[] = 'fa-comment-slash';
+$fas[] = 'fa-comments';
+$fas[] = 'fa-comments-dollar';
+$fas[] = 'fa-compact-disc';
+$fas[] = 'fa-compass';
+$fas[] = 'fa-compress';
+$fas[] = 'fa-compress-arrows-alt';
+$fas[] = 'fa-concierge-bell';
+$fas[] = 'fa-cookie';
+$fas[] = 'fa-cookie-bite';
+$fas[] = 'fa-copy';
+$fas[] = 'fa-copyright';
+$fas[] = 'fa-couch';
+$fas[] = 'fa-credit-card';
+$fas[] = 'fa-crop';
+$fas[] = 'fa-crop-alt';
+$fas[] = 'fa-cross';
+$fas[] = 'fa-crosshairs';
+$fas[] = 'fa-crow';
+$fas[] = 'fa-crown';
+$fas[] = 'fa-crutch';
+$fas[] = 'fa-cube';
+$fas[] = 'fa-cubes';
+$fas[] = 'fa-cut';
+$fas[] = 'fa-database';
+$fas[] = 'fa-deaf';
+$fas[] = 'fa-democrat';
+$fas[] = 'fa-desktop';
+$fas[] = 'fa-dharmachakra';
+$fas[] = 'fa-diagnoses';
+$fas[] = 'fa-dice';
+$fas[] = 'fa-dice-d20';
+$fas[] = 'fa-dice-d6';
+$fas[] = 'fa-dice-five';
+$fas[] = 'fa-dice-four';
+$fas[] = 'fa-dice-one';
+$fas[] = 'fa-dice-six';
+$fas[] = 'fa-dice-three';
+$fas[] = 'fa-dice-two';
+$fas[] = 'fa-digital-tachograph';
+$fas[] = 'fa-directions';
+$fas[] = 'fa-divide';
+$fas[] = 'fa-dizzy';
+$fas[] = 'fa-dna';
+$fas[] = 'fa-dog';
+$fas[] = 'fa-dollar-sign';
+$fas[] = 'fa-dolly';
+$fas[] = 'fa-dolly-flatbed';
+$fas[] = 'fa-donate';
+$fas[] = 'fa-door-closed';
+$fas[] = 'fa-door-open';
+$fas[] = 'fa-dot-circle';
+$fas[] = 'fa-dove';
+$fas[] = 'fa-download';
+$fas[] = 'fa-drafting-compass';
+$fas[] = 'fa-dragon';
+$fas[] = 'fa-draw-polygon';
+$fas[] = 'fa-drum';
+$fas[] = 'fa-drum-steelpan';
+$fas[] = 'fa-drumstick-bite';
+$fas[] = 'fa-dumbbell';
+$fas[] = 'fa-dumpster';
+$fas[] = 'fa-dumpster-fire';
+$fas[] = 'fa-dungeon';
+$fas[] = 'fa-edit';
+$fas[] = 'fa-egg';
+$fas[] = 'fa-eject';
+$fas[] = 'fa-ellipsis-h';
+$fas[] = 'fa-ellipsis-v';
+$fas[] = 'fa-envelope';
+$fas[] = 'fa-envelope-open';
+$fas[] = 'fa-envelope-open-text';
+$fas[] = 'fa-envelope-square';
+$fas[] = 'fa-equals';
+$fas[] = 'fa-eraser';
+$fas[] = 'fa-ethernet';
+$fas[] = 'fa-euro-sign';
+$fas[] = 'fa-exchange-alt';
+$fas[] = 'fa-exclamation';
+$fas[] = 'fa-exclamation-circle';
+$fas[] = 'fa-exclamation-triangle';
+$fas[] = 'fa-expand';
+$fas[] = 'fa-expand-arrows-alt';
+$fas[] = 'fa-external-link-alt';
+$fas[] = 'fa-external-link-square-alt';
+$fas[] = 'fa-eye';
+$fas[] = 'fa-eye-dropper';
+$fas[] = 'fa-eye-slash';
+$fas[] = 'fa-fan';
+$fas[] = 'fa-fast-backward';
+$fas[] = 'fa-fast-forward';
+$fas[] = 'fa-fax';
+$fas[] = 'fa-feather';
+$fas[] = 'fa-feather-alt';
+$fas[] = 'fa-female';
+$fas[] = 'fa-fighter-jet';
+$fas[] = 'fa-file';
+$fas[] = 'fa-file-alt';
+$fas[] = 'fa-file-archive';
+$fas[] = 'fa-file-audio';
+$fas[] = 'fa-file-code';
+$fas[] = 'fa-file-contract';
+$fas[] = 'fa-file-csv';
+$fas[] = 'fa-file-download';
+$fas[] = 'fa-file-excel';
+$fas[] = 'fa-file-export';
+$fas[] = 'fa-file-image';
+$fas[] = 'fa-file-import';
+$fas[] = 'fa-file-invoice';
+$fas[] = 'fa-file-invoice-dollar';
+$fas[] = 'fa-file-medical';
+$fas[] = 'fa-file-medical-alt';
+$fas[] = 'fa-file-pdf';
+$fas[] = 'fa-file-powerpoint';
+$fas[] = 'fa-file-prescription';
+$fas[] = 'fa-file-signature';
+$fas[] = 'fa-file-upload';
+$fas[] = 'fa-file-video';
+$fas[] = 'fa-file-word';
+$fas[] = 'fa-fill';
+$fas[] = 'fa-fill-drip';
+$fas[] = 'fa-film';
+$fas[] = 'fa-filter';
+$fas[] = 'fa-fingerprint';
+$fas[] = 'fa-fire';
+$fas[] = 'fa-fire-alt';
+$fas[] = 'fa-fire-extinguisher';
+$fas[] = 'fa-first-aid';
+$fas[] = 'fa-fish';
+$fas[] = 'fa-fist-raised';
+$fas[] = 'fa-flag';
+$fas[] = 'fa-flag-checkered';
+$fas[] = 'fa-flag-usa';
+$fas[] = 'fa-flask';
+$fas[] = 'fa-flushed';
+$fas[] = 'fa-folder';
+$fas[] = 'fa-folder-minus';
+$fas[] = 'fa-folder-open';
+$fas[] = 'fa-folder-plus';
+$fas[] = 'fa-font';
+$fas[] = 'fa-font-awesome-logo-full';
+$fas[] = 'fa-football-ball';
+$fas[] = 'fa-forward';
+$fas[] = 'fa-frog';
+$fas[] = 'fa-frown';
+$fas[] = 'fa-frown-open';
+$fas[] = 'fa-funnel-dollar';
+$fas[] = 'fa-futbol';
+$fas[] = 'fa-gamepad';
+$fas[] = 'fa-gas-pump';
+$fas[] = 'fa-gavel';
+$fas[] = 'fa-gem';
+$fas[] = 'fa-genderless';
+$fas[] = 'fa-ghost';
+$fas[] = 'fa-gift';
+$fas[] = 'fa-gifts';
+$fas[] = 'fa-glass-cheers';
+$fas[] = 'fa-glass-martini';
+$fas[] = 'fa-glass-martini-alt';
+$fas[] = 'fa-glass-whiskey';
+$fas[] = 'fa-glasses';
+$fas[] = 'fa-globe';
+$fas[] = 'fa-globe-africa';
+$fas[] = 'fa-globe-americas';
+$fas[] = 'fa-globe-asia';
+$fas[] = 'fa-globe-europe';
+$fas[] = 'fa-golf-ball';
+$fas[] = 'fa-gopuram';
+$fas[] = 'fa-graduation-cap';
+$fas[] = 'fa-greater-than';
+$fas[] = 'fa-greater-than-equal';
+$fas[] = 'fa-grimace';
+$fas[] = 'fa-grin';
+$fas[] = 'fa-grin-alt';
+$fas[] = 'fa-grin-beam';
+$fas[] = 'fa-grin-beam-sweat';
+$fas[] = 'fa-grin-hearts';
+$fas[] = 'fa-grin-squint';
+$fas[] = 'fa-grin-squint-tears';
+$fas[] = 'fa-grin-stars';
+$fas[] = 'fa-grin-tears';
+$fas[] = 'fa-grin-tongue';
+$fas[] = 'fa-grin-tongue-squint';
+$fas[] = 'fa-grin-tongue-wink';
+$fas[] = 'fa-grin-wink';
+$fas[] = 'fa-grip-horizontal';
+$fas[] = 'fa-grip-lines';
+$fas[] = 'fa-grip-lines-vertical';
+$fas[] = 'fa-grip-vertical';
+$fas[] = 'fa-guitar';
+$fas[] = 'fa-h-square';
+$fas[] = 'fa-hamburger';
+$fas[] = 'fa-hammer';
+$fas[] = 'fa-hamsa';
+$fas[] = 'fa-hand-holding';
+$fas[] = 'fa-hand-holding-heart';
+$fas[] = 'fa-hand-holding-usd';
+$fas[] = 'fa-hand-lizard';
+$fas[] = 'fa-hand-middle-finger';
+$fas[] = 'fa-hand-paper';
+$fas[] = 'fa-hand-peace';
+$fas[] = 'fa-hand-point-down';
+$fas[] = 'fa-hand-point-left';
+$fas[] = 'fa-hand-point-right';
+$fas[] = 'fa-hand-point-up';
+$fas[] = 'fa-hand-pointer';
+$fas[] = 'fa-hand-rock';
+$fas[] = 'fa-hand-scissors';
+$fas[] = 'fa-hand-spock';
+$fas[] = 'fa-hands';
+$fas[] = 'fa-hands-helping';
+$fas[] = 'fa-handshake';
+$fas[] = 'fa-hanukiah';
+$fas[] = 'fa-hard-hat';
+$fas[] = 'fa-hashtag';
+$fas[] = 'fa-hat-wizard';
+$fas[] = 'fa-haykal';
+$fas[] = 'fa-hdd';
+$fas[] = 'fa-heading';
+$fas[] = 'fa-headphones';
+$fas[] = 'fa-headphones-alt';
+$fas[] = 'fa-headset';
+$fas[] = 'fa-heart';
+$fas[] = 'fa-heart-broken';
+$fas[] = 'fa-heartbeat';
+$fas[] = 'fa-helicopter';
+$fas[] = 'fa-highlighter';
+$fas[] = 'fa-hiking';
+$fas[] = 'fa-hippo';
+$fas[] = 'fa-history';
+$fas[] = 'fa-hockey-puck';
+$fas[] = 'fa-holly-berry';
+$fas[] = 'fa-home';
+$fas[] = 'fa-horse';
+$fas[] = 'fa-horse-head';
+$fas[] = 'fa-hospital';
+$fas[] = 'fa-hospital-alt';
+$fas[] = 'fa-hospital-symbol';
+$fas[] = 'fa-hot-tub';
+$fas[] = 'fa-hotdog';
+$fas[] = 'fa-hotel';
+$fas[] = 'fa-hourglass';
+$fas[] = 'fa-hourglass-end';
+$fas[] = 'fa-hourglass-half';
+$fas[] = 'fa-hourglass-start';
+$fas[] = 'fa-house-damage';
+$fas[] = 'fa-hryvnia';
+$fas[] = 'fa-i-cursor';
+$fas[] = 'fa-ice-cream';
+$fas[] = 'fa-icicles';
+$fas[] = 'fa-icons';
+$fas[] = 'fa-id-badge';
+$fas[] = 'fa-id-card';
+$fas[] = 'fa-id-card-alt';
+$fas[] = 'fa-igloo';
+$fas[] = 'fa-image';
+$fas[] = 'fa-images';
+$fas[] = 'fa-inbox';
+$fas[] = 'fa-indent';
+$fas[] = 'fa-industry';
+$fas[] = 'fa-infinity';
+$fas[] = 'fa-info';
+$fas[] = 'fa-info-circle';
+$fas[] = 'fa-italic';
+$fas[] = 'fa-jedi';
+$fas[] = 'fa-joint';
+$fas[] = 'fa-journal-whills';
+$fas[] = 'fa-kaaba';
+$fas[] = 'fa-key';
+$fas[] = 'fa-keyboard';
+$fas[] = 'fa-khanda';
+$fas[] = 'fa-kiss';
+$fas[] = 'fa-kiss-beam';
+$fas[] = 'fa-kiss-wink-heart';
+$fas[] = 'fa-kiwi-bird';
+$fas[] = 'fa-landmark';
+$fas[] = 'fa-language';
+$fas[] = 'fa-laptop';
+$fas[] = 'fa-laptop-code';
+$fas[] = 'fa-laptop-medical';
+$fas[] = 'fa-laugh';
+$fas[] = 'fa-laugh-beam';
+$fas[] = 'fa-laugh-squint';
+$fas[] = 'fa-laugh-wink';
+$fas[] = 'fa-layer-group';
+$fas[] = 'fa-leaf';
+$fas[] = 'fa-lemon';
+$fas[] = 'fa-less-than';
+$fas[] = 'fa-less-than-equal';
+$fas[] = 'fa-level-down-alt';
+$fas[] = 'fa-level-up-alt';
+$fas[] = 'fa-life-ring';
+$fas[] = 'fa-lightbulb';
+$fas[] = 'fa-link';
+$fas[] = 'fa-lira-sign';
+$fas[] = 'fa-list';
+$fas[] = 'fa-list-alt';
+$fas[] = 'fa-list-ol';
+$fas[] = 'fa-list-ul';
+$fas[] = 'fa-location-arrow';
+$fas[] = 'fa-lock';
+$fas[] = 'fa-lock-open';
+$fas[] = 'fa-long-arrow-alt-down';
+$fas[] = 'fa-long-arrow-alt-left';
+$fas[] = 'fa-long-arrow-alt-right';
+$fas[] = 'fa-long-arrow-alt-up';
+$fas[] = 'fa-low-vision';
+$fas[] = 'fa-luggage-cart';
+$fas[] = 'fa-magic';
+$fas[] = 'fa-magnet';
+$fas[] = 'fa-mail-bulk';
+$fas[] = 'fa-male';
+$fas[] = 'fa-map';
+$fas[] = 'fa-map-marked';
+$fas[] = 'fa-map-marked-alt';
+$fas[] = 'fa-map-marker';
+$fas[] = 'fa-map-marker-alt';
+$fas[] = 'fa-map-pin';
+$fas[] = 'fa-map-signs';
+$fas[] = 'fa-marker';
+$fas[] = 'fa-mars';
+$fas[] = 'fa-mars-double';
+$fas[] = 'fa-mars-stroke';
+$fas[] = 'fa-mars-stroke-h';
+$fas[] = 'fa-mars-stroke-v';
+$fas[] = 'fa-mask';
+$fas[] = 'fa-medal';
+$fas[] = 'fa-medkit';
+$fas[] = 'fa-meh';
+$fas[] = 'fa-meh-blank';
+$fas[] = 'fa-meh-rolling-eyes';
+$fas[] = 'fa-memory';
+$fas[] = 'fa-menorah';
+$fas[] = 'fa-mercury';
+$fas[] = 'fa-meteor';
+$fas[] = 'fa-microchip';
+$fas[] = 'fa-microphone';
+$fas[] = 'fa-microphone-alt';
+$fas[] = 'fa-microphone-alt-slash';
+$fas[] = 'fa-microphone-slash';
+$fas[] = 'fa-microscope';
+$fas[] = 'fa-minus';
+$fas[] = 'fa-minus-circle';
+$fas[] = 'fa-minus-square';
+$fas[] = 'fa-mitten';
+$fas[] = 'fa-mobile';
+$fas[] = 'fa-mobile-alt';
+$fas[] = 'fa-money-bill';
+$fas[] = 'fa-money-bill-alt';
+$fas[] = 'fa-money-bill-wave';
+$fas[] = 'fa-money-bill-wave-alt';
+$fas[] = 'fa-money-check';
+$fas[] = 'fa-money-check-alt';
+$fas[] = 'fa-monument';
+$fas[] = 'fa-moon';
+$fas[] = 'fa-mortar-pestle';
+$fas[] = 'fa-mosque';
+$fas[] = 'fa-motorcycle';
+$fas[] = 'fa-mountain';
+$fas[] = 'fa-mouse-pointer';
+$fas[] = 'fa-mug-hot';
+$fas[] = 'fa-music';
+$fas[] = 'fa-network-wired';
+$fas[] = 'fa-neuter';
+$fas[] = 'fa-newspaper';
+$fas[] = 'fa-not-equal';
+$fas[] = 'fa-notes-medical';
+$fas[] = 'fa-object-group';
+$fas[] = 'fa-object-ungroup';
+$fas[] = 'fa-oil-can';
+$fas[] = 'fa-om';
+$fas[] = 'fa-otter';
+$fas[] = 'fa-outdent';
+$fas[] = 'fa-pager';
+$fas[] = 'fa-paint-brush';
+$fas[] = 'fa-paint-roller';
+$fas[] = 'fa-palette';
+$fas[] = 'fa-pallet';
+$fas[] = 'fa-paper-plane';
+$fas[] = 'fa-paperclip';
+$fas[] = 'fa-parachute-box';
+$fas[] = 'fa-paragraph';
+$fas[] = 'fa-parking';
+$fas[] = 'fa-passport';
+$fas[] = 'fa-pastafarianism';
+$fas[] = 'fa-paste';
+$fas[] = 'fa-pause';
+$fas[] = 'fa-pause-circle';
+$fas[] = 'fa-paw';
+$fas[] = 'fa-peace';
+$fas[] = 'fa-pen';
+$fas[] = 'fa-pen-alt';
+$fas[] = 'fa-pen-fancy';
+$fas[] = 'fa-pen-nib';
+$fas[] = 'fa-pen-square';
+$fas[] = 'fa-pencil-alt';
+$fas[] = 'fa-pencil-ruler';
+$fas[] = 'fa-people-carry';
+$fas[] = 'fa-pepper-hot';
+$fas[] = 'fa-percent';
+$fas[] = 'fa-percentage';
+$fas[] = 'fa-person-booth';
+$fas[] = 'fa-phone';
+$fas[] = 'fa-phone-alt';
+$fas[] = 'fa-phone-slash';
+$fas[] = 'fa-phone-square';
+$fas[] = 'fa-phone-square-alt';
+$fas[] = 'fa-phone-volume';
+$fas[] = 'fa-photo-video';
+$fas[] = 'fa-piggy-bank';
+$fas[] = 'fa-pills';
+$fas[] = 'fa-pizza-slice';
+$fas[] = 'fa-place-of-worship';
+$fas[] = 'fa-plane';
+$fas[] = 'fa-plane-arrival';
+$fas[] = 'fa-plane-departure';
+$fas[] = 'fa-play';
+$fas[] = 'fa-play-circle';
+$fas[] = 'fa-plug';
+$fas[] = 'fa-plus';
+$fas[] = 'fa-plus-circle';
+$fas[] = 'fa-plus-square';
+$fas[] = 'fa-podcast';
+$fas[] = 'fa-poll';
+$fas[] = 'fa-poll-h';
+$fas[] = 'fa-poo';
+$fas[] = 'fa-poo-storm';
+$fas[] = 'fa-poop';
+$fas[] = 'fa-portrait';
+$fas[] = 'fa-pound-sign';
+$fas[] = 'fa-power-off';
+$fas[] = 'fa-pray';
+$fas[] = 'fa-praying-hands';
+$fas[] = 'fa-prescription';
+$fas[] = 'fa-prescription-bottle';
+$fas[] = 'fa-prescription-bottle-alt';
+$fas[] = 'fa-print';
+$fas[] = 'fa-procedures';
+$fas[] = 'fa-project-diagram';
+$fas[] = 'fa-puzzle-piece';
+$fas[] = 'fa-qrcode';
+$fas[] = 'fa-question';
+$fas[] = 'fa-question-circle';
+$fas[] = 'fa-quidditch';
+$fas[] = 'fa-quote-left';
+$fas[] = 'fa-quote-right';
+$fas[] = 'fa-quran';
+$fas[] = 'fa-radiation';
+$fas[] = 'fa-radiation-alt';
+$fas[] = 'fa-rainbow';
+$fas[] = 'fa-random';
+$fas[] = 'fa-receipt';
+$fas[] = 'fa-recycle';
+$fas[] = 'fa-redo';
+$fas[] = 'fa-redo-alt';
+$fas[] = 'fa-registered';
+$fas[] = 'fa-remove-format';
+$fas[] = 'fa-reply';
+$fas[] = 'fa-reply-all';
+$fas[] = 'fa-republican';
+$fas[] = 'fa-restroom';
+$fas[] = 'fa-retweet';
+$fas[] = 'fa-ribbon';
+$fas[] = 'fa-ring';
+$fas[] = 'fa-road';
+$fas[] = 'fa-robot';
+$fas[] = 'fa-rocket';
+$fas[] = 'fa-route';
+$fas[] = 'fa-rss';
+$fas[] = 'fa-rss-square';
+$fas[] = 'fa-ruble-sign';
+$fas[] = 'fa-ruler';
+$fas[] = 'fa-ruler-combined';
+$fas[] = 'fa-ruler-horizontal';
+$fas[] = 'fa-ruler-vertical';
+$fas[] = 'fa-running';
+$fas[] = 'fa-rupee-sign';
+$fas[] = 'fa-sad-cry';
+$fas[] = 'fa-sad-tear';
+$fas[] = 'fa-satellite';
+$fas[] = 'fa-satellite-dish';
+$fas[] = 'fa-save';
+$fas[] = 'fa-school';
+$fas[] = 'fa-screwdriver';
+$fas[] = 'fa-scroll';
+$fas[] = 'fa-sd-card';
+$fas[] = 'fa-search';
+$fas[] = 'fa-search-dollar';
+$fas[] = 'fa-search-location';
+$fas[] = 'fa-search-minus';
+$fas[] = 'fa-search-plus';
+$fas[] = 'fa-seedling';
+$fas[] = 'fa-server';
+$fas[] = 'fa-shapes';
+$fas[] = 'fa-share';
+$fas[] = 'fa-share-alt';
+$fas[] = 'fa-share-alt-square';
+$fas[] = 'fa-share-square';
+$fas[] = 'fa-shekel-sign';
+$fas[] = 'fa-shield-alt';
+$fas[] = 'fa-ship';
+$fas[] = 'fa-shipping-fast';
+$fas[] = 'fa-shoe-prints';
+$fas[] = 'fa-shopping-bag';
+$fas[] = 'fa-shopping-basket';
+$fas[] = 'fa-shopping-cart';
+$fas[] = 'fa-shower';
+$fas[] = 'fa-shuttle-van';
+$fas[] = 'fa-sign';
+$fas[] = 'fa-sign-in-alt';
+$fas[] = 'fa-sign-language';
+$fas[] = 'fa-sign-out-alt';
+$fas[] = 'fa-signal';
+$fas[] = 'fa-signature';
+$fas[] = 'fa-sim-card';
+$fas[] = 'fa-sitemap';
+$fas[] = 'fa-skating';
+$fas[] = 'fa-skiing';
+$fas[] = 'fa-skiing-nordic';
+$fas[] = 'fa-skull';
+$fas[] = 'fa-skull-crossbones';
+$fas[] = 'fa-slash';
+$fas[] = 'fa-sleigh';
+$fas[] = 'fa-sliders-h';
+$fas[] = 'fa-smile';
+$fas[] = 'fa-smile-beam';
+$fas[] = 'fa-smile-wink';
+$fas[] = 'fa-smog';
+$fas[] = 'fa-smoking';
+$fas[] = 'fa-smoking-ban';
+$fas[] = 'fa-sms';
+$fas[] = 'fa-snowboarding';
+$fas[] = 'fa-snowflake';
+$fas[] = 'fa-snowman';
+$fas[] = 'fa-snowplow';
+$fas[] = 'fa-socks';
+$fas[] = 'fa-solar-panel';
+$fas[] = 'fa-sort';
+$fas[] = 'fa-sort-alpha-down';
+$fas[] = 'fa-sort-alpha-down-alt';
+$fas[] = 'fa-sort-alpha-up';
+$fas[] = 'fa-sort-alpha-up-alt';
+$fas[] = 'fa-sort-amount-down';
+$fas[] = 'fa-sort-amount-down-alt';
+$fas[] = 'fa-sort-amount-up';
+$fas[] = 'fa-sort-amount-up-alt';
+$fas[] = 'fa-sort-down';
+$fas[] = 'fa-sort-numeric-down';
+$fas[] = 'fa-sort-numeric-down-alt';
+$fas[] = 'fa-sort-numeric-up';
+$fas[] = 'fa-sort-numeric-up-alt';
+$fas[] = 'fa-sort-up';
+$fas[] = 'fa-spa';
+$fas[] = 'fa-space-shuttle';
+$fas[] = 'fa-spell-check';
+$fas[] = 'fa-spider';
+$fas[] = 'fa-spinner';
+$fas[] = 'fa-splotch';
+$fas[] = 'fa-spray-can';
+$fas[] = 'fa-square';
+$fas[] = 'fa-square-full';
+$fas[] = 'fa-square-root-alt';
+$fas[] = 'fa-stamp';
+$fas[] = 'fa-star';
+$fas[] = 'fa-star-and-crescent';
+$fas[] = 'fa-star-half';
+$fas[] = 'fa-star-half-alt';
+$fas[] = 'fa-star-of-david';
+$fas[] = 'fa-star-of-life';
+$fas[] = 'fa-step-backward';
+$fas[] = 'fa-step-forward';
+$fas[] = 'fa-stethoscope';
+$fas[] = 'fa-sticky-note';
+$fas[] = 'fa-stop';
+$fas[] = 'fa-stop-circle';
+$fas[] = 'fa-stopwatch';
+$fas[] = 'fa-store';
+$fas[] = 'fa-store-alt';
+$fas[] = 'fa-stream';
+$fas[] = 'fa-street-view';
+$fas[] = 'fa-strikethrough';
+$fas[] = 'fa-stroopwafel';
+$fas[] = 'fa-subscript';
+$fas[] = 'fa-subway';
+$fas[] = 'fa-suitcase';
+$fas[] = 'fa-suitcase-rolling';
+$fas[] = 'fa-sun';
+$fas[] = 'fa-superscript';
+$fas[] = 'fa-surprise';
+$fas[] = 'fa-swatchbook';
+$fas[] = 'fa-swimmer';
+$fas[] = 'fa-swimming-pool';
+$fas[] = 'fa-synagogue';
+$fas[] = 'fa-sync';
+$fas[] = 'fa-sync-alt';
+$fas[] = 'fa-syringe';
+$fas[] = 'fa-table';
+$fas[] = 'fa-table-tennis';
+$fas[] = 'fa-tablet';
+$fas[] = 'fa-tablet-alt';
+$fas[] = 'fa-tablets';
+$fas[] = 'fa-tachometer-alt';
+$fas[] = 'fa-tag';
+$fas[] = 'fa-tags';
+$fas[] = 'fa-tape';
+$fas[] = 'fa-tasks';
+$fas[] = 'fa-taxi';
+$fas[] = 'fa-teeth';
+$fas[] = 'fa-teeth-open';
+$fas[] = 'fa-temperature-high';
+$fas[] = 'fa-temperature-low';
+$fas[] = 'fa-tenge';
+$fas[] = 'fa-terminal';
+$fas[] = 'fa-text-height';
+$fas[] = 'fa-text-width';
+$fas[] = 'fa-th';
+$fas[] = 'fa-th-large';
+$fas[] = 'fa-th-list';
+$fas[] = 'fa-theater-masks';
+$fas[] = 'fa-thermometer';
+$fas[] = 'fa-thermometer-empty';
+$fas[] = 'fa-thermometer-full';
+$fas[] = 'fa-thermometer-half';
+$fas[] = 'fa-thermometer-quarter';
+$fas[] = 'fa-thermometer-three-quarters';
+$fas[] = 'fa-thumbs-down';
+$fas[] = 'fa-thumbs-up';
+$fas[] = 'fa-thumbtack';
+$fas[] = 'fa-ticket-alt';
+$fas[] = 'fa-times';
+$fas[] = 'fa-times-circle';
+$fas[] = 'fa-tint';
+$fas[] = 'fa-tint-slash';
+$fas[] = 'fa-tired';
+$fas[] = 'fa-toggle-off';
+$fas[] = 'fa-toggle-on';
+$fas[] = 'fa-toilet';
+$fas[] = 'fa-toilet-paper';
+$fas[] = 'fa-toolbox';
+$fas[] = 'fa-tools';
+$fas[] = 'fa-tooth';
+$fas[] = 'fa-torah';
+$fas[] = 'fa-torii-gate';
+$fas[] = 'fa-tractor';
+$fas[] = 'fa-trademark';
+$fas[] = 'fa-traffic-light';
+$fas[] = 'fa-train';
+$fas[] = 'fa-tram';
+$fas[] = 'fa-transgender';
+$fas[] = 'fa-transgender-alt';
+$fas[] = 'fa-trash';
+$fas[] = 'fa-trash-alt';
+$fas[] = 'fa-trash-restore';
+$fas[] = 'fa-trash-restore-alt';
+$fas[] = 'fa-tree';
+$fas[] = 'fa-trophy';
+$fas[] = 'fa-truck';
+$fas[] = 'fa-truck-loading';
+$fas[] = 'fa-truck-monster';
+$fas[] = 'fa-truck-moving';
+$fas[] = 'fa-truck-pickup';
+$fas[] = 'fa-tshirt';
+$fas[] = 'fa-tty';
+$fas[] = 'fa-tv';
+$fas[] = 'fa-umbrella';
+$fas[] = 'fa-umbrella-beach';
+$fas[] = 'fa-underline';
+$fas[] = 'fa-undo';
+$fas[] = 'fa-undo-alt';
+$fas[] = 'fa-universal-access';
+$fas[] = 'fa-university';
+$fas[] = 'fa-unlink';
+$fas[] = 'fa-unlock';
+$fas[] = 'fa-unlock-alt';
+$fas[] = 'fa-upload';
+$fas[] = 'fa-user';
+$fas[] = 'fa-user-alt';
+$fas[] = 'fa-user-alt-slash';
+$fas[] = 'fa-user-astronaut';
+$fas[] = 'fa-user-check';
+$fas[] = 'fa-user-circle';
+$fas[] = 'fa-user-clock';
+$fas[] = 'fa-user-cog';
+$fas[] = 'fa-user-edit';
+$fas[] = 'fa-user-friends';
+$fas[] = 'fa-user-graduate';
+$fas[] = 'fa-user-injured';
+$fas[] = 'fa-user-lock';
+$fas[] = 'fa-user-md';
+$fas[] = 'fa-user-minus';
+$fas[] = 'fa-user-ninja';
+$fas[] = 'fa-user-nurse';
+$fas[] = 'fa-user-plus';
+$fas[] = 'fa-user-secret';
+$fas[] = 'fa-user-shield';
+$fas[] = 'fa-user-slash';
+$fas[] = 'fa-user-tag';
+$fas[] = 'fa-user-tie';
+$fas[] = 'fa-user-times';
+$fas[] = 'fa-users';
+$fas[] = 'fa-users-cog';
+$fas[] = 'fa-utensil-spoon';
+$fas[] = 'fa-utensils';
+$fas[] = 'fa-vector-square';
+$fas[] = 'fa-venus';
+$fas[] = 'fa-venus-double';
+$fas[] = 'fa-venus-mars';
+$fas[] = 'fa-vial';
+$fas[] = 'fa-vials';
+$fas[] = 'fa-video';
+$fas[] = 'fa-video-slash';
+$fas[] = 'fa-vihara';
+$fas[] = 'fa-voicemail';
+$fas[] = 'fa-volleyball-ball';
+$fas[] = 'fa-volume-down';
+$fas[] = 'fa-volume-mute';
+$fas[] = 'fa-volume-off';
+$fas[] = 'fa-volume-up';
+$fas[] = 'fa-vote-yea';
+$fas[] = 'fa-vr-cardboard';
+$fas[] = 'fa-walking';
+$fas[] = 'fa-wallet';
+$fas[] = 'fa-warehouse';
+$fas[] = 'fa-water';
+$fas[] = 'fa-wave-square';
+$fas[] = 'fa-weight';
+$fas[] = 'fa-weight-hanging';
+$fas[] = 'fa-wheelchair';
+$fas[] = 'fa-wifi';
+$fas[] = 'fa-wind';
+$fas[] = 'fa-window-close';
+$fas[] = 'fa-window-maximize';
+$fas[] = 'fa-window-minimize';
+$fas[] = 'fa-window-restore';
+$fas[] = 'fa-wine-bottle';
+$fas[] = 'fa-wine-glass';
+$fas[] = 'fa-wine-glass-alt';
+$fas[] = 'fa-won-sign';
+$fas[] = 'fa-wrench';
+$fas[] = 'fa-x-ray';
+$fas[] = 'fa-yen-sign';
+$fas[] = 'fa-yin-yang';
+$font_awesome_solid_icons = $fas;
+unset($fas);
+?>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 133 - 0
resources/fontawesome/js/all.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/js/all.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 133 - 0
resources/fontawesome/js/brands.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/js/brands.min.js


+ 991 - 0
resources/fontawesome/js/conflict-detection.js

@@ -0,0 +1,991 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+  typeof define === 'function' && define.amd ? define(['exports'], factory) :
+  (factory((global['fontawesome-free-conflict-detection'] = {})));
+}(this, (function (exports) { 'use strict';
+
+  function _typeof(obj) {
+    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+      _typeof = function (obj) {
+        return typeof obj;
+      };
+    } else {
+      _typeof = function (obj) {
+        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+      };
+    }
+
+    return _typeof(obj);
+  }
+
+  function _defineProperty(obj, key, value) {
+    if (key in obj) {
+      Object.defineProperty(obj, key, {
+        value: value,
+        enumerable: true,
+        configurable: true,
+        writable: true
+      });
+    } else {
+      obj[key] = value;
+    }
+
+    return obj;
+  }
+
+  function _objectSpread(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i] != null ? arguments[i] : {};
+      var ownKeys = Object.keys(source);
+
+      if (typeof Object.getOwnPropertySymbols === 'function') {
+        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
+          return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+        }));
+      }
+
+      ownKeys.forEach(function (key) {
+        _defineProperty(target, key, source[key]);
+      });
+    }
+
+    return target;
+  }
+
+  var _WINDOW = {};
+  var _DOCUMENT = {};
+
+  try {
+    if (typeof window !== 'undefined') _WINDOW = window;
+    if (typeof document !== 'undefined') _DOCUMENT = document;
+  } catch (e) {}
+
+  var _ref = _WINDOW.navigator || {},
+      _ref$userAgent = _ref.userAgent,
+      userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;
+
+  var WINDOW = _WINDOW;
+  var DOCUMENT = _DOCUMENT;
+  var IS_BROWSER = !!WINDOW.document;
+  var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
+  var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
+
+  var functions = [];
+
+  var listener = function listener() {
+    DOCUMENT.removeEventListener('DOMContentLoaded', listener);
+    loaded = 1;
+    functions.map(function (fn) {
+      return fn();
+    });
+  };
+
+  var loaded = false;
+
+  if (IS_DOM) {
+    loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
+    if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);
+  }
+
+  function domready (fn) {
+    if (!IS_DOM) return;
+    loaded ? setTimeout(fn, 0) : functions.push(fn);
+  }
+
+  function report (_ref) {
+    var nodesTested = _ref.nodesTested,
+        nodesFound = _ref.nodesFound;
+    var timedOutTests = {};
+
+    for (var key in nodesFound) {
+      if (!(nodesTested.conflict[key] || nodesTested.noConflict[key])) {
+        timedOutTests[key] = nodesFound[key];
+      }
+    }
+
+    var conflictsCount = Object.keys(nodesTested.conflict).length;
+
+    if (conflictsCount > 0) {
+      console.info("%cConflict".concat(conflictsCount > 1 ? 's' : '', " found:"), 'color: darkred; font-size: large');
+      var data = {};
+
+      for (var _key in nodesTested.conflict) {
+        var item = nodesTested.conflict[_key];
+        data[_key] = {
+          'tagName': item.tagName,
+          'src/href': item.src || item.href || 'n/a',
+          'innerText excerpt': item.innerText && item.innerText !== '' ? item.innerText.slice(0, 200) + '...' : '(empty)'
+        };
+      }
+
+      console.table(data);
+    }
+
+    var noConflictsCount = Object.keys(nodesTested.noConflict).length;
+
+    if (noConflictsCount > 0) {
+      console.info("%cNo conflict".concat(noConflictsCount > 1 ? 's' : '', " found with ").concat(noConflictsCount == 1 ? 'this' : 'these', ":"), 'color: green; font-size: large');
+      var _data = {};
+
+      for (var _key2 in nodesTested.noConflict) {
+        var _item = nodesTested.noConflict[_key2];
+        _data[_key2] = {
+          'tagName': _item.tagName,
+          'src/href': _item.src || _item.href || 'n/a',
+          'innerText excerpt': _item.innerText && _item.innerText !== '' ? _item.innerText.slice(0, 200) + '...' : '(empty)'
+        };
+      }
+
+      console.table(_data);
+    }
+
+    var timeOutCount = Object.keys(timedOutTests).length;
+
+    if (timeOutCount > 0) {
+      console.info("%cLeftovers--we timed out before collecting test results for ".concat(timeOutCount == 1 ? 'this' : 'these', ":"), 'color: blue; font-size: large');
+      var _data2 = {};
+
+      for (var _key3 in timedOutTests) {
+        var _item2 = timedOutTests[_key3];
+        _data2[_key3] = {
+          'tagName': _item2.tagName,
+          'src/href': _item2.src || _item2.href || 'n/a',
+          'innerText excerpt': _item2.innerText && _item2.innerText !== '' ? _item2.innerText.slice(0, 200) + '...' : '(empty)'
+        };
+      }
+
+      console.table(_data2);
+    }
+  }
+
+  var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
+
+  function createCommonjsModule(fn, module) {
+  	return module = { exports: {} }, fn(module, module.exports), module.exports;
+  }
+
+  var md5 = createCommonjsModule(function (module) {
+
+    (function ($) {
+      /**
+       * Add integers, wrapping at 2^32.
+       * This uses 16-bit operations internally to work around bugs in interpreters.
+       *
+       * @param {number} x First integer
+       * @param {number} y Second integer
+       * @returns {number} Sum
+       */
+
+      function safeAdd(x, y) {
+        var lsw = (x & 0xffff) + (y & 0xffff);
+        var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+        return msw << 16 | lsw & 0xffff;
+      }
+      /**
+       * Bitwise rotate a 32-bit number to the left.
+       *
+       * @param {number} num 32-bit number
+       * @param {number} cnt Rotation count
+       * @returns {number} Rotated number
+       */
+
+
+      function bitRotateLeft(num, cnt) {
+        return num << cnt | num >>> 32 - cnt;
+      }
+      /**
+       * Basic operation the algorithm uses.
+       *
+       * @param {number} q q
+       * @param {number} a a
+       * @param {number} b b
+       * @param {number} x x
+       * @param {number} s s
+       * @param {number} t t
+       * @returns {number} Result
+       */
+
+
+      function md5cmn(q, a, b, x, s, t) {
+        return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);
+      }
+      /**
+       * Basic operation the algorithm uses.
+       *
+       * @param {number} a a
+       * @param {number} b b
+       * @param {number} c c
+       * @param {number} d d
+       * @param {number} x x
+       * @param {number} s s
+       * @param {number} t t
+       * @returns {number} Result
+       */
+
+
+      function md5ff(a, b, c, d, x, s, t) {
+        return md5cmn(b & c | ~b & d, a, b, x, s, t);
+      }
+      /**
+       * Basic operation the algorithm uses.
+       *
+       * @param {number} a a
+       * @param {number} b b
+       * @param {number} c c
+       * @param {number} d d
+       * @param {number} x x
+       * @param {number} s s
+       * @param {number} t t
+       * @returns {number} Result
+       */
+
+
+      function md5gg(a, b, c, d, x, s, t) {
+        return md5cmn(b & d | c & ~d, a, b, x, s, t);
+      }
+      /**
+       * Basic operation the algorithm uses.
+       *
+       * @param {number} a a
+       * @param {number} b b
+       * @param {number} c c
+       * @param {number} d d
+       * @param {number} x x
+       * @param {number} s s
+       * @param {number} t t
+       * @returns {number} Result
+       */
+
+
+      function md5hh(a, b, c, d, x, s, t) {
+        return md5cmn(b ^ c ^ d, a, b, x, s, t);
+      }
+      /**
+       * Basic operation the algorithm uses.
+       *
+       * @param {number} a a
+       * @param {number} b b
+       * @param {number} c c
+       * @param {number} d d
+       * @param {number} x x
+       * @param {number} s s
+       * @param {number} t t
+       * @returns {number} Result
+       */
+
+
+      function md5ii(a, b, c, d, x, s, t) {
+        return md5cmn(c ^ (b | ~d), a, b, x, s, t);
+      }
+      /**
+       * Calculate the MD5 of an array of little-endian words, and a bit length.
+       *
+       * @param {Array} x Array of little-endian words
+       * @param {number} len Bit length
+       * @returns {Array<number>} MD5 Array
+       */
+
+
+      function binlMD5(x, len) {
+        /* append padding */
+        x[len >> 5] |= 0x80 << len % 32;
+        x[(len + 64 >>> 9 << 4) + 14] = len;
+        var i;
+        var olda;
+        var oldb;
+        var oldc;
+        var oldd;
+        var a = 1732584193;
+        var b = -271733879;
+        var c = -1732584194;
+        var d = 271733878;
+
+        for (i = 0; i < x.length; i += 16) {
+          olda = a;
+          oldb = b;
+          oldc = c;
+          oldd = d;
+          a = md5ff(a, b, c, d, x[i], 7, -680876936);
+          d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);
+          c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);
+          b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);
+          a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);
+          d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);
+          c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);
+          b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);
+          a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);
+          d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);
+          c = md5ff(c, d, a, b, x[i + 10], 17, -42063);
+          b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);
+          a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);
+          d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);
+          c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);
+          b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);
+          a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);
+          d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);
+          c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);
+          b = md5gg(b, c, d, a, x[i], 20, -373897302);
+          a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);
+          d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);
+          c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);
+          b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);
+          a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);
+          d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);
+          c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);
+          b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);
+          a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);
+          d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);
+          c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);
+          b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);
+          a = md5hh(a, b, c, d, x[i + 5], 4, -378558);
+          d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);
+          c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);
+          b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);
+          a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);
+          d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);
+          c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);
+          b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);
+          a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);
+          d = md5hh(d, a, b, c, x[i], 11, -358537222);
+          c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);
+          b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);
+          a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);
+          d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);
+          c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);
+          b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);
+          a = md5ii(a, b, c, d, x[i], 6, -198630844);
+          d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);
+          c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);
+          b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);
+          a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);
+          d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);
+          c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);
+          b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);
+          a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);
+          d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);
+          c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);
+          b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);
+          a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);
+          d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);
+          c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);
+          b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);
+          a = safeAdd(a, olda);
+          b = safeAdd(b, oldb);
+          c = safeAdd(c, oldc);
+          d = safeAdd(d, oldd);
+        }
+
+        return [a, b, c, d];
+      }
+      /**
+       * Convert an array of little-endian words to a string
+       *
+       * @param {Array<number>} input MD5 Array
+       * @returns {string} MD5 string
+       */
+
+
+      function binl2rstr(input) {
+        var i;
+        var output = '';
+        var length32 = input.length * 32;
+
+        for (i = 0; i < length32; i += 8) {
+          output += String.fromCharCode(input[i >> 5] >>> i % 32 & 0xff);
+        }
+
+        return output;
+      }
+      /**
+       * Convert a raw string to an array of little-endian words
+       * Characters >255 have their high-byte silently ignored.
+       *
+       * @param {string} input Raw input string
+       * @returns {Array<number>} Array of little-endian words
+       */
+
+
+      function rstr2binl(input) {
+        var i;
+        var output = [];
+        output[(input.length >> 2) - 1] = undefined;
+
+        for (i = 0; i < output.length; i += 1) {
+          output[i] = 0;
+        }
+
+        var length8 = input.length * 8;
+
+        for (i = 0; i < length8; i += 8) {
+          output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32;
+        }
+
+        return output;
+      }
+      /**
+       * Calculate the MD5 of a raw string
+       *
+       * @param {string} s Input string
+       * @returns {string} Raw MD5 string
+       */
+
+
+      function rstrMD5(s) {
+        return binl2rstr(binlMD5(rstr2binl(s), s.length * 8));
+      }
+      /**
+       * Calculates the HMAC-MD5 of a key and some data (raw strings)
+       *
+       * @param {string} key HMAC key
+       * @param {string} data Raw input string
+       * @returns {string} Raw MD5 string
+       */
+
+
+      function rstrHMACMD5(key, data) {
+        var i;
+        var bkey = rstr2binl(key);
+        var ipad = [];
+        var opad = [];
+        var hash;
+        ipad[15] = opad[15] = undefined;
+
+        if (bkey.length > 16) {
+          bkey = binlMD5(bkey, key.length * 8);
+        }
+
+        for (i = 0; i < 16; i += 1) {
+          ipad[i] = bkey[i] ^ 0x36363636;
+          opad[i] = bkey[i] ^ 0x5c5c5c5c;
+        }
+
+        hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
+        return binl2rstr(binlMD5(opad.concat(hash), 512 + 128));
+      }
+      /**
+       * Convert a raw string to a hex string
+       *
+       * @param {string} input Raw input string
+       * @returns {string} Hex encoded string
+       */
+
+
+      function rstr2hex(input) {
+        var hexTab = '0123456789abcdef';
+        var output = '';
+        var x;
+        var i;
+
+        for (i = 0; i < input.length; i += 1) {
+          x = input.charCodeAt(i);
+          output += hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f);
+        }
+
+        return output;
+      }
+      /**
+       * Encode a string as UTF-8
+       *
+       * @param {string} input Input string
+       * @returns {string} UTF8 string
+       */
+
+
+      function str2rstrUTF8(input) {
+        return unescape(encodeURIComponent(input));
+      }
+      /**
+       * Encodes input string as raw MD5 string
+       *
+       * @param {string} s Input string
+       * @returns {string} Raw MD5 string
+       */
+
+
+      function rawMD5(s) {
+        return rstrMD5(str2rstrUTF8(s));
+      }
+      /**
+       * Encodes input string as Hex encoded string
+       *
+       * @param {string} s Input string
+       * @returns {string} Hex encoded string
+       */
+
+
+      function hexMD5(s) {
+        return rstr2hex(rawMD5(s));
+      }
+      /**
+       * Calculates the raw HMAC-MD5 for the given key and data
+       *
+       * @param {string} k HMAC key
+       * @param {string} d Input string
+       * @returns {string} Raw MD5 string
+       */
+
+
+      function rawHMACMD5(k, d) {
+        return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d));
+      }
+      /**
+       * Calculates the Hex encoded HMAC-MD5 for the given key and data
+       *
+       * @param {string} k HMAC key
+       * @param {string} d Input string
+       * @returns {string} Raw MD5 string
+       */
+
+
+      function hexHMACMD5(k, d) {
+        return rstr2hex(rawHMACMD5(k, d));
+      }
+      /**
+       * Calculates MD5 value for a given string.
+       * If a key is provided, calculates the HMAC-MD5 value.
+       * Returns a Hex encoded string unless the raw argument is given.
+       *
+       * @param {string} string Input string
+       * @param {string} [key] HMAC key
+       * @param {boolean} raw Raw oytput switch
+       * @returns {string} MD5 output
+       */
+
+
+      function md5(string, key, raw) {
+        if (!key) {
+          if (!raw) {
+            return hexMD5(string);
+          }
+
+          return rawMD5(string);
+        }
+
+        if (!raw) {
+          return hexHMACMD5(key, string);
+        }
+
+        return rawHMACMD5(key, string);
+      }
+
+      if (module.exports) {
+        module.exports = md5;
+      } else {
+        $.md5 = md5;
+      }
+    })(commonjsGlobal);
+  });
+
+  function md5ForNode(node) {
+    if (null === node || 'object' !== _typeof(node)) return undefined;
+
+    if (node.src) {
+      return md5(node.src);
+    } else if (node.href) {
+      return md5(node.href);
+    } else if (node.innerText && '' !== node.innerText) {
+      // eslint-disable-line yoda
+      return md5(node.innerText);
+    } else {
+      return undefined;
+    }
+  }
+
+  var diagScriptId = 'fa-kits-diag';
+  var nodeUnderTestId = 'fa-kits-node-under-test';
+  var md5Attr = 'data-md5';
+  var detectionIgnoreAttr = 'data-fa-detection-ignore';
+  var timeoutAttr = 'data-fa-detection-timeout';
+  var resultsCollectionMaxWaitAttr = 'data-fa-detection-results-collection-max-wait';
+
+  function pollUntil(_ref) {
+    var _ref$fn = _ref.fn,
+        fn = _ref$fn === void 0 ? function () {
+      return true;
+    } : _ref$fn,
+        _ref$initialDuration = _ref.initialDuration,
+        initialDuration = _ref$initialDuration === void 0 ? 1 : _ref$initialDuration,
+        _ref$maxDuration = _ref.maxDuration,
+        maxDuration = _ref$maxDuration === void 0 ? WINDOW.FontAwesomeDetection.timeout : _ref$maxDuration,
+        _ref$showProgress = _ref.showProgress,
+        showProgress = _ref$showProgress === void 0 ? false : _ref$showProgress,
+        progressIndicator = _ref.progressIndicator;
+    return new Promise(function (resolve, reject) {
+      // eslint-disable-line compat/compat
+      function poll(duration, cumulativeDuration) {
+        setTimeout(function () {
+          var result = fn();
+
+          if (showProgress) {
+            console.info(progressIndicator);
+          }
+
+          if (!!result) {
+            // eslint-disable-line no-extra-boolean-cast
+            resolve(result);
+          } else {
+            var nextDuration = 250;
+            var nextCumulativeDuration = nextDuration + cumulativeDuration;
+
+            if (nextCumulativeDuration <= maxDuration) {
+              poll(nextDuration, nextCumulativeDuration);
+            } else {
+              reject('timeout'); // eslint-disable-line prefer-promise-reject-errors
+            }
+          }
+        }, duration);
+      }
+
+      poll(initialDuration, 0);
+    });
+  }
+
+  function detectWebfontConflicts() {
+    var linkTags = Array.from(DOCUMENT.getElementsByTagName('link')).filter(function (t) {
+      return !t.hasAttribute(detectionIgnoreAttr);
+    });
+    var styleTags = Array.from(DOCUMENT.getElementsByTagName('style')).filter(function (t) {
+      if (t.hasAttribute(detectionIgnoreAttr)) {
+        return false;
+      } // If the browser has loaded the FA5 CSS, let's not test that <style> element.
+      // Its enough that we'll be testing for traces of the corresponding JS being loaded, and testing
+      // this <style> would only produce a false negative anyway.
+
+
+      if (WINDOW.FontAwesomeConfig && t.innerText.match(new RegExp("svg:not\\(:root\\)\\.".concat(WINDOW.FontAwesomeConfig.replacementClass)))) {
+        return false;
+      }
+
+      return true;
+    });
+
+    function runDiag(scriptOrLinkTag, md5) {
+      var diagFrame = DOCUMENT.createElement('iframe'); // Using "visibility: hidden; position: absolute" instead of "display: none;" because
+      // Firefox will not return the expected results for getComputedStyle if our iframe has display: none.
+
+      diagFrame.setAttribute('style', 'visibility: hidden; position: absolute; height: 0; width: 0;');
+      var testIconId = 'fa-test-icon-' + md5;
+      var iTag = DOCUMENT.createElement('i');
+      iTag.setAttribute('class', 'fa fa-coffee');
+      iTag.setAttribute('id', testIconId);
+      var diagScript = DOCUMENT.createElement('script');
+      diagScript.setAttribute('id', diagScriptId); // WARNING: this function will be toString()'d and assigned to innerText of the diag script
+      // element that we'll be putting into a diagnostic iframe.
+      // That means that this code won't compile until after the outer script has run and injected
+      // this code into the iframe. There are some compile time errors that might occur there.
+      // For example, using single line (double-slash) comments like this one inside that function
+      // will probably cause it to choke. Chrome will show an error like this:
+      // Uncaught SyntaxError: Unexpected end of input
+
+      var diagScriptFun = function diagScriptFun(nodeUnderTestId, testIconId, md5, parentOrigin) {
+        parent.FontAwesomeDetection.__pollUntil({
+          fn: function fn() {
+            var iEl = document.getElementById(testIconId);
+            var computedStyle = window.getComputedStyle(iEl);
+            var fontFamily = computedStyle.getPropertyValue('font-family');
+
+            if (!!fontFamily.match(/FontAwesome/) || !!fontFamily.match(/Font Awesome 5/)) {
+              return true;
+            } else {
+              return false;
+            }
+          }
+        }).then(function () {
+          var node = document.getElementById(nodeUnderTestId);
+          parent.postMessage({
+            type: 'fontawesome-conflict',
+            technology: 'webfont',
+            href: node.href,
+            innerText: node.innerText,
+            tagName: node.tagName,
+            md5: md5
+          }, parentOrigin);
+        }).catch(function (e) {
+          var node = document.getElementById(nodeUnderTestId);
+
+          if (e === 'timeout') {
+            parent.postMessage({
+              type: 'no-conflict',
+              technology: 'webfont',
+              href: node.src,
+              innerText: node.innerText,
+              tagName: node.tagName,
+              md5: md5
+            }, parentOrigin);
+          } else {
+            console.error(e);
+          }
+        });
+      };
+
+      var parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
+      diagScript.innerText = "(".concat(diagScriptFun.toString(), ")('").concat(nodeUnderTestId, "', '").concat(testIconId || 'foo', "', '").concat(md5, "', '").concat(parentOrigin, "');");
+
+      diagFrame.onload = function () {
+        diagFrame.contentDocument.head.appendChild(diagScript);
+        diagFrame.contentDocument.head.appendChild(scriptOrLinkTag);
+        diagFrame.contentDocument.body.appendChild(iTag);
+      };
+
+      domready(function () {
+        return DOCUMENT.body.appendChild(diagFrame);
+      });
+    }
+
+    var cssByMD5 = {};
+
+    for (var i = 0; i < linkTags.length; i++) {
+      var linkUnderTest = DOCUMENT.createElement('link');
+      linkUnderTest.setAttribute('id', nodeUnderTestId);
+      linkUnderTest.setAttribute('href', linkTags[i].href);
+      linkUnderTest.setAttribute('rel', linkTags[i].rel);
+      var md5ForLink = md5ForNode(linkTags[i]);
+      linkUnderTest.setAttribute(md5Attr, md5ForLink);
+      cssByMD5[md5ForLink] = linkTags[i];
+      runDiag(linkUnderTest, md5ForLink);
+    }
+
+    for (var _i = 0; _i < styleTags.length; _i++) {
+      var styleUnderTest = DOCUMENT.createElement('style');
+      styleUnderTest.setAttribute('id', nodeUnderTestId);
+      var md5ForStyle = md5ForNode(styleTags[_i]);
+      styleUnderTest.setAttribute(md5Attr, md5ForStyle);
+      styleUnderTest.innerText = styleTags[_i].innerText;
+      cssByMD5[md5ForStyle] = styleTags[_i];
+      runDiag(styleUnderTest, md5ForStyle);
+    }
+
+    return cssByMD5;
+  }
+
+  function detectSvgConflicts(currentScript) {
+    var scripts = Array.from(DOCUMENT.scripts).filter(function (t) {
+      return !t.hasAttribute(detectionIgnoreAttr) && t !== currentScript;
+    });
+    var scriptsByMD5 = {};
+
+    var _loop = function _loop(scriptIdx) {
+      var diagFrame = DOCUMENT.createElement('iframe');
+      diagFrame.setAttribute('style', 'display:none;');
+      var scriptUnderTest = DOCUMENT.createElement('script');
+      scriptUnderTest.setAttribute('id', nodeUnderTestId);
+      var md5ForScript = md5ForNode(scripts[scriptIdx]);
+      scriptUnderTest.setAttribute(md5Attr, md5ForScript);
+      scriptsByMD5[md5ForScript] = scripts[scriptIdx];
+
+      if (scripts[scriptIdx].src !== '') {
+        scriptUnderTest.src = scripts[scriptIdx].src;
+      }
+
+      if (scripts[scriptIdx].innerText !== '') {
+        scriptUnderTest.innerText = scripts[scriptIdx].innerText;
+      }
+
+      scriptUnderTest.async = true;
+      var diagScript = DOCUMENT.createElement('script');
+      diagScript.setAttribute('id', diagScriptId);
+      var parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
+
+      var diagScriptFun = function diagScriptFun(nodeUnderTestId, md5, parentOrigin) {
+        parent.FontAwesomeDetection.__pollUntil({
+          fn: function fn() {
+            return !!window.FontAwesomeConfig;
+          }
+        }).then(function () {
+          var scriptNode = document.getElementById(nodeUnderTestId);
+          parent.postMessage({
+            type: 'fontawesome-conflict',
+            technology: 'js',
+            src: scriptNode.src,
+            innerText: scriptNode.innerText,
+            tagName: scriptNode.tagName,
+            md5: md5
+          }, parentOrigin);
+        }).catch(function (e) {
+          var scriptNode = document.getElementById(nodeUnderTestId);
+
+          if (e === 'timeout') {
+            parent.postMessage({
+              type: 'no-conflict',
+              src: scriptNode.src,
+              innerText: scriptNode.innerText,
+              tagName: scriptNode.tagName,
+              md5: md5
+            }, parentOrigin);
+          } else {
+            console.error(e);
+          }
+        });
+      };
+
+      diagScript.innerText = "(".concat(diagScriptFun.toString(), ")('").concat(nodeUnderTestId, "', '").concat(md5ForScript, "', '").concat(parentOrigin, "');");
+
+      diagFrame.onload = function () {
+        diagFrame.contentDocument.head.appendChild(diagScript);
+        diagFrame.contentDocument.head.appendChild(scriptUnderTest);
+      };
+
+      domready(function () {
+        return DOCUMENT.body.appendChild(diagFrame);
+      });
+    };
+
+    for (var scriptIdx = 0; scriptIdx < scripts.length; scriptIdx++) {
+      _loop(scriptIdx);
+    }
+
+    return scriptsByMD5;
+  }
+
+  function setDoneResults(_ref2) {
+    var nodesTested = _ref2.nodesTested,
+        nodesFound = _ref2.nodesFound;
+    WINDOW.FontAwesomeDetection = WINDOW.FontAwesomeDetection || {};
+    WINDOW.FontAwesomeDetection.nodesTested = nodesTested;
+    WINDOW.FontAwesomeDetection.nodesFound = nodesFound;
+    WINDOW.FontAwesomeDetection.detectionDone = true;
+  }
+
+  function conflictDetection() {
+    var report$$1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
+    var nodesTested = {
+      conflict: {},
+      noConflict: {}
+    };
+
+    WINDOW.onmessage = function (e) {
+      if (WINDOW.location.origin === 'file://' || e.origin === WINDOW.location.origin) {
+        if (e && e.data) {
+          if (e.data.type === 'fontawesome-conflict') {
+            nodesTested.conflict[e.data.md5] = e.data;
+          } else if (e.data.type === 'no-conflict') {
+            nodesTested.noConflict[e.data.md5] = e.data;
+          }
+        }
+      }
+    };
+
+    var scriptsToTest = detectSvgConflicts(DOCUMENT.currentScript);
+    var cssToTest = detectWebfontConflicts();
+
+    var nodesFound = _objectSpread({}, scriptsToTest, cssToTest);
+
+    var testCount = Object.keys(scriptsToTest).length + Object.keys(cssToTest).length; // The resultsCollectionMaxWait allows for the time between when the tests running under
+    // child iframes call postMessage with their results, and when the parent window
+    // receives and handles those events with window.onmessage.
+    // Making it configurable allows us to test the scenario where this timeout is exceeded.
+    // Naming it something very different from "timeout" is to help avoid the potential ambiguity between
+    // these two timeout-related settings.
+
+    var masterTimeout = WINDOW.FontAwesomeDetection.timeout + WINDOW.FontAwesomeDetection.resultsCollectionMaxWait;
+    console.group('Font Awesome Detector');
+
+    if (testCount === 0) {
+      console.info('%cAll Good!', 'color: green; font-size: large');
+      console.info('We didn\'t find anything that needs testing for conflicts. Ergo, no conflicts.');
+    } else {
+      console.info("Testing ".concat(testCount, " possible conflicts."));
+      console.info("We'll wait about ".concat(Math.round(WINDOW.FontAwesomeDetection.timeout / 10) / 100, " seconds while testing these and\n") + "then up to another ".concat(Math.round(WINDOW.FontAwesomeDetection.resultsCollectionMaxWait / 10) / 100, " to allow the browser time\n") + "to accumulate the results. But we'll probably be outta here way before then.\n\n");
+      console.info("You can adjust those durations by assigning values to these attributes on the <script> element that loads this detection:");
+      console.info("\t%c".concat(timeoutAttr, "%c: milliseconds to wait for each test before deciding whether it's a conflict."), 'font-weight: bold;', 'font-size: normal;');
+      console.info("\t%c".concat(resultsCollectionMaxWaitAttr, "%c: milliseconds to wait for the browser to accumulate test results before giving up."), 'font-weight: bold;', 'font-size: normal;');
+      pollUntil({
+        // Give this overall timer a little extra cushion
+        maxDuration: masterTimeout,
+        showProgress: true,
+        progressIndicator: 'waiting...',
+        fn: function fn() {
+          return Object.keys(nodesTested.conflict).length + Object.keys(nodesTested.noConflict).length >= testCount;
+        }
+      }).then(function () {
+        console.info('DONE!');
+        setDoneResults({
+          nodesTested: nodesTested,
+          nodesFound: nodesFound
+        });
+        report$$1({
+          nodesTested: nodesTested,
+          nodesFound: nodesFound
+        });
+        console.groupEnd();
+      }).catch(function (e) {
+        if (e === 'timeout') {
+          console.info('TIME OUT! We waited until we got tired. Here\'s what we found:');
+          setDoneResults({
+            nodesTested: nodesTested,
+            nodesFound: nodesFound
+          });
+          report$$1({
+            nodesTested: nodesTested,
+            nodesFound: nodesFound
+          });
+        } else {
+          console.info('Whoops! We hit an error:', e);
+          console.info('Here\'s what we\'d found up until that error:');
+          setDoneResults({
+            nodesTested: nodesTested,
+            nodesFound: nodesFound
+          });
+          report$$1({
+            nodesTested: nodesTested,
+            nodesFound: nodesFound
+          });
+        }
+
+        console.groupEnd();
+      });
+    }
+  } // Allow clients to access, and in some cases, override some properties
+
+  var initialConfig = WINDOW.FontAwesomeDetection || {}; // These can be overridden
+
+  var _default = {
+    report: report,
+    timeout: +(DOCUMENT.currentScript.getAttribute(timeoutAttr) || "2000"),
+    resultsCollectionMaxWait: +(DOCUMENT.currentScript.getAttribute(resultsCollectionMaxWaitAttr) || "5000")
+  };
+
+  var _config = _objectSpread({}, _default, initialConfig, {
+    // These cannot be overridden
+    __pollUntil: pollUntil,
+    md5ForNode: md5ForNode,
+    detectionDone: false,
+    nodesTested: null,
+    nodesFound: null
+  });
+
+  WINDOW.FontAwesomeDetection = _config;
+
+  var PRODUCTION = function () {
+    try {
+      return process.env.NODE_ENV === 'production';
+    } catch (e) {
+      return false;
+    }
+  }();
+
+  function bunker(fn) {
+    try {
+      fn();
+    } catch (e) {
+      if (!PRODUCTION) {
+        throw e;
+      }
+    }
+  }
+
+  bunker(function () {
+    if (IS_BROWSER && IS_DOM) {
+      conflictDetection(window.FontAwesomeDetection.report);
+    }
+  });
+
+  exports.conflictDetection = conflictDetection;
+
+  Object.defineProperty(exports, '__esModule', { value: true });
+
+})));

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/js/conflict-detection.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2071 - 0
resources/fontawesome/js/fontawesome.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/js/fontawesome.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 180 - 0
resources/fontawesome/js/regular.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/js/regular.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 132 - 0
resources/fontawesome/js/solid.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/js/solid.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 54 - 0
resources/fontawesome/js/v4-shims.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
resources/fontawesome/js/v4-shims.min.js


+ 19 - 0
resources/fontawesome/less/_animated.less

@@ -0,0 +1,19 @@
+// Animated Icons
+// --------------------------
+
+.@{fa-css-prefix}-spin {
+  animation: fa-spin 2s infinite linear;
+}
+
+.@{fa-css-prefix}-pulse {
+  animation: fa-spin 1s infinite steps(8);
+}
+
+@keyframes fa-spin {
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(360deg);
+  }
+}

+ 16 - 0
resources/fontawesome/less/_bordered-pulled.less

@@ -0,0 +1,16 @@
+// Bordered & Pulled
+// -------------------------
+
+.@{fa-css-prefix}-border {
+  border-radius: .1em;
+  border: solid .08em @fa-border-color;
+  padding: .2em .25em .15em;
+}
+
+.@{fa-css-prefix}-pull-left { float: left; }
+.@{fa-css-prefix}-pull-right { float: right; }
+
+.@{fa-css-prefix}, .fas, .far, .fal, .fab {
+  &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
+  &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
+}

+ 12 - 0
resources/fontawesome/less/_core.less

@@ -0,0 +1,12 @@
+// Base Class Definition
+// -------------------------
+
+.@{fa-css-prefix}, .fas, .far, .fal, .fad, .fab {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  text-rendering: auto;
+  line-height: 1;
+}

+ 6 - 0
resources/fontawesome/less/_fixed-width.less

@@ -0,0 +1,6 @@
+// Fixed Width Icons
+// -------------------------
+.@{fa-css-prefix}-fw {
+  text-align: center;
+  width: (20em / 16);
+}

+ 1388 - 0
resources/fontawesome/less/_icons.less

@@ -0,0 +1,1388 @@
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+   readers do not read off random characters that represent icons */
+
+.@{fa-css-prefix}-500px:before { content: @fa-var-500px; }
+.@{fa-css-prefix}-accessible-icon:before { content: @fa-var-accessible-icon; }
+.@{fa-css-prefix}-accusoft:before { content: @fa-var-accusoft; }
+.@{fa-css-prefix}-acquisitions-incorporated:before { content: @fa-var-acquisitions-incorporated; }
+.@{fa-css-prefix}-ad:before { content: @fa-var-ad; }
+.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; }
+.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; }
+.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; }
+.@{fa-css-prefix}-adn:before { content: @fa-var-adn; }
+.@{fa-css-prefix}-adobe:before { content: @fa-var-adobe; }
+.@{fa-css-prefix}-adversal:before { content: @fa-var-adversal; }
+.@{fa-css-prefix}-affiliatetheme:before { content: @fa-var-affiliatetheme; }
+.@{fa-css-prefix}-air-freshener:before { content: @fa-var-air-freshener; }
+.@{fa-css-prefix}-airbnb:before { content: @fa-var-airbnb; }
+.@{fa-css-prefix}-algolia:before { content: @fa-var-algolia; }
+.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; }
+.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; }
+.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; }
+.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; }
+.@{fa-css-prefix}-alipay:before { content: @fa-var-alipay; }
+.@{fa-css-prefix}-allergies:before { content: @fa-var-allergies; }
+.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; }
+.@{fa-css-prefix}-amazon-pay:before { content: @fa-var-amazon-pay; }
+.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; }
+.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; }
+.@{fa-css-prefix}-amilia:before { content: @fa-var-amilia; }
+.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; }
+.@{fa-css-prefix}-android:before { content: @fa-var-android; }
+.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; }
+.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; }
+.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; }
+.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; }
+.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; }
+.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; }
+.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; }
+.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; }
+.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; }
+.@{fa-css-prefix}-angry:before { content: @fa-var-angry; }
+.@{fa-css-prefix}-angrycreative:before { content: @fa-var-angrycreative; }
+.@{fa-css-prefix}-angular:before { content: @fa-var-angular; }
+.@{fa-css-prefix}-ankh:before { content: @fa-var-ankh; }
+.@{fa-css-prefix}-app-store:before { content: @fa-var-app-store; }
+.@{fa-css-prefix}-app-store-ios:before { content: @fa-var-app-store-ios; }
+.@{fa-css-prefix}-apper:before { content: @fa-var-apper; }
+.@{fa-css-prefix}-apple:before { content: @fa-var-apple; }
+.@{fa-css-prefix}-apple-alt:before { content: @fa-var-apple-alt; }
+.@{fa-css-prefix}-apple-pay:before { content: @fa-var-apple-pay; }
+.@{fa-css-prefix}-archive:before { content: @fa-var-archive; }
+.@{fa-css-prefix}-archway:before { content: @fa-var-archway; }
+.@{fa-css-prefix}-arrow-alt-circle-down:before { content: @fa-var-arrow-alt-circle-down; }
+.@{fa-css-prefix}-arrow-alt-circle-left:before { content: @fa-var-arrow-alt-circle-left; }
+.@{fa-css-prefix}-arrow-alt-circle-right:before { content: @fa-var-arrow-alt-circle-right; }
+.@{fa-css-prefix}-arrow-alt-circle-up:before { content: @fa-var-arrow-alt-circle-up; }
+.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; }
+.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; }
+.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; }
+.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; }
+.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; }
+.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; }
+.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; }
+.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; }
+.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; }
+.@{fa-css-prefix}-arrows-alt-h:before { content: @fa-var-arrows-alt-h; }
+.@{fa-css-prefix}-arrows-alt-v:before { content: @fa-var-arrows-alt-v; }
+.@{fa-css-prefix}-artstation:before { content: @fa-var-artstation; }
+.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; }
+.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; }
+.@{fa-css-prefix}-asymmetrik:before { content: @fa-var-asymmetrik; }
+.@{fa-css-prefix}-at:before { content: @fa-var-at; }
+.@{fa-css-prefix}-atlas:before { content: @fa-var-atlas; }
+.@{fa-css-prefix}-atlassian:before { content: @fa-var-atlassian; }
+.@{fa-css-prefix}-atom:before { content: @fa-var-atom; }
+.@{fa-css-prefix}-audible:before { content: @fa-var-audible; }
+.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; }
+.@{fa-css-prefix}-autoprefixer:before { content: @fa-var-autoprefixer; }
+.@{fa-css-prefix}-avianex:before { content: @fa-var-avianex; }
+.@{fa-css-prefix}-aviato:before { content: @fa-var-aviato; }
+.@{fa-css-prefix}-award:before { content: @fa-var-award; }
+.@{fa-css-prefix}-aws:before { content: @fa-var-aws; }
+.@{fa-css-prefix}-baby:before { content: @fa-var-baby; }
+.@{fa-css-prefix}-baby-carriage:before { content: @fa-var-baby-carriage; }
+.@{fa-css-prefix}-backspace:before { content: @fa-var-backspace; }
+.@{fa-css-prefix}-backward:before { content: @fa-var-backward; }
+.@{fa-css-prefix}-bacon:before { content: @fa-var-bacon; }
+.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; }
+.@{fa-css-prefix}-balance-scale-left:before { content: @fa-var-balance-scale-left; }
+.@{fa-css-prefix}-balance-scale-right:before { content: @fa-var-balance-scale-right; }
+.@{fa-css-prefix}-ban:before { content: @fa-var-ban; }
+.@{fa-css-prefix}-band-aid:before { content: @fa-var-band-aid; }
+.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; }
+.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; }
+.@{fa-css-prefix}-bars:before { content: @fa-var-bars; }
+.@{fa-css-prefix}-baseball-ball:before { content: @fa-var-baseball-ball; }
+.@{fa-css-prefix}-basketball-ball:before { content: @fa-var-basketball-ball; }
+.@{fa-css-prefix}-bath:before { content: @fa-var-bath; }
+.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; }
+.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; }
+.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; }
+.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; }
+.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; }
+.@{fa-css-prefix}-battle-net:before { content: @fa-var-battle-net; }
+.@{fa-css-prefix}-bed:before { content: @fa-var-bed; }
+.@{fa-css-prefix}-beer:before { content: @fa-var-beer; }
+.@{fa-css-prefix}-behance:before { content: @fa-var-behance; }
+.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; }
+.@{fa-css-prefix}-bell:before { content: @fa-var-bell; }
+.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; }
+.@{fa-css-prefix}-bezier-curve:before { content: @fa-var-bezier-curve; }
+.@{fa-css-prefix}-bible:before { content: @fa-var-bible; }
+.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; }
+.@{fa-css-prefix}-biking:before { content: @fa-var-biking; }
+.@{fa-css-prefix}-bimobject:before { content: @fa-var-bimobject; }
+.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; }
+.@{fa-css-prefix}-biohazard:before { content: @fa-var-biohazard; }
+.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; }
+.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; }
+.@{fa-css-prefix}-bitcoin:before { content: @fa-var-bitcoin; }
+.@{fa-css-prefix}-bity:before { content: @fa-var-bity; }
+.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; }
+.@{fa-css-prefix}-blackberry:before { content: @fa-var-blackberry; }
+.@{fa-css-prefix}-blender:before { content: @fa-var-blender; }
+.@{fa-css-prefix}-blender-phone:before { content: @fa-var-blender-phone; }
+.@{fa-css-prefix}-blind:before { content: @fa-var-blind; }
+.@{fa-css-prefix}-blog:before { content: @fa-var-blog; }
+.@{fa-css-prefix}-blogger:before { content: @fa-var-blogger; }
+.@{fa-css-prefix}-blogger-b:before { content: @fa-var-blogger-b; }
+.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; }
+.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; }
+.@{fa-css-prefix}-bold:before { content: @fa-var-bold; }
+.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; }
+.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; }
+.@{fa-css-prefix}-bone:before { content: @fa-var-bone; }
+.@{fa-css-prefix}-bong:before { content: @fa-var-bong; }
+.@{fa-css-prefix}-book:before { content: @fa-var-book; }
+.@{fa-css-prefix}-book-dead:before { content: @fa-var-book-dead; }
+.@{fa-css-prefix}-book-medical:before { content: @fa-var-book-medical; }
+.@{fa-css-prefix}-book-open:before { content: @fa-var-book-open; }
+.@{fa-css-prefix}-book-reader:before { content: @fa-var-book-reader; }
+.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; }
+.@{fa-css-prefix}-bootstrap:before { content: @fa-var-bootstrap; }
+.@{fa-css-prefix}-border-all:before { content: @fa-var-border-all; }
+.@{fa-css-prefix}-border-none:before { content: @fa-var-border-none; }
+.@{fa-css-prefix}-border-style:before { content: @fa-var-border-style; }
+.@{fa-css-prefix}-bowling-ball:before { content: @fa-var-bowling-ball; }
+.@{fa-css-prefix}-box:before { content: @fa-var-box; }
+.@{fa-css-prefix}-box-open:before { content: @fa-var-box-open; }
+.@{fa-css-prefix}-boxes:before { content: @fa-var-boxes; }
+.@{fa-css-prefix}-braille:before { content: @fa-var-braille; }
+.@{fa-css-prefix}-brain:before { content: @fa-var-brain; }
+.@{fa-css-prefix}-bread-slice:before { content: @fa-var-bread-slice; }
+.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; }
+.@{fa-css-prefix}-briefcase-medical:before { content: @fa-var-briefcase-medical; }
+.@{fa-css-prefix}-broadcast-tower:before { content: @fa-var-broadcast-tower; }
+.@{fa-css-prefix}-broom:before { content: @fa-var-broom; }
+.@{fa-css-prefix}-brush:before { content: @fa-var-brush; }
+.@{fa-css-prefix}-btc:before { content: @fa-var-btc; }
+.@{fa-css-prefix}-buffer:before { content: @fa-var-buffer; }
+.@{fa-css-prefix}-bug:before { content: @fa-var-bug; }
+.@{fa-css-prefix}-building:before { content: @fa-var-building; }
+.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; }
+.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; }
+.@{fa-css-prefix}-burn:before { content: @fa-var-burn; }
+.@{fa-css-prefix}-buromobelexperte:before { content: @fa-var-buromobelexperte; }
+.@{fa-css-prefix}-bus:before { content: @fa-var-bus; }
+.@{fa-css-prefix}-bus-alt:before { content: @fa-var-bus-alt; }
+.@{fa-css-prefix}-business-time:before { content: @fa-var-business-time; }
+.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; }
+.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; }
+.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; }
+.@{fa-css-prefix}-calendar-alt:before { content: @fa-var-calendar-alt; }
+.@{fa-css-prefix}-calendar-check:before { content: @fa-var-calendar-check; }
+.@{fa-css-prefix}-calendar-day:before { content: @fa-var-calendar-day; }
+.@{fa-css-prefix}-calendar-minus:before { content: @fa-var-calendar-minus; }
+.@{fa-css-prefix}-calendar-plus:before { content: @fa-var-calendar-plus; }
+.@{fa-css-prefix}-calendar-times:before { content: @fa-var-calendar-times; }
+.@{fa-css-prefix}-calendar-week:before { content: @fa-var-calendar-week; }
+.@{fa-css-prefix}-camera:before { content: @fa-var-camera; }
+.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; }
+.@{fa-css-prefix}-campground:before { content: @fa-var-campground; }
+.@{fa-css-prefix}-canadian-maple-leaf:before { content: @fa-var-canadian-maple-leaf; }
+.@{fa-css-prefix}-candy-cane:before { content: @fa-var-candy-cane; }
+.@{fa-css-prefix}-cannabis:before { content: @fa-var-cannabis; }
+.@{fa-css-prefix}-capsules:before { content: @fa-var-capsules; }
+.@{fa-css-prefix}-car:before { content: @fa-var-car; }
+.@{fa-css-prefix}-car-alt:before { content: @fa-var-car-alt; }
+.@{fa-css-prefix}-car-battery:before { content: @fa-var-car-battery; }
+.@{fa-css-prefix}-car-crash:before { content: @fa-var-car-crash; }
+.@{fa-css-prefix}-car-side:before { content: @fa-var-car-side; }
+.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; }
+.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; }
+.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; }
+.@{fa-css-prefix}-caret-square-down:before { content: @fa-var-caret-square-down; }
+.@{fa-css-prefix}-caret-square-left:before { content: @fa-var-caret-square-left; }
+.@{fa-css-prefix}-caret-square-right:before { content: @fa-var-caret-square-right; }
+.@{fa-css-prefix}-caret-square-up:before { content: @fa-var-caret-square-up; }
+.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; }
+.@{fa-css-prefix}-carrot:before { content: @fa-var-carrot; }
+.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; }
+.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; }
+.@{fa-css-prefix}-cash-register:before { content: @fa-var-cash-register; }
+.@{fa-css-prefix}-cat:before { content: @fa-var-cat; }
+.@{fa-css-prefix}-cc-amazon-pay:before { content: @fa-var-cc-amazon-pay; }
+.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; }
+.@{fa-css-prefix}-cc-apple-pay:before { content: @fa-var-cc-apple-pay; }
+.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; }
+.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; }
+.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; }
+.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; }
+.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; }
+.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; }
+.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; }
+.@{fa-css-prefix}-centercode:before { content: @fa-var-centercode; }
+.@{fa-css-prefix}-centos:before { content: @fa-var-centos; }
+.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; }
+.@{fa-css-prefix}-chair:before { content: @fa-var-chair; }
+.@{fa-css-prefix}-chalkboard:before { content: @fa-var-chalkboard; }
+.@{fa-css-prefix}-chalkboard-teacher:before { content: @fa-var-chalkboard-teacher; }
+.@{fa-css-prefix}-charging-station:before { content: @fa-var-charging-station; }
+.@{fa-css-prefix}-chart-area:before { content: @fa-var-chart-area; }
+.@{fa-css-prefix}-chart-bar:before { content: @fa-var-chart-bar; }
+.@{fa-css-prefix}-chart-line:before { content: @fa-var-chart-line; }
+.@{fa-css-prefix}-chart-pie:before { content: @fa-var-chart-pie; }
+.@{fa-css-prefix}-check:before { content: @fa-var-check; }
+.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; }
+.@{fa-css-prefix}-check-double:before { content: @fa-var-check-double; }
+.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; }
+.@{fa-css-prefix}-cheese:before { content: @fa-var-cheese; }
+.@{fa-css-prefix}-chess:before { content: @fa-var-chess; }
+.@{fa-css-prefix}-chess-bishop:before { content: @fa-var-chess-bishop; }
+.@{fa-css-prefix}-chess-board:before { content: @fa-var-chess-board; }
+.@{fa-css-prefix}-chess-king:before { content: @fa-var-chess-king; }
+.@{fa-css-prefix}-chess-knight:before { content: @fa-var-chess-knight; }
+.@{fa-css-prefix}-chess-pawn:before { content: @fa-var-chess-pawn; }
+.@{fa-css-prefix}-chess-queen:before { content: @fa-var-chess-queen; }
+.@{fa-css-prefix}-chess-rook:before { content: @fa-var-chess-rook; }
+.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; }
+.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; }
+.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; }
+.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; }
+.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; }
+.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; }
+.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; }
+.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; }
+.@{fa-css-prefix}-child:before { content: @fa-var-child; }
+.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; }
+.@{fa-css-prefix}-chromecast:before { content: @fa-var-chromecast; }
+.@{fa-css-prefix}-church:before { content: @fa-var-church; }
+.@{fa-css-prefix}-circle:before { content: @fa-var-circle; }
+.@{fa-css-prefix}-circle-notch:before { content: @fa-var-circle-notch; }
+.@{fa-css-prefix}-city:before { content: @fa-var-city; }
+.@{fa-css-prefix}-clinic-medical:before { content: @fa-var-clinic-medical; }
+.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; }
+.@{fa-css-prefix}-clipboard-check:before { content: @fa-var-clipboard-check; }
+.@{fa-css-prefix}-clipboard-list:before { content: @fa-var-clipboard-list; }
+.@{fa-css-prefix}-clock:before { content: @fa-var-clock; }
+.@{fa-css-prefix}-clone:before { content: @fa-var-clone; }
+.@{fa-css-prefix}-closed-captioning:before { content: @fa-var-closed-captioning; }
+.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; }
+.@{fa-css-prefix}-cloud-download-alt:before { content: @fa-var-cloud-download-alt; }
+.@{fa-css-prefix}-cloud-meatball:before { content: @fa-var-cloud-meatball; }
+.@{fa-css-prefix}-cloud-moon:before { content: @fa-var-cloud-moon; }
+.@{fa-css-prefix}-cloud-moon-rain:before { content: @fa-var-cloud-moon-rain; }
+.@{fa-css-prefix}-cloud-rain:before { content: @fa-var-cloud-rain; }
+.@{fa-css-prefix}-cloud-showers-heavy:before { content: @fa-var-cloud-showers-heavy; }
+.@{fa-css-prefix}-cloud-sun:before { content: @fa-var-cloud-sun; }
+.@{fa-css-prefix}-cloud-sun-rain:before { content: @fa-var-cloud-sun-rain; }
+.@{fa-css-prefix}-cloud-upload-alt:before { content: @fa-var-cloud-upload-alt; }
+.@{fa-css-prefix}-cloudscale:before { content: @fa-var-cloudscale; }
+.@{fa-css-prefix}-cloudsmith:before { content: @fa-var-cloudsmith; }
+.@{fa-css-prefix}-cloudversify:before { content: @fa-var-cloudversify; }
+.@{fa-css-prefix}-cocktail:before { content: @fa-var-cocktail; }
+.@{fa-css-prefix}-code:before { content: @fa-var-code; }
+.@{fa-css-prefix}-code-branch:before { content: @fa-var-code-branch; }
+.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; }
+.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; }
+.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; }
+.@{fa-css-prefix}-cog:before { content: @fa-var-cog; }
+.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; }
+.@{fa-css-prefix}-coins:before { content: @fa-var-coins; }
+.@{fa-css-prefix}-columns:before { content: @fa-var-columns; }
+.@{fa-css-prefix}-comment:before { content: @fa-var-comment; }
+.@{fa-css-prefix}-comment-alt:before { content: @fa-var-comment-alt; }
+.@{fa-css-prefix}-comment-dollar:before { content: @fa-var-comment-dollar; }
+.@{fa-css-prefix}-comment-dots:before { content: @fa-var-comment-dots; }
+.@{fa-css-prefix}-comment-medical:before { content: @fa-var-comment-medical; }
+.@{fa-css-prefix}-comment-slash:before { content: @fa-var-comment-slash; }
+.@{fa-css-prefix}-comments:before { content: @fa-var-comments; }
+.@{fa-css-prefix}-comments-dollar:before { content: @fa-var-comments-dollar; }
+.@{fa-css-prefix}-compact-disc:before { content: @fa-var-compact-disc; }
+.@{fa-css-prefix}-compass:before { content: @fa-var-compass; }
+.@{fa-css-prefix}-compress:before { content: @fa-var-compress; }
+.@{fa-css-prefix}-compress-arrows-alt:before { content: @fa-var-compress-arrows-alt; }
+.@{fa-css-prefix}-concierge-bell:before { content: @fa-var-concierge-bell; }
+.@{fa-css-prefix}-confluence:before { content: @fa-var-confluence; }
+.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; }
+.@{fa-css-prefix}-contao:before { content: @fa-var-contao; }
+.@{fa-css-prefix}-cookie:before { content: @fa-var-cookie; }
+.@{fa-css-prefix}-cookie-bite:before { content: @fa-var-cookie-bite; }
+.@{fa-css-prefix}-copy:before { content: @fa-var-copy; }
+.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; }
+.@{fa-css-prefix}-cotton-bureau:before { content: @fa-var-cotton-bureau; }
+.@{fa-css-prefix}-couch:before { content: @fa-var-couch; }
+.@{fa-css-prefix}-cpanel:before { content: @fa-var-cpanel; }
+.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; }
+.@{fa-css-prefix}-creative-commons-by:before { content: @fa-var-creative-commons-by; }
+.@{fa-css-prefix}-creative-commons-nc:before { content: @fa-var-creative-commons-nc; }
+.@{fa-css-prefix}-creative-commons-nc-eu:before { content: @fa-var-creative-commons-nc-eu; }
+.@{fa-css-prefix}-creative-commons-nc-jp:before { content: @fa-var-creative-commons-nc-jp; }
+.@{fa-css-prefix}-creative-commons-nd:before { content: @fa-var-creative-commons-nd; }
+.@{fa-css-prefix}-creative-commons-pd:before { content: @fa-var-creative-commons-pd; }
+.@{fa-css-prefix}-creative-commons-pd-alt:before { content: @fa-var-creative-commons-pd-alt; }
+.@{fa-css-prefix}-creative-commons-remix:before { content: @fa-var-creative-commons-remix; }
+.@{fa-css-prefix}-creative-commons-sa:before { content: @fa-var-creative-commons-sa; }
+.@{fa-css-prefix}-creative-commons-sampling:before { content: @fa-var-creative-commons-sampling; }
+.@{fa-css-prefix}-creative-commons-sampling-plus:before { content: @fa-var-creative-commons-sampling-plus; }
+.@{fa-css-prefix}-creative-commons-share:before { content: @fa-var-creative-commons-share; }
+.@{fa-css-prefix}-creative-commons-zero:before { content: @fa-var-creative-commons-zero; }
+.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; }
+.@{fa-css-prefix}-critical-role:before { content: @fa-var-critical-role; }
+.@{fa-css-prefix}-crop:before { content: @fa-var-crop; }
+.@{fa-css-prefix}-crop-alt:before { content: @fa-var-crop-alt; }
+.@{fa-css-prefix}-cross:before { content: @fa-var-cross; }
+.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; }
+.@{fa-css-prefix}-crow:before { content: @fa-var-crow; }
+.@{fa-css-prefix}-crown:before { content: @fa-var-crown; }
+.@{fa-css-prefix}-crutch:before { content: @fa-var-crutch; }
+.@{fa-css-prefix}-css3:before { content: @fa-var-css3; }
+.@{fa-css-prefix}-css3-alt:before { content: @fa-var-css3-alt; }
+.@{fa-css-prefix}-cube:before { content: @fa-var-cube; }
+.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; }
+.@{fa-css-prefix}-cut:before { content: @fa-var-cut; }
+.@{fa-css-prefix}-cuttlefish:before { content: @fa-var-cuttlefish; }
+.@{fa-css-prefix}-d-and-d:before { content: @fa-var-d-and-d; }
+.@{fa-css-prefix}-d-and-d-beyond:before { content: @fa-var-d-and-d-beyond; }
+.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; }
+.@{fa-css-prefix}-database:before { content: @fa-var-database; }
+.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; }
+.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; }
+.@{fa-css-prefix}-democrat:before { content: @fa-var-democrat; }
+.@{fa-css-prefix}-deploydog:before { content: @fa-var-deploydog; }
+.@{fa-css-prefix}-deskpro:before { content: @fa-var-deskpro; }
+.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; }
+.@{fa-css-prefix}-dev:before { content: @fa-var-dev; }
+.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; }
+.@{fa-css-prefix}-dharmachakra:before { content: @fa-var-dharmachakra; }
+.@{fa-css-prefix}-dhl:before { content: @fa-var-dhl; }
+.@{fa-css-prefix}-diagnoses:before { content: @fa-var-diagnoses; }
+.@{fa-css-prefix}-diaspora:before { content: @fa-var-diaspora; }
+.@{fa-css-prefix}-dice:before { content: @fa-var-dice; }
+.@{fa-css-prefix}-dice-d20:before { content: @fa-var-dice-d20; }
+.@{fa-css-prefix}-dice-d6:before { content: @fa-var-dice-d6; }
+.@{fa-css-prefix}-dice-five:before { content: @fa-var-dice-five; }
+.@{fa-css-prefix}-dice-four:before { content: @fa-var-dice-four; }
+.@{fa-css-prefix}-dice-one:before { content: @fa-var-dice-one; }
+.@{fa-css-prefix}-dice-six:before { content: @fa-var-dice-six; }
+.@{fa-css-prefix}-dice-three:before { content: @fa-var-dice-three; }
+.@{fa-css-prefix}-dice-two:before { content: @fa-var-dice-two; }
+.@{fa-css-prefix}-digg:before { content: @fa-var-digg; }
+.@{fa-css-prefix}-digital-ocean:before { content: @fa-var-digital-ocean; }
+.@{fa-css-prefix}-digital-tachograph:before { content: @fa-var-digital-tachograph; }
+.@{fa-css-prefix}-directions:before { content: @fa-var-directions; }
+.@{fa-css-prefix}-discord:before { content: @fa-var-discord; }
+.@{fa-css-prefix}-discourse:before { content: @fa-var-discourse; }
+.@{fa-css-prefix}-divide:before { content: @fa-var-divide; }
+.@{fa-css-prefix}-dizzy:before { content: @fa-var-dizzy; }
+.@{fa-css-prefix}-dna:before { content: @fa-var-dna; }
+.@{fa-css-prefix}-dochub:before { content: @fa-var-dochub; }
+.@{fa-css-prefix}-docker:before { content: @fa-var-docker; }
+.@{fa-css-prefix}-dog:before { content: @fa-var-dog; }
+.@{fa-css-prefix}-dollar-sign:before { content: @fa-var-dollar-sign; }
+.@{fa-css-prefix}-dolly:before { content: @fa-var-dolly; }
+.@{fa-css-prefix}-dolly-flatbed:before { content: @fa-var-dolly-flatbed; }
+.@{fa-css-prefix}-donate:before { content: @fa-var-donate; }
+.@{fa-css-prefix}-door-closed:before { content: @fa-var-door-closed; }
+.@{fa-css-prefix}-door-open:before { content: @fa-var-door-open; }
+.@{fa-css-prefix}-dot-circle:before { content: @fa-var-dot-circle; }
+.@{fa-css-prefix}-dove:before { content: @fa-var-dove; }
+.@{fa-css-prefix}-download:before { content: @fa-var-download; }
+.@{fa-css-prefix}-draft2digital:before { content: @fa-var-draft2digital; }
+.@{fa-css-prefix}-drafting-compass:before { content: @fa-var-drafting-compass; }
+.@{fa-css-prefix}-dragon:before { content: @fa-var-dragon; }
+.@{fa-css-prefix}-draw-polygon:before { content: @fa-var-draw-polygon; }
+.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; }
+.@{fa-css-prefix}-dribbble-square:before { content: @fa-var-dribbble-square; }
+.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; }
+.@{fa-css-prefix}-drum:before { content: @fa-var-drum; }
+.@{fa-css-prefix}-drum-steelpan:before { content: @fa-var-drum-steelpan; }
+.@{fa-css-prefix}-drumstick-bite:before { content: @fa-var-drumstick-bite; }
+.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; }
+.@{fa-css-prefix}-dumbbell:before { content: @fa-var-dumbbell; }
+.@{fa-css-prefix}-dumpster:before { content: @fa-var-dumpster; }
+.@{fa-css-prefix}-dumpster-fire:before { content: @fa-var-dumpster-fire; }
+.@{fa-css-prefix}-dungeon:before { content: @fa-var-dungeon; }
+.@{fa-css-prefix}-dyalog:before { content: @fa-var-dyalog; }
+.@{fa-css-prefix}-earlybirds:before { content: @fa-var-earlybirds; }
+.@{fa-css-prefix}-ebay:before { content: @fa-var-ebay; }
+.@{fa-css-prefix}-edge:before { content: @fa-var-edge; }
+.@{fa-css-prefix}-edit:before { content: @fa-var-edit; }
+.@{fa-css-prefix}-egg:before { content: @fa-var-egg; }
+.@{fa-css-prefix}-eject:before { content: @fa-var-eject; }
+.@{fa-css-prefix}-elementor:before { content: @fa-var-elementor; }
+.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; }
+.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; }
+.@{fa-css-prefix}-ello:before { content: @fa-var-ello; }
+.@{fa-css-prefix}-ember:before { content: @fa-var-ember; }
+.@{fa-css-prefix}-empire:before { content: @fa-var-empire; }
+.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; }
+.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; }
+.@{fa-css-prefix}-envelope-open-text:before { content: @fa-var-envelope-open-text; }
+.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; }
+.@{fa-css-prefix}-envira:before { content: @fa-var-envira; }
+.@{fa-css-prefix}-equals:before { content: @fa-var-equals; }
+.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; }
+.@{fa-css-prefix}-erlang:before { content: @fa-var-erlang; }
+.@{fa-css-prefix}-ethereum:before { content: @fa-var-ethereum; }
+.@{fa-css-prefix}-ethernet:before { content: @fa-var-ethernet; }
+.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; }
+.@{fa-css-prefix}-euro-sign:before { content: @fa-var-euro-sign; }
+.@{fa-css-prefix}-evernote:before { content: @fa-var-evernote; }
+.@{fa-css-prefix}-exchange-alt:before { content: @fa-var-exchange-alt; }
+.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; }
+.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; }
+.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; }
+.@{fa-css-prefix}-expand:before { content: @fa-var-expand; }
+.@{fa-css-prefix}-expand-arrows-alt:before { content: @fa-var-expand-arrows-alt; }
+.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; }
+.@{fa-css-prefix}-external-link-alt:before { content: @fa-var-external-link-alt; }
+.@{fa-css-prefix}-external-link-square-alt:before { content: @fa-var-external-link-square-alt; }
+.@{fa-css-prefix}-eye:before { content: @fa-var-eye; }
+.@{fa-css-prefix}-eye-dropper:before { content: @fa-var-eye-dropper; }
+.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; }
+.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; }
+.@{fa-css-prefix}-facebook-f:before { content: @fa-var-facebook-f; }
+.@{fa-css-prefix}-facebook-messenger:before { content: @fa-var-facebook-messenger; }
+.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; }
+.@{fa-css-prefix}-fan:before { content: @fa-var-fan; }
+.@{fa-css-prefix}-fantasy-flight-games:before { content: @fa-var-fantasy-flight-games; }
+.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; }
+.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; }
+.@{fa-css-prefix}-fax:before { content: @fa-var-fax; }
+.@{fa-css-prefix}-feather:before { content: @fa-var-feather; }
+.@{fa-css-prefix}-feather-alt:before { content: @fa-var-feather-alt; }
+.@{fa-css-prefix}-fedex:before { content: @fa-var-fedex; }
+.@{fa-css-prefix}-fedora:before { content: @fa-var-fedora; }
+.@{fa-css-prefix}-female:before { content: @fa-var-female; }
+.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; }
+.@{fa-css-prefix}-figma:before { content: @fa-var-figma; }
+.@{fa-css-prefix}-file:before { content: @fa-var-file; }
+.@{fa-css-prefix}-file-alt:before { content: @fa-var-file-alt; }
+.@{fa-css-prefix}-file-archive:before { content: @fa-var-file-archive; }
+.@{fa-css-prefix}-file-audio:before { content: @fa-var-file-audio; }
+.@{fa-css-prefix}-file-code:before { content: @fa-var-file-code; }
+.@{fa-css-prefix}-file-contract:before { content: @fa-var-file-contract; }
+.@{fa-css-prefix}-file-csv:before { content: @fa-var-file-csv; }
+.@{fa-css-prefix}-file-download:before { content: @fa-var-file-download; }
+.@{fa-css-prefix}-file-excel:before { content: @fa-var-file-excel; }
+.@{fa-css-prefix}-file-export:before { content: @fa-var-file-export; }
+.@{fa-css-prefix}-file-image:before { content: @fa-var-file-image; }
+.@{fa-css-prefix}-file-import:before { content: @fa-var-file-import; }
+.@{fa-css-prefix}-file-invoice:before { content: @fa-var-file-invoice; }
+.@{fa-css-prefix}-file-invoice-dollar:before { content: @fa-var-file-invoice-dollar; }
+.@{fa-css-prefix}-file-medical:before { content: @fa-var-file-medical; }
+.@{fa-css-prefix}-file-medical-alt:before { content: @fa-var-file-medical-alt; }
+.@{fa-css-prefix}-file-pdf:before { content: @fa-var-file-pdf; }
+.@{fa-css-prefix}-file-powerpoint:before { content: @fa-var-file-powerpoint; }
+.@{fa-css-prefix}-file-prescription:before { content: @fa-var-file-prescription; }
+.@{fa-css-prefix}-file-signature:before { content: @fa-var-file-signature; }
+.@{fa-css-prefix}-file-upload:before { content: @fa-var-file-upload; }
+.@{fa-css-prefix}-file-video:before { content: @fa-var-file-video; }
+.@{fa-css-prefix}-file-word:before { content: @fa-var-file-word; }
+.@{fa-css-prefix}-fill:before { content: @fa-var-fill; }
+.@{fa-css-prefix}-fill-drip:before { content: @fa-var-fill-drip; }
+.@{fa-css-prefix}-film:before { content: @fa-var-film; }
+.@{fa-css-prefix}-filter:before { content: @fa-var-filter; }
+.@{fa-css-prefix}-fingerprint:before { content: @fa-var-fingerprint; }
+.@{fa-css-prefix}-fire:before { content: @fa-var-fire; }
+.@{fa-css-prefix}-fire-alt:before { content: @fa-var-fire-alt; }
+.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; }
+.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; }
+.@{fa-css-prefix}-first-aid:before { content: @fa-var-first-aid; }
+.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; }
+.@{fa-css-prefix}-first-order-alt:before { content: @fa-var-first-order-alt; }
+.@{fa-css-prefix}-firstdraft:before { content: @fa-var-firstdraft; }
+.@{fa-css-prefix}-fish:before { content: @fa-var-fish; }
+.@{fa-css-prefix}-fist-raised:before { content: @fa-var-fist-raised; }
+.@{fa-css-prefix}-flag:before { content: @fa-var-flag; }
+.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; }
+.@{fa-css-prefix}-flag-usa:before { content: @fa-var-flag-usa; }
+.@{fa-css-prefix}-flask:before { content: @fa-var-flask; }
+.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; }
+.@{fa-css-prefix}-flipboard:before { content: @fa-var-flipboard; }
+.@{fa-css-prefix}-flushed:before { content: @fa-var-flushed; }
+.@{fa-css-prefix}-fly:before { content: @fa-var-fly; }
+.@{fa-css-prefix}-folder:before { content: @fa-var-folder; }
+.@{fa-css-prefix}-folder-minus:before { content: @fa-var-folder-minus; }
+.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; }
+.@{fa-css-prefix}-folder-plus:before { content: @fa-var-folder-plus; }
+.@{fa-css-prefix}-font:before { content: @fa-var-font; }
+.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; }
+.@{fa-css-prefix}-font-awesome-alt:before { content: @fa-var-font-awesome-alt; }
+.@{fa-css-prefix}-font-awesome-flag:before { content: @fa-var-font-awesome-flag; }
+.@{fa-css-prefix}-font-awesome-logo-full:before { content: @fa-var-font-awesome-logo-full; }
+.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; }
+.@{fa-css-prefix}-fonticons-fi:before { content: @fa-var-fonticons-fi; }
+.@{fa-css-prefix}-football-ball:before { content: @fa-var-football-ball; }
+.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; }
+.@{fa-css-prefix}-fort-awesome-alt:before { content: @fa-var-fort-awesome-alt; }
+.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; }
+.@{fa-css-prefix}-forward:before { content: @fa-var-forward; }
+.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; }
+.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; }
+.@{fa-css-prefix}-freebsd:before { content: @fa-var-freebsd; }
+.@{fa-css-prefix}-frog:before { content: @fa-var-frog; }
+.@{fa-css-prefix}-frown:before { content: @fa-var-frown; }
+.@{fa-css-prefix}-frown-open:before { content: @fa-var-frown-open; }
+.@{fa-css-prefix}-fulcrum:before { content: @fa-var-fulcrum; }
+.@{fa-css-prefix}-funnel-dollar:before { content: @fa-var-funnel-dollar; }
+.@{fa-css-prefix}-futbol:before { content: @fa-var-futbol; }
+.@{fa-css-prefix}-galactic-republic:before { content: @fa-var-galactic-republic; }
+.@{fa-css-prefix}-galactic-senate:before { content: @fa-var-galactic-senate; }
+.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; }
+.@{fa-css-prefix}-gas-pump:before { content: @fa-var-gas-pump; }
+.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; }
+.@{fa-css-prefix}-gem:before { content: @fa-var-gem; }
+.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; }
+.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; }
+.@{fa-css-prefix}-gg:before { content: @fa-var-gg; }
+.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; }
+.@{fa-css-prefix}-ghost:before { content: @fa-var-ghost; }
+.@{fa-css-prefix}-gift:before { content: @fa-var-gift; }
+.@{fa-css-prefix}-gifts:before { content: @fa-var-gifts; }
+.@{fa-css-prefix}-git:before { content: @fa-var-git; }
+.@{fa-css-prefix}-git-alt:before { content: @fa-var-git-alt; }
+.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; }
+.@{fa-css-prefix}-github:before { content: @fa-var-github; }
+.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; }
+.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; }
+.@{fa-css-prefix}-gitkraken:before { content: @fa-var-gitkraken; }
+.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; }
+.@{fa-css-prefix}-gitter:before { content: @fa-var-gitter; }
+.@{fa-css-prefix}-glass-cheers:before { content: @fa-var-glass-cheers; }
+.@{fa-css-prefix}-glass-martini:before { content: @fa-var-glass-martini; }
+.@{fa-css-prefix}-glass-martini-alt:before { content: @fa-var-glass-martini-alt; }
+.@{fa-css-prefix}-glass-whiskey:before { content: @fa-var-glass-whiskey; }
+.@{fa-css-prefix}-glasses:before { content: @fa-var-glasses; }
+.@{fa-css-prefix}-glide:before { content: @fa-var-glide; }
+.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; }
+.@{fa-css-prefix}-globe:before { content: @fa-var-globe; }
+.@{fa-css-prefix}-globe-africa:before { content: @fa-var-globe-africa; }
+.@{fa-css-prefix}-globe-americas:before { content: @fa-var-globe-americas; }
+.@{fa-css-prefix}-globe-asia:before { content: @fa-var-globe-asia; }
+.@{fa-css-prefix}-globe-europe:before { content: @fa-var-globe-europe; }
+.@{fa-css-prefix}-gofore:before { content: @fa-var-gofore; }
+.@{fa-css-prefix}-golf-ball:before { content: @fa-var-golf-ball; }
+.@{fa-css-prefix}-goodreads:before { content: @fa-var-goodreads; }
+.@{fa-css-prefix}-goodreads-g:before { content: @fa-var-goodreads-g; }
+.@{fa-css-prefix}-google:before { content: @fa-var-google; }
+.@{fa-css-prefix}-google-drive:before { content: @fa-var-google-drive; }
+.@{fa-css-prefix}-google-play:before { content: @fa-var-google-play; }
+.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; }
+.@{fa-css-prefix}-google-plus-g:before { content: @fa-var-google-plus-g; }
+.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; }
+.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; }
+.@{fa-css-prefix}-gopuram:before { content: @fa-var-gopuram; }
+.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; }
+.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; }
+.@{fa-css-prefix}-grav:before { content: @fa-var-grav; }
+.@{fa-css-prefix}-greater-than:before { content: @fa-var-greater-than; }
+.@{fa-css-prefix}-greater-than-equal:before { content: @fa-var-greater-than-equal; }
+.@{fa-css-prefix}-grimace:before { content: @fa-var-grimace; }
+.@{fa-css-prefix}-grin:before { content: @fa-var-grin; }
+.@{fa-css-prefix}-grin-alt:before { content: @fa-var-grin-alt; }
+.@{fa-css-prefix}-grin-beam:before { content: @fa-var-grin-beam; }
+.@{fa-css-prefix}-grin-beam-sweat:before { content: @fa-var-grin-beam-sweat; }
+.@{fa-css-prefix}-grin-hearts:before { content: @fa-var-grin-hearts; }
+.@{fa-css-prefix}-grin-squint:before { content: @fa-var-grin-squint; }
+.@{fa-css-prefix}-grin-squint-tears:before { content: @fa-var-grin-squint-tears; }
+.@{fa-css-prefix}-grin-stars:before { content: @fa-var-grin-stars; }
+.@{fa-css-prefix}-grin-tears:before { content: @fa-var-grin-tears; }
+.@{fa-css-prefix}-grin-tongue:before { content: @fa-var-grin-tongue; }
+.@{fa-css-prefix}-grin-tongue-squint:before { content: @fa-var-grin-tongue-squint; }
+.@{fa-css-prefix}-grin-tongue-wink:before { content: @fa-var-grin-tongue-wink; }
+.@{fa-css-prefix}-grin-wink:before { content: @fa-var-grin-wink; }
+.@{fa-css-prefix}-grip-horizontal:before { content: @fa-var-grip-horizontal; }
+.@{fa-css-prefix}-grip-lines:before { content: @fa-var-grip-lines; }
+.@{fa-css-prefix}-grip-lines-vertical:before { content: @fa-var-grip-lines-vertical; }
+.@{fa-css-prefix}-grip-vertical:before { content: @fa-var-grip-vertical; }
+.@{fa-css-prefix}-gripfire:before { content: @fa-var-gripfire; }
+.@{fa-css-prefix}-grunt:before { content: @fa-var-grunt; }
+.@{fa-css-prefix}-guitar:before { content: @fa-var-guitar; }
+.@{fa-css-prefix}-gulp:before { content: @fa-var-gulp; }
+.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; }
+.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; }
+.@{fa-css-prefix}-hacker-news-square:before { content: @fa-var-hacker-news-square; }
+.@{fa-css-prefix}-hackerrank:before { content: @fa-var-hackerrank; }
+.@{fa-css-prefix}-hamburger:before { content: @fa-var-hamburger; }
+.@{fa-css-prefix}-hammer:before { content: @fa-var-hammer; }
+.@{fa-css-prefix}-hamsa:before { content: @fa-var-hamsa; }
+.@{fa-css-prefix}-hand-holding:before { content: @fa-var-hand-holding; }
+.@{fa-css-prefix}-hand-holding-heart:before { content: @fa-var-hand-holding-heart; }
+.@{fa-css-prefix}-hand-holding-usd:before { content: @fa-var-hand-holding-usd; }
+.@{fa-css-prefix}-hand-lizard:before { content: @fa-var-hand-lizard; }
+.@{fa-css-prefix}-hand-middle-finger:before { content: @fa-var-hand-middle-finger; }
+.@{fa-css-prefix}-hand-paper:before { content: @fa-var-hand-paper; }
+.@{fa-css-prefix}-hand-peace:before { content: @fa-var-hand-peace; }
+.@{fa-css-prefix}-hand-point-down:before { content: @fa-var-hand-point-down; }
+.@{fa-css-prefix}-hand-point-left:before { content: @fa-var-hand-point-left; }
+.@{fa-css-prefix}-hand-point-right:before { content: @fa-var-hand-point-right; }
+.@{fa-css-prefix}-hand-point-up:before { content: @fa-var-hand-point-up; }
+.@{fa-css-prefix}-hand-pointer:before { content: @fa-var-hand-pointer; }
+.@{fa-css-prefix}-hand-rock:before { content: @fa-var-hand-rock; }
+.@{fa-css-prefix}-hand-scissors:before { content: @fa-var-hand-scissors; }
+.@{fa-css-prefix}-hand-spock:before { content: @fa-var-hand-spock; }
+.@{fa-css-prefix}-hands:before { content: @fa-var-hands; }
+.@{fa-css-prefix}-hands-helping:before { content: @fa-var-hands-helping; }
+.@{fa-css-prefix}-handshake:before { content: @fa-var-handshake; }
+.@{fa-css-prefix}-hanukiah:before { content: @fa-var-hanukiah; }
+.@{fa-css-prefix}-hard-hat:before { content: @fa-var-hard-hat; }
+.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; }
+.@{fa-css-prefix}-hat-wizard:before { content: @fa-var-hat-wizard; }
+.@{fa-css-prefix}-haykal:before { content: @fa-var-haykal; }
+.@{fa-css-prefix}-hdd:before { content: @fa-var-hdd; }
+.@{fa-css-prefix}-heading:before { content: @fa-var-heading; }
+.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; }
+.@{fa-css-prefix}-headphones-alt:before { content: @fa-var-headphones-alt; }
+.@{fa-css-prefix}-headset:before { content: @fa-var-headset; }
+.@{fa-css-prefix}-heart:before { content: @fa-var-heart; }
+.@{fa-css-prefix}-heart-broken:before { content: @fa-var-heart-broken; }
+.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; }
+.@{fa-css-prefix}-helicopter:before { content: @fa-var-helicopter; }
+.@{fa-css-prefix}-highlighter:before { content: @fa-var-highlighter; }
+.@{fa-css-prefix}-hiking:before { content: @fa-var-hiking; }
+.@{fa-css-prefix}-hippo:before { content: @fa-var-hippo; }
+.@{fa-css-prefix}-hips:before { content: @fa-var-hips; }
+.@{fa-css-prefix}-hire-a-helper:before { content: @fa-var-hire-a-helper; }
+.@{fa-css-prefix}-history:before { content: @fa-var-history; }
+.@{fa-css-prefix}-hockey-puck:before { content: @fa-var-hockey-puck; }
+.@{fa-css-prefix}-holly-berry:before { content: @fa-var-holly-berry; }
+.@{fa-css-prefix}-home:before { content: @fa-var-home; }
+.@{fa-css-prefix}-hooli:before { content: @fa-var-hooli; }
+.@{fa-css-prefix}-hornbill:before { content: @fa-var-hornbill; }
+.@{fa-css-prefix}-horse:before { content: @fa-var-horse; }
+.@{fa-css-prefix}-horse-head:before { content: @fa-var-horse-head; }
+.@{fa-css-prefix}-hospital:before { content: @fa-var-hospital; }
+.@{fa-css-prefix}-hospital-alt:before { content: @fa-var-hospital-alt; }
+.@{fa-css-prefix}-hospital-symbol:before { content: @fa-var-hospital-symbol; }
+.@{fa-css-prefix}-hot-tub:before { content: @fa-var-hot-tub; }
+.@{fa-css-prefix}-hotdog:before { content: @fa-var-hotdog; }
+.@{fa-css-prefix}-hotel:before { content: @fa-var-hotel; }
+.@{fa-css-prefix}-hotjar:before { content: @fa-var-hotjar; }
+.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; }
+.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; }
+.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; }
+.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; }
+.@{fa-css-prefix}-house-damage:before { content: @fa-var-house-damage; }
+.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; }
+.@{fa-css-prefix}-hryvnia:before { content: @fa-var-hryvnia; }
+.@{fa-css-prefix}-html5:before { content: @fa-var-html5; }
+.@{fa-css-prefix}-hubspot:before { content: @fa-var-hubspot; }
+.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; }
+.@{fa-css-prefix}-ice-cream:before { content: @fa-var-ice-cream; }
+.@{fa-css-prefix}-icicles:before { content: @fa-var-icicles; }
+.@{fa-css-prefix}-icons:before { content: @fa-var-icons; }
+.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; }
+.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; }
+.@{fa-css-prefix}-id-card-alt:before { content: @fa-var-id-card-alt; }
+.@{fa-css-prefix}-igloo:before { content: @fa-var-igloo; }
+.@{fa-css-prefix}-image:before { content: @fa-var-image; }
+.@{fa-css-prefix}-images:before { content: @fa-var-images; }
+.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; }
+.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; }
+.@{fa-css-prefix}-indent:before { content: @fa-var-indent; }
+.@{fa-css-prefix}-industry:before { content: @fa-var-industry; }
+.@{fa-css-prefix}-infinity:before { content: @fa-var-infinity; }
+.@{fa-css-prefix}-info:before { content: @fa-var-info; }
+.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; }
+.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; }
+.@{fa-css-prefix}-intercom:before { content: @fa-var-intercom; }
+.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; }
+.@{fa-css-prefix}-invision:before { content: @fa-var-invision; }
+.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; }
+.@{fa-css-prefix}-italic:before { content: @fa-var-italic; }
+.@{fa-css-prefix}-itch-io:before { content: @fa-var-itch-io; }
+.@{fa-css-prefix}-itunes:before { content: @fa-var-itunes; }
+.@{fa-css-prefix}-itunes-note:before { content: @fa-var-itunes-note; }
+.@{fa-css-prefix}-java:before { content: @fa-var-java; }
+.@{fa-css-prefix}-jedi:before { content: @fa-var-jedi; }
+.@{fa-css-prefix}-jedi-order:before { content: @fa-var-jedi-order; }
+.@{fa-css-prefix}-jenkins:before { content: @fa-var-jenkins; }
+.@{fa-css-prefix}-jira:before { content: @fa-var-jira; }
+.@{fa-css-prefix}-joget:before { content: @fa-var-joget; }
+.@{fa-css-prefix}-joint:before { content: @fa-var-joint; }
+.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; }
+.@{fa-css-prefix}-journal-whills:before { content: @fa-var-journal-whills; }
+.@{fa-css-prefix}-js:before { content: @fa-var-js; }
+.@{fa-css-prefix}-js-square:before { content: @fa-var-js-square; }
+.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; }
+.@{fa-css-prefix}-kaaba:before { content: @fa-var-kaaba; }
+.@{fa-css-prefix}-kaggle:before { content: @fa-var-kaggle; }
+.@{fa-css-prefix}-key:before { content: @fa-var-key; }
+.@{fa-css-prefix}-keybase:before { content: @fa-var-keybase; }
+.@{fa-css-prefix}-keyboard:before { content: @fa-var-keyboard; }
+.@{fa-css-prefix}-keycdn:before { content: @fa-var-keycdn; }
+.@{fa-css-prefix}-khanda:before { content: @fa-var-khanda; }
+.@{fa-css-prefix}-kickstarter:before { content: @fa-var-kickstarter; }
+.@{fa-css-prefix}-kickstarter-k:before { content: @fa-var-kickstarter-k; }
+.@{fa-css-prefix}-kiss:before { content: @fa-var-kiss; }
+.@{fa-css-prefix}-kiss-beam:before { content: @fa-var-kiss-beam; }
+.@{fa-css-prefix}-kiss-wink-heart:before { content: @fa-var-kiss-wink-heart; }
+.@{fa-css-prefix}-kiwi-bird:before { content: @fa-var-kiwi-bird; }
+.@{fa-css-prefix}-korvue:before { content: @fa-var-korvue; }
+.@{fa-css-prefix}-landmark:before { content: @fa-var-landmark; }
+.@{fa-css-prefix}-language:before { content: @fa-var-language; }
+.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; }
+.@{fa-css-prefix}-laptop-code:before { content: @fa-var-laptop-code; }
+.@{fa-css-prefix}-laptop-medical:before { content: @fa-var-laptop-medical; }
+.@{fa-css-prefix}-laravel:before { content: @fa-var-laravel; }
+.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; }
+.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; }
+.@{fa-css-prefix}-laugh:before { content: @fa-var-laugh; }
+.@{fa-css-prefix}-laugh-beam:before { content: @fa-var-laugh-beam; }
+.@{fa-css-prefix}-laugh-squint:before { content: @fa-var-laugh-squint; }
+.@{fa-css-prefix}-laugh-wink:before { content: @fa-var-laugh-wink; }
+.@{fa-css-prefix}-layer-group:before { content: @fa-var-layer-group; }
+.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; }
+.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; }
+.@{fa-css-prefix}-lemon:before { content: @fa-var-lemon; }
+.@{fa-css-prefix}-less:before { content: @fa-var-less; }
+.@{fa-css-prefix}-less-than:before { content: @fa-var-less-than; }
+.@{fa-css-prefix}-less-than-equal:before { content: @fa-var-less-than-equal; }
+.@{fa-css-prefix}-level-down-alt:before { content: @fa-var-level-down-alt; }
+.@{fa-css-prefix}-level-up-alt:before { content: @fa-var-level-up-alt; }
+.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; }
+.@{fa-css-prefix}-lightbulb:before { content: @fa-var-lightbulb; }
+.@{fa-css-prefix}-line:before { content: @fa-var-line; }
+.@{fa-css-prefix}-link:before { content: @fa-var-link; }
+.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; }
+.@{fa-css-prefix}-linkedin-in:before { content: @fa-var-linkedin-in; }
+.@{fa-css-prefix}-linode:before { content: @fa-var-linode; }
+.@{fa-css-prefix}-linux:before { content: @fa-var-linux; }
+.@{fa-css-prefix}-lira-sign:before { content: @fa-var-lira-sign; }
+.@{fa-css-prefix}-list:before { content: @fa-var-list; }
+.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; }
+.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; }
+.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; }
+.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; }
+.@{fa-css-prefix}-lock:before { content: @fa-var-lock; }
+.@{fa-css-prefix}-lock-open:before { content: @fa-var-lock-open; }
+.@{fa-css-prefix}-long-arrow-alt-down:before { content: @fa-var-long-arrow-alt-down; }
+.@{fa-css-prefix}-long-arrow-alt-left:before { content: @fa-var-long-arrow-alt-left; }
+.@{fa-css-prefix}-long-arrow-alt-right:before { content: @fa-var-long-arrow-alt-right; }
+.@{fa-css-prefix}-long-arrow-alt-up:before { content: @fa-var-long-arrow-alt-up; }
+.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; }
+.@{fa-css-prefix}-luggage-cart:before { content: @fa-var-luggage-cart; }
+.@{fa-css-prefix}-lyft:before { content: @fa-var-lyft; }
+.@{fa-css-prefix}-magento:before { content: @fa-var-magento; }
+.@{fa-css-prefix}-magic:before { content: @fa-var-magic; }
+.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; }
+.@{fa-css-prefix}-mail-bulk:before { content: @fa-var-mail-bulk; }
+.@{fa-css-prefix}-mailchimp:before { content: @fa-var-mailchimp; }
+.@{fa-css-prefix}-male:before { content: @fa-var-male; }
+.@{fa-css-prefix}-mandalorian:before { content: @fa-var-mandalorian; }
+.@{fa-css-prefix}-map:before { content: @fa-var-map; }
+.@{fa-css-prefix}-map-marked:before { content: @fa-var-map-marked; }
+.@{fa-css-prefix}-map-marked-alt:before { content: @fa-var-map-marked-alt; }
+.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; }
+.@{fa-css-prefix}-map-marker-alt:before { content: @fa-var-map-marker-alt; }
+.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; }
+.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; }
+.@{fa-css-prefix}-markdown:before { content: @fa-var-markdown; }
+.@{fa-css-prefix}-marker:before { content: @fa-var-marker; }
+.@{fa-css-prefix}-mars:before { content: @fa-var-mars; }
+.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; }
+.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; }
+.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; }
+.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; }
+.@{fa-css-prefix}-mask:before { content: @fa-var-mask; }
+.@{fa-css-prefix}-mastodon:before { content: @fa-var-mastodon; }
+.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; }
+.@{fa-css-prefix}-medal:before { content: @fa-var-medal; }
+.@{fa-css-prefix}-medapps:before { content: @fa-var-medapps; }
+.@{fa-css-prefix}-medium:before { content: @fa-var-medium; }
+.@{fa-css-prefix}-medium-m:before { content: @fa-var-medium-m; }
+.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; }
+.@{fa-css-prefix}-medrt:before { content: @fa-var-medrt; }
+.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; }
+.@{fa-css-prefix}-megaport:before { content: @fa-var-megaport; }
+.@{fa-css-prefix}-meh:before { content: @fa-var-meh; }
+.@{fa-css-prefix}-meh-blank:before { content: @fa-var-meh-blank; }
+.@{fa-css-prefix}-meh-rolling-eyes:before { content: @fa-var-meh-rolling-eyes; }
+.@{fa-css-prefix}-memory:before { content: @fa-var-memory; }
+.@{fa-css-prefix}-mendeley:before { content: @fa-var-mendeley; }
+.@{fa-css-prefix}-menorah:before { content: @fa-var-menorah; }
+.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; }
+.@{fa-css-prefix}-meteor:before { content: @fa-var-meteor; }
+.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; }
+.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; }
+.@{fa-css-prefix}-microphone-alt:before { content: @fa-var-microphone-alt; }
+.@{fa-css-prefix}-microphone-alt-slash:before { content: @fa-var-microphone-alt-slash; }
+.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; }
+.@{fa-css-prefix}-microscope:before { content: @fa-var-microscope; }
+.@{fa-css-prefix}-microsoft:before { content: @fa-var-microsoft; }
+.@{fa-css-prefix}-minus:before { content: @fa-var-minus; }
+.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; }
+.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; }
+.@{fa-css-prefix}-mitten:before { content: @fa-var-mitten; }
+.@{fa-css-prefix}-mix:before { content: @fa-var-mix; }
+.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; }
+.@{fa-css-prefix}-mizuni:before { content: @fa-var-mizuni; }
+.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; }
+.@{fa-css-prefix}-mobile-alt:before { content: @fa-var-mobile-alt; }
+.@{fa-css-prefix}-modx:before { content: @fa-var-modx; }
+.@{fa-css-prefix}-monero:before { content: @fa-var-monero; }
+.@{fa-css-prefix}-money-bill:before { content: @fa-var-money-bill; }
+.@{fa-css-prefix}-money-bill-alt:before { content: @fa-var-money-bill-alt; }
+.@{fa-css-prefix}-money-bill-wave:before { content: @fa-var-money-bill-wave; }
+.@{fa-css-prefix}-money-bill-wave-alt:before { content: @fa-var-money-bill-wave-alt; }
+.@{fa-css-prefix}-money-check:before { content: @fa-var-money-check; }
+.@{fa-css-prefix}-money-check-alt:before { content: @fa-var-money-check-alt; }
+.@{fa-css-prefix}-monument:before { content: @fa-var-monument; }
+.@{fa-css-prefix}-moon:before { content: @fa-var-moon; }
+.@{fa-css-prefix}-mortar-pestle:before { content: @fa-var-mortar-pestle; }
+.@{fa-css-prefix}-mosque:before { content: @fa-var-mosque; }
+.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; }
+.@{fa-css-prefix}-mountain:before { content: @fa-var-mountain; }
+.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; }
+.@{fa-css-prefix}-mug-hot:before { content: @fa-var-mug-hot; }
+.@{fa-css-prefix}-music:before { content: @fa-var-music; }
+.@{fa-css-prefix}-napster:before { content: @fa-var-napster; }
+.@{fa-css-prefix}-neos:before { content: @fa-var-neos; }
+.@{fa-css-prefix}-network-wired:before { content: @fa-var-network-wired; }
+.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; }
+.@{fa-css-prefix}-newspaper:before { content: @fa-var-newspaper; }
+.@{fa-css-prefix}-nimblr:before { content: @fa-var-nimblr; }
+.@{fa-css-prefix}-node:before { content: @fa-var-node; }
+.@{fa-css-prefix}-node-js:before { content: @fa-var-node-js; }
+.@{fa-css-prefix}-not-equal:before { content: @fa-var-not-equal; }
+.@{fa-css-prefix}-notes-medical:before { content: @fa-var-notes-medical; }
+.@{fa-css-prefix}-npm:before { content: @fa-var-npm; }
+.@{fa-css-prefix}-ns8:before { content: @fa-var-ns8; }
+.@{fa-css-prefix}-nutritionix:before { content: @fa-var-nutritionix; }
+.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; }
+.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; }
+.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; }
+.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; }
+.@{fa-css-prefix}-oil-can:before { content: @fa-var-oil-can; }
+.@{fa-css-prefix}-old-republic:before { content: @fa-var-old-republic; }
+.@{fa-css-prefix}-om:before { content: @fa-var-om; }
+.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; }
+.@{fa-css-prefix}-openid:before { content: @fa-var-openid; }
+.@{fa-css-prefix}-opera:before { content: @fa-var-opera; }
+.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; }
+.@{fa-css-prefix}-osi:before { content: @fa-var-osi; }
+.@{fa-css-prefix}-otter:before { content: @fa-var-otter; }
+.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; }
+.@{fa-css-prefix}-page4:before { content: @fa-var-page4; }
+.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; }
+.@{fa-css-prefix}-pager:before { content: @fa-var-pager; }
+.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; }
+.@{fa-css-prefix}-paint-roller:before { content: @fa-var-paint-roller; }
+.@{fa-css-prefix}-palette:before { content: @fa-var-palette; }
+.@{fa-css-prefix}-palfed:before { content: @fa-var-palfed; }
+.@{fa-css-prefix}-pallet:before { content: @fa-var-pallet; }
+.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; }
+.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; }
+.@{fa-css-prefix}-parachute-box:before { content: @fa-var-parachute-box; }
+.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; }
+.@{fa-css-prefix}-parking:before { content: @fa-var-parking; }
+.@{fa-css-prefix}-passport:before { content: @fa-var-passport; }
+.@{fa-css-prefix}-pastafarianism:before { content: @fa-var-pastafarianism; }
+.@{fa-css-prefix}-paste:before { content: @fa-var-paste; }
+.@{fa-css-prefix}-patreon:before { content: @fa-var-patreon; }
+.@{fa-css-prefix}-pause:before { content: @fa-var-pause; }
+.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; }
+.@{fa-css-prefix}-paw:before { content: @fa-var-paw; }
+.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; }
+.@{fa-css-prefix}-peace:before { content: @fa-var-peace; }
+.@{fa-css-prefix}-pen:before { content: @fa-var-pen; }
+.@{fa-css-prefix}-pen-alt:before { content: @fa-var-pen-alt; }
+.@{fa-css-prefix}-pen-fancy:before { content: @fa-var-pen-fancy; }
+.@{fa-css-prefix}-pen-nib:before { content: @fa-var-pen-nib; }
+.@{fa-css-prefix}-pen-square:before { content: @fa-var-pen-square; }
+.@{fa-css-prefix}-pencil-alt:before { content: @fa-var-pencil-alt; }
+.@{fa-css-prefix}-pencil-ruler:before { content: @fa-var-pencil-ruler; }
+.@{fa-css-prefix}-penny-arcade:before { content: @fa-var-penny-arcade; }
+.@{fa-css-prefix}-people-carry:before { content: @fa-var-people-carry; }
+.@{fa-css-prefix}-pepper-hot:before { content: @fa-var-pepper-hot; }
+.@{fa-css-prefix}-percent:before { content: @fa-var-percent; }
+.@{fa-css-prefix}-percentage:before { content: @fa-var-percentage; }
+.@{fa-css-prefix}-periscope:before { content: @fa-var-periscope; }
+.@{fa-css-prefix}-person-booth:before { content: @fa-var-person-booth; }
+.@{fa-css-prefix}-phabricator:before { content: @fa-var-phabricator; }
+.@{fa-css-prefix}-phoenix-framework:before { content: @fa-var-phoenix-framework; }
+.@{fa-css-prefix}-phoenix-squadron:before { content: @fa-var-phoenix-squadron; }
+.@{fa-css-prefix}-phone:before { content: @fa-var-phone; }
+.@{fa-css-prefix}-phone-alt:before { content: @fa-var-phone-alt; }
+.@{fa-css-prefix}-phone-slash:before { content: @fa-var-phone-slash; }
+.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; }
+.@{fa-css-prefix}-phone-square-alt:before { content: @fa-var-phone-square-alt; }
+.@{fa-css-prefix}-phone-volume:before { content: @fa-var-phone-volume; }
+.@{fa-css-prefix}-photo-video:before { content: @fa-var-photo-video; }
+.@{fa-css-prefix}-php:before { content: @fa-var-php; }
+.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; }
+.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; }
+.@{fa-css-prefix}-pied-piper-hat:before { content: @fa-var-pied-piper-hat; }
+.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; }
+.@{fa-css-prefix}-piggy-bank:before { content: @fa-var-piggy-bank; }
+.@{fa-css-prefix}-pills:before { content: @fa-var-pills; }
+.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; }
+.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; }
+.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; }
+.@{fa-css-prefix}-pizza-slice:before { content: @fa-var-pizza-slice; }
+.@{fa-css-prefix}-place-of-worship:before { content: @fa-var-place-of-worship; }
+.@{fa-css-prefix}-plane:before { content: @fa-var-plane; }
+.@{fa-css-prefix}-plane-arrival:before { content: @fa-var-plane-arrival; }
+.@{fa-css-prefix}-plane-departure:before { content: @fa-var-plane-departure; }
+.@{fa-css-prefix}-play:before { content: @fa-var-play; }
+.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; }
+.@{fa-css-prefix}-playstation:before { content: @fa-var-playstation; }
+.@{fa-css-prefix}-plug:before { content: @fa-var-plug; }
+.@{fa-css-prefix}-plus:before { content: @fa-var-plus; }
+.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; }
+.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; }
+.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; }
+.@{fa-css-prefix}-poll:before { content: @fa-var-poll; }
+.@{fa-css-prefix}-poll-h:before { content: @fa-var-poll-h; }
+.@{fa-css-prefix}-poo:before { content: @fa-var-poo; }
+.@{fa-css-prefix}-poo-storm:before { content: @fa-var-poo-storm; }
+.@{fa-css-prefix}-poop:before { content: @fa-var-poop; }
+.@{fa-css-prefix}-portrait:before { content: @fa-var-portrait; }
+.@{fa-css-prefix}-pound-sign:before { content: @fa-var-pound-sign; }
+.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; }
+.@{fa-css-prefix}-pray:before { content: @fa-var-pray; }
+.@{fa-css-prefix}-praying-hands:before { content: @fa-var-praying-hands; }
+.@{fa-css-prefix}-prescription:before { content: @fa-var-prescription; }
+.@{fa-css-prefix}-prescription-bottle:before { content: @fa-var-prescription-bottle; }
+.@{fa-css-prefix}-prescription-bottle-alt:before { content: @fa-var-prescription-bottle-alt; }
+.@{fa-css-prefix}-print:before { content: @fa-var-print; }
+.@{fa-css-prefix}-procedures:before { content: @fa-var-procedures; }
+.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; }
+.@{fa-css-prefix}-project-diagram:before { content: @fa-var-project-diagram; }
+.@{fa-css-prefix}-pushed:before { content: @fa-var-pushed; }
+.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; }
+.@{fa-css-prefix}-python:before { content: @fa-var-python; }
+.@{fa-css-prefix}-qq:before { content: @fa-var-qq; }
+.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; }
+.@{fa-css-prefix}-question:before { content: @fa-var-question; }
+.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; }
+.@{fa-css-prefix}-quidditch:before { content: @fa-var-quidditch; }
+.@{fa-css-prefix}-quinscape:before { content: @fa-var-quinscape; }
+.@{fa-css-prefix}-quora:before { content: @fa-var-quora; }
+.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; }
+.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; }
+.@{fa-css-prefix}-quran:before { content: @fa-var-quran; }
+.@{fa-css-prefix}-r-project:before { content: @fa-var-r-project; }
+.@{fa-css-prefix}-radiation:before { content: @fa-var-radiation; }
+.@{fa-css-prefix}-radiation-alt:before { content: @fa-var-radiation-alt; }
+.@{fa-css-prefix}-rainbow:before { content: @fa-var-rainbow; }
+.@{fa-css-prefix}-random:before { content: @fa-var-random; }
+.@{fa-css-prefix}-raspberry-pi:before { content: @fa-var-raspberry-pi; }
+.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; }
+.@{fa-css-prefix}-react:before { content: @fa-var-react; }
+.@{fa-css-prefix}-reacteurope:before { content: @fa-var-reacteurope; }
+.@{fa-css-prefix}-readme:before { content: @fa-var-readme; }
+.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; }
+.@{fa-css-prefix}-receipt:before { content: @fa-var-receipt; }
+.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; }
+.@{fa-css-prefix}-red-river:before { content: @fa-var-red-river; }
+.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; }
+.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; }
+.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; }
+.@{fa-css-prefix}-redhat:before { content: @fa-var-redhat; }
+.@{fa-css-prefix}-redo:before { content: @fa-var-redo; }
+.@{fa-css-prefix}-redo-alt:before { content: @fa-var-redo-alt; }
+.@{fa-css-prefix}-registered:before { content: @fa-var-registered; }
+.@{fa-css-prefix}-remove-format:before { content: @fa-var-remove-format; }
+.@{fa-css-prefix}-renren:before { content: @fa-var-renren; }
+.@{fa-css-prefix}-reply:before { content: @fa-var-reply; }
+.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; }
+.@{fa-css-prefix}-replyd:before { content: @fa-var-replyd; }
+.@{fa-css-prefix}-republican:before { content: @fa-var-republican; }
+.@{fa-css-prefix}-researchgate:before { content: @fa-var-researchgate; }
+.@{fa-css-prefix}-resolving:before { content: @fa-var-resolving; }
+.@{fa-css-prefix}-restroom:before { content: @fa-var-restroom; }
+.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; }
+.@{fa-css-prefix}-rev:before { content: @fa-var-rev; }
+.@{fa-css-prefix}-ribbon:before { content: @fa-var-ribbon; }
+.@{fa-css-prefix}-ring:before { content: @fa-var-ring; }
+.@{fa-css-prefix}-road:before { content: @fa-var-road; }
+.@{fa-css-prefix}-robot:before { content: @fa-var-robot; }
+.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; }
+.@{fa-css-prefix}-rocketchat:before { content: @fa-var-rocketchat; }
+.@{fa-css-prefix}-rockrms:before { content: @fa-var-rockrms; }
+.@{fa-css-prefix}-route:before { content: @fa-var-route; }
+.@{fa-css-prefix}-rss:before { content: @fa-var-rss; }
+.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; }
+.@{fa-css-prefix}-ruble-sign:before { content: @fa-var-ruble-sign; }
+.@{fa-css-prefix}-ruler:before { content: @fa-var-ruler; }
+.@{fa-css-prefix}-ruler-combined:before { content: @fa-var-ruler-combined; }
+.@{fa-css-prefix}-ruler-horizontal:before { content: @fa-var-ruler-horizontal; }
+.@{fa-css-prefix}-ruler-vertical:before { content: @fa-var-ruler-vertical; }
+.@{fa-css-prefix}-running:before { content: @fa-var-running; }
+.@{fa-css-prefix}-rupee-sign:before { content: @fa-var-rupee-sign; }
+.@{fa-css-prefix}-sad-cry:before { content: @fa-var-sad-cry; }
+.@{fa-css-prefix}-sad-tear:before { content: @fa-var-sad-tear; }
+.@{fa-css-prefix}-safari:before { content: @fa-var-safari; }
+.@{fa-css-prefix}-salesforce:before { content: @fa-var-salesforce; }
+.@{fa-css-prefix}-sass:before { content: @fa-var-sass; }
+.@{fa-css-prefix}-satellite:before { content: @fa-var-satellite; }
+.@{fa-css-prefix}-satellite-dish:before { content: @fa-var-satellite-dish; }
+.@{fa-css-prefix}-save:before { content: @fa-var-save; }
+.@{fa-css-prefix}-schlix:before { content: @fa-var-schlix; }
+.@{fa-css-prefix}-school:before { content: @fa-var-school; }
+.@{fa-css-prefix}-screwdriver:before { content: @fa-var-screwdriver; }
+.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; }
+.@{fa-css-prefix}-scroll:before { content: @fa-var-scroll; }
+.@{fa-css-prefix}-sd-card:before { content: @fa-var-sd-card; }
+.@{fa-css-prefix}-search:before { content: @fa-var-search; }
+.@{fa-css-prefix}-search-dollar:before { content: @fa-var-search-dollar; }
+.@{fa-css-prefix}-search-location:before { content: @fa-var-search-location; }
+.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; }
+.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; }
+.@{fa-css-prefix}-searchengin:before { content: @fa-var-searchengin; }
+.@{fa-css-prefix}-seedling:before { content: @fa-var-seedling; }
+.@{fa-css-prefix}-sellcast:before { content: @fa-var-sellcast; }
+.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; }
+.@{fa-css-prefix}-server:before { content: @fa-var-server; }
+.@{fa-css-prefix}-servicestack:before { content: @fa-var-servicestack; }
+.@{fa-css-prefix}-shapes:before { content: @fa-var-shapes; }
+.@{fa-css-prefix}-share:before { content: @fa-var-share; }
+.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; }
+.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; }
+.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; }
+.@{fa-css-prefix}-shekel-sign:before { content: @fa-var-shekel-sign; }
+.@{fa-css-prefix}-shield-alt:before { content: @fa-var-shield-alt; }
+.@{fa-css-prefix}-ship:before { content: @fa-var-ship; }
+.@{fa-css-prefix}-shipping-fast:before { content: @fa-var-shipping-fast; }
+.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; }
+.@{fa-css-prefix}-shoe-prints:before { content: @fa-var-shoe-prints; }
+.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; }
+.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; }
+.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; }
+.@{fa-css-prefix}-shopware:before { content: @fa-var-shopware; }
+.@{fa-css-prefix}-shower:before { content: @fa-var-shower; }
+.@{fa-css-prefix}-shuttle-van:before { content: @fa-var-shuttle-van; }
+.@{fa-css-prefix}-sign:before { content: @fa-var-sign; }
+.@{fa-css-prefix}-sign-in-alt:before { content: @fa-var-sign-in-alt; }
+.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; }
+.@{fa-css-prefix}-sign-out-alt:before { content: @fa-var-sign-out-alt; }
+.@{fa-css-prefix}-signal:before { content: @fa-var-signal; }
+.@{fa-css-prefix}-signature:before { content: @fa-var-signature; }
+.@{fa-css-prefix}-sim-card:before { content: @fa-var-sim-card; }
+.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; }
+.@{fa-css-prefix}-sistrix:before { content: @fa-var-sistrix; }
+.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; }
+.@{fa-css-prefix}-sith:before { content: @fa-var-sith; }
+.@{fa-css-prefix}-skating:before { content: @fa-var-skating; }
+.@{fa-css-prefix}-sketch:before { content: @fa-var-sketch; }
+.@{fa-css-prefix}-skiing:before { content: @fa-var-skiing; }
+.@{fa-css-prefix}-skiing-nordic:before { content: @fa-var-skiing-nordic; }
+.@{fa-css-prefix}-skull:before { content: @fa-var-skull; }
+.@{fa-css-prefix}-skull-crossbones:before { content: @fa-var-skull-crossbones; }
+.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; }
+.@{fa-css-prefix}-skype:before { content: @fa-var-skype; }
+.@{fa-css-prefix}-slack:before { content: @fa-var-slack; }
+.@{fa-css-prefix}-slack-hash:before { content: @fa-var-slack-hash; }
+.@{fa-css-prefix}-slash:before { content: @fa-var-slash; }
+.@{fa-css-prefix}-sleigh:before { content: @fa-var-sleigh; }
+.@{fa-css-prefix}-sliders-h:before { content: @fa-var-sliders-h; }
+.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; }
+.@{fa-css-prefix}-smile:before { content: @fa-var-smile; }
+.@{fa-css-prefix}-smile-beam:before { content: @fa-var-smile-beam; }
+.@{fa-css-prefix}-smile-wink:before { content: @fa-var-smile-wink; }
+.@{fa-css-prefix}-smog:before { content: @fa-var-smog; }
+.@{fa-css-prefix}-smoking:before { content: @fa-var-smoking; }
+.@{fa-css-prefix}-smoking-ban:before { content: @fa-var-smoking-ban; }
+.@{fa-css-prefix}-sms:before { content: @fa-var-sms; }
+.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; }
+.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; }
+.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; }
+.@{fa-css-prefix}-snowboarding:before { content: @fa-var-snowboarding; }
+.@{fa-css-prefix}-snowflake:before { content: @fa-var-snowflake; }
+.@{fa-css-prefix}-snowman:before { content: @fa-var-snowman; }
+.@{fa-css-prefix}-snowplow:before { content: @fa-var-snowplow; }
+.@{fa-css-prefix}-socks:before { content: @fa-var-socks; }
+.@{fa-css-prefix}-solar-panel:before { content: @fa-var-solar-panel; }
+.@{fa-css-prefix}-sort:before { content: @fa-var-sort; }
+.@{fa-css-prefix}-sort-alpha-down:before { content: @fa-var-sort-alpha-down; }
+.@{fa-css-prefix}-sort-alpha-down-alt:before { content: @fa-var-sort-alpha-down-alt; }
+.@{fa-css-prefix}-sort-alpha-up:before { content: @fa-var-sort-alpha-up; }
+.@{fa-css-prefix}-sort-alpha-up-alt:before { content: @fa-var-sort-alpha-up-alt; }
+.@{fa-css-prefix}-sort-amount-down:before { content: @fa-var-sort-amount-down; }
+.@{fa-css-prefix}-sort-amount-down-alt:before { content: @fa-var-sort-amount-down-alt; }
+.@{fa-css-prefix}-sort-amount-up:before { content: @fa-var-sort-amount-up; }
+.@{fa-css-prefix}-sort-amount-up-alt:before { content: @fa-var-sort-amount-up-alt; }
+.@{fa-css-prefix}-sort-down:before { content: @fa-var-sort-down; }
+.@{fa-css-prefix}-sort-numeric-down:before { content: @fa-var-sort-numeric-down; }
+.@{fa-css-prefix}-sort-numeric-down-alt:before { content: @fa-var-sort-numeric-down-alt; }
+.@{fa-css-prefix}-sort-numeric-up:before { content: @fa-var-sort-numeric-up; }
+.@{fa-css-prefix}-sort-numeric-up-alt:before { content: @fa-var-sort-numeric-up-alt; }
+.@{fa-css-prefix}-sort-up:before { content: @fa-var-sort-up; }
+.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; }
+.@{fa-css-prefix}-sourcetree:before { content: @fa-var-sourcetree; }
+.@{fa-css-prefix}-spa:before { content: @fa-var-spa; }
+.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; }
+.@{fa-css-prefix}-speakap:before { content: @fa-var-speakap; }
+.@{fa-css-prefix}-speaker-deck:before { content: @fa-var-speaker-deck; }
+.@{fa-css-prefix}-spell-check:before { content: @fa-var-spell-check; }
+.@{fa-css-prefix}-spider:before { content: @fa-var-spider; }
+.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; }
+.@{fa-css-prefix}-splotch:before { content: @fa-var-splotch; }
+.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; }
+.@{fa-css-prefix}-spray-can:before { content: @fa-var-spray-can; }
+.@{fa-css-prefix}-square:before { content: @fa-var-square; }
+.@{fa-css-prefix}-square-full:before { content: @fa-var-square-full; }
+.@{fa-css-prefix}-square-root-alt:before { content: @fa-var-square-root-alt; }
+.@{fa-css-prefix}-squarespace:before { content: @fa-var-squarespace; }
+.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; }
+.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; }
+.@{fa-css-prefix}-stackpath:before { content: @fa-var-stackpath; }
+.@{fa-css-prefix}-stamp:before { content: @fa-var-stamp; }
+.@{fa-css-prefix}-star:before { content: @fa-var-star; }
+.@{fa-css-prefix}-star-and-crescent:before { content: @fa-var-star-and-crescent; }
+.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; }
+.@{fa-css-prefix}-star-half-alt:before { content: @fa-var-star-half-alt; }
+.@{fa-css-prefix}-star-of-david:before { content: @fa-var-star-of-david; }
+.@{fa-css-prefix}-star-of-life:before { content: @fa-var-star-of-life; }
+.@{fa-css-prefix}-staylinked:before { content: @fa-var-staylinked; }
+.@{fa-css-prefix}-steam:before { content: @fa-var-steam; }
+.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; }
+.@{fa-css-prefix}-steam-symbol:before { content: @fa-var-steam-symbol; }
+.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; }
+.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; }
+.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; }
+.@{fa-css-prefix}-sticker-mule:before { content: @fa-var-sticker-mule; }
+.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; }
+.@{fa-css-prefix}-stop:before { content: @fa-var-stop; }
+.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; }
+.@{fa-css-prefix}-stopwatch:before { content: @fa-var-stopwatch; }
+.@{fa-css-prefix}-store:before { content: @fa-var-store; }
+.@{fa-css-prefix}-store-alt:before { content: @fa-var-store-alt; }
+.@{fa-css-prefix}-strava:before { content: @fa-var-strava; }
+.@{fa-css-prefix}-stream:before { content: @fa-var-stream; }
+.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; }
+.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; }
+.@{fa-css-prefix}-stripe:before { content: @fa-var-stripe; }
+.@{fa-css-prefix}-stripe-s:before { content: @fa-var-stripe-s; }
+.@{fa-css-prefix}-stroopwafel:before { content: @fa-var-stroopwafel; }
+.@{fa-css-prefix}-studiovinari:before { content: @fa-var-studiovinari; }
+.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; }
+.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; }
+.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; }
+.@{fa-css-prefix}-subway:before { content: @fa-var-subway; }
+.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; }
+.@{fa-css-prefix}-suitcase-rolling:before { content: @fa-var-suitcase-rolling; }
+.@{fa-css-prefix}-sun:before { content: @fa-var-sun; }
+.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; }
+.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; }
+.@{fa-css-prefix}-supple:before { content: @fa-var-supple; }
+.@{fa-css-prefix}-surprise:before { content: @fa-var-surprise; }
+.@{fa-css-prefix}-suse:before { content: @fa-var-suse; }
+.@{fa-css-prefix}-swatchbook:before { content: @fa-var-swatchbook; }
+.@{fa-css-prefix}-swimmer:before { content: @fa-var-swimmer; }
+.@{fa-css-prefix}-swimming-pool:before { content: @fa-var-swimming-pool; }
+.@{fa-css-prefix}-symfony:before { content: @fa-var-symfony; }
+.@{fa-css-prefix}-synagogue:before { content: @fa-var-synagogue; }
+.@{fa-css-prefix}-sync:before { content: @fa-var-sync; }
+.@{fa-css-prefix}-sync-alt:before { content: @fa-var-sync-alt; }
+.@{fa-css-prefix}-syringe:before { content: @fa-var-syringe; }
+.@{fa-css-prefix}-table:before { content: @fa-var-table; }
+.@{fa-css-prefix}-table-tennis:before { content: @fa-var-table-tennis; }
+.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; }
+.@{fa-css-prefix}-tablet-alt:before { content: @fa-var-tablet-alt; }
+.@{fa-css-prefix}-tablets:before { content: @fa-var-tablets; }
+.@{fa-css-prefix}-tachometer-alt:before { content: @fa-var-tachometer-alt; }
+.@{fa-css-prefix}-tag:before { content: @fa-var-tag; }
+.@{fa-css-prefix}-tags:before { content: @fa-var-tags; }
+.@{fa-css-prefix}-tape:before { content: @fa-var-tape; }
+.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; }
+.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; }
+.@{fa-css-prefix}-teamspeak:before { content: @fa-var-teamspeak; }
+.@{fa-css-prefix}-teeth:before { content: @fa-var-teeth; }
+.@{fa-css-prefix}-teeth-open:before { content: @fa-var-teeth-open; }
+.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; }
+.@{fa-css-prefix}-telegram-plane:before { content: @fa-var-telegram-plane; }
+.@{fa-css-prefix}-temperature-high:before { content: @fa-var-temperature-high; }
+.@{fa-css-prefix}-temperature-low:before { content: @fa-var-temperature-low; }
+.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; }
+.@{fa-css-prefix}-tenge:before { content: @fa-var-tenge; }
+.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; }
+.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; }
+.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; }
+.@{fa-css-prefix}-th:before { content: @fa-var-th; }
+.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; }
+.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; }
+.@{fa-css-prefix}-the-red-yeti:before { content: @fa-var-the-red-yeti; }
+.@{fa-css-prefix}-theater-masks:before { content: @fa-var-theater-masks; }
+.@{fa-css-prefix}-themeco:before { content: @fa-var-themeco; }
+.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; }
+.@{fa-css-prefix}-thermometer:before { content: @fa-var-thermometer; }
+.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; }
+.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; }
+.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; }
+.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; }
+.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; }
+.@{fa-css-prefix}-think-peaks:before { content: @fa-var-think-peaks; }
+.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; }
+.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; }
+.@{fa-css-prefix}-thumbtack:before { content: @fa-var-thumbtack; }
+.@{fa-css-prefix}-ticket-alt:before { content: @fa-var-ticket-alt; }
+.@{fa-css-prefix}-times:before { content: @fa-var-times; }
+.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; }
+.@{fa-css-prefix}-tint:before { content: @fa-var-tint; }
+.@{fa-css-prefix}-tint-slash:before { content: @fa-var-tint-slash; }
+.@{fa-css-prefix}-tired:before { content: @fa-var-tired; }
+.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; }
+.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; }
+.@{fa-css-prefix}-toilet:before { content: @fa-var-toilet; }
+.@{fa-css-prefix}-toilet-paper:before { content: @fa-var-toilet-paper; }
+.@{fa-css-prefix}-toolbox:before { content: @fa-var-toolbox; }
+.@{fa-css-prefix}-tools:before { content: @fa-var-tools; }
+.@{fa-css-prefix}-tooth:before { content: @fa-var-tooth; }
+.@{fa-css-prefix}-torah:before { content: @fa-var-torah; }
+.@{fa-css-prefix}-torii-gate:before { content: @fa-var-torii-gate; }
+.@{fa-css-prefix}-tractor:before { content: @fa-var-tractor; }
+.@{fa-css-prefix}-trade-federation:before { content: @fa-var-trade-federation; }
+.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; }
+.@{fa-css-prefix}-traffic-light:before { content: @fa-var-traffic-light; }
+.@{fa-css-prefix}-train:before { content: @fa-var-train; }
+.@{fa-css-prefix}-tram:before { content: @fa-var-tram; }
+.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; }
+.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; }
+.@{fa-css-prefix}-trash:before { content: @fa-var-trash; }
+.@{fa-css-prefix}-trash-alt:before { content: @fa-var-trash-alt; }
+.@{fa-css-prefix}-trash-restore:before { content: @fa-var-trash-restore; }
+.@{fa-css-prefix}-trash-restore-alt:before { content: @fa-var-trash-restore-alt; }
+.@{fa-css-prefix}-tree:before { content: @fa-var-tree; }
+.@{fa-css-prefix}-trello:before { content: @fa-var-trello; }
+.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; }
+.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; }
+.@{fa-css-prefix}-truck:before { content: @fa-var-truck; }
+.@{fa-css-prefix}-truck-loading:before { content: @fa-var-truck-loading; }
+.@{fa-css-prefix}-truck-monster:before { content: @fa-var-truck-monster; }
+.@{fa-css-prefix}-truck-moving:before { content: @fa-var-truck-moving; }
+.@{fa-css-prefix}-truck-pickup:before { content: @fa-var-truck-pickup; }
+.@{fa-css-prefix}-tshirt:before { content: @fa-var-tshirt; }
+.@{fa-css-prefix}-tty:before { content: @fa-var-tty; }
+.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; }
+.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; }
+.@{fa-css-prefix}-tv:before { content: @fa-var-tv; }
+.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; }
+.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; }
+.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; }
+.@{fa-css-prefix}-typo3:before { content: @fa-var-typo3; }
+.@{fa-css-prefix}-uber:before { content: @fa-var-uber; }
+.@{fa-css-prefix}-ubuntu:before { content: @fa-var-ubuntu; }
+.@{fa-css-prefix}-uikit:before { content: @fa-var-uikit; }
+.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; }
+.@{fa-css-prefix}-umbrella-beach:before { content: @fa-var-umbrella-beach; }
+.@{fa-css-prefix}-underline:before { content: @fa-var-underline; }
+.@{fa-css-prefix}-undo:before { content: @fa-var-undo; }
+.@{fa-css-prefix}-undo-alt:before { content: @fa-var-undo-alt; }
+.@{fa-css-prefix}-uniregistry:before { content: @fa-var-uniregistry; }
+.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; }
+.@{fa-css-prefix}-university:before { content: @fa-var-university; }
+.@{fa-css-prefix}-unlink:before { content: @fa-var-unlink; }
+.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; }
+.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; }
+.@{fa-css-prefix}-untappd:before { content: @fa-var-untappd; }
+.@{fa-css-prefix}-upload:before { content: @fa-var-upload; }
+.@{fa-css-prefix}-ups:before { content: @fa-var-ups; }
+.@{fa-css-prefix}-usb:before { content: @fa-var-usb; }
+.@{fa-css-prefix}-user:before { content: @fa-var-user; }
+.@{fa-css-prefix}-user-alt:before { content: @fa-var-user-alt; }
+.@{fa-css-prefix}-user-alt-slash:before { content: @fa-var-user-alt-slash; }
+.@{fa-css-prefix}-user-astronaut:before { content: @fa-var-user-astronaut; }
+.@{fa-css-prefix}-user-check:before { content: @fa-var-user-check; }
+.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; }
+.@{fa-css-prefix}-user-clock:before { content: @fa-var-user-clock; }
+.@{fa-css-prefix}-user-cog:before { content: @fa-var-user-cog; }
+.@{fa-css-prefix}-user-edit:before { content: @fa-var-user-edit; }
+.@{fa-css-prefix}-user-friends:before { content: @fa-var-user-friends; }
+.@{fa-css-prefix}-user-graduate:before { content: @fa-var-user-graduate; }
+.@{fa-css-prefix}-user-injured:before { content: @fa-var-user-injured; }
+.@{fa-css-prefix}-user-lock:before { content: @fa-var-user-lock; }
+.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; }
+.@{fa-css-prefix}-user-minus:before { content: @fa-var-user-minus; }
+.@{fa-css-prefix}-user-ninja:before { content: @fa-var-user-ninja; }
+.@{fa-css-prefix}-user-nurse:before { content: @fa-var-user-nurse; }
+.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; }
+.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; }
+.@{fa-css-prefix}-user-shield:before { content: @fa-var-user-shield; }
+.@{fa-css-prefix}-user-slash:before { content: @fa-var-user-slash; }
+.@{fa-css-prefix}-user-tag:before { content: @fa-var-user-tag; }
+.@{fa-css-prefix}-user-tie:before { content: @fa-var-user-tie; }
+.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; }
+.@{fa-css-prefix}-users:before { content: @fa-var-users; }
+.@{fa-css-prefix}-users-cog:before { content: @fa-var-users-cog; }
+.@{fa-css-prefix}-usps:before { content: @fa-var-usps; }
+.@{fa-css-prefix}-ussunnah:before { content: @fa-var-ussunnah; }
+.@{fa-css-prefix}-utensil-spoon:before { content: @fa-var-utensil-spoon; }
+.@{fa-css-prefix}-utensils:before { content: @fa-var-utensils; }
+.@{fa-css-prefix}-vaadin:before { content: @fa-var-vaadin; }
+.@{fa-css-prefix}-vector-square:before { content: @fa-var-vector-square; }
+.@{fa-css-prefix}-venus:before { content: @fa-var-venus; }
+.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; }
+.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; }
+.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; }
+.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; }
+.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; }
+.@{fa-css-prefix}-vial:before { content: @fa-var-vial; }
+.@{fa-css-prefix}-vials:before { content: @fa-var-vials; }
+.@{fa-css-prefix}-viber:before { content: @fa-var-viber; }
+.@{fa-css-prefix}-video:before { content: @fa-var-video; }
+.@{fa-css-prefix}-video-slash:before { content: @fa-var-video-slash; }
+.@{fa-css-prefix}-vihara:before { content: @fa-var-vihara; }
+.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; }
+.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; }
+.@{fa-css-prefix}-vimeo-v:before { content: @fa-var-vimeo-v; }
+.@{fa-css-prefix}-vine:before { content: @fa-var-vine; }
+.@{fa-css-prefix}-vk:before { content: @fa-var-vk; }
+.@{fa-css-prefix}-vnv:before { content: @fa-var-vnv; }
+.@{fa-css-prefix}-voicemail:before { content: @fa-var-voicemail; }
+.@{fa-css-prefix}-volleyball-ball:before { content: @fa-var-volleyball-ball; }
+.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; }
+.@{fa-css-prefix}-volume-mute:before { content: @fa-var-volume-mute; }
+.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; }
+.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; }
+.@{fa-css-prefix}-vote-yea:before { content: @fa-var-vote-yea; }
+.@{fa-css-prefix}-vr-cardboard:before { content: @fa-var-vr-cardboard; }
+.@{fa-css-prefix}-vuejs:before { content: @fa-var-vuejs; }
+.@{fa-css-prefix}-walking:before { content: @fa-var-walking; }
+.@{fa-css-prefix}-wallet:before { content: @fa-var-wallet; }
+.@{fa-css-prefix}-warehouse:before { content: @fa-var-warehouse; }
+.@{fa-css-prefix}-water:before { content: @fa-var-water; }
+.@{fa-css-prefix}-wave-square:before { content: @fa-var-wave-square; }
+.@{fa-css-prefix}-waze:before { content: @fa-var-waze; }
+.@{fa-css-prefix}-weebly:before { content: @fa-var-weebly; }
+.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; }
+.@{fa-css-prefix}-weight:before { content: @fa-var-weight; }
+.@{fa-css-prefix}-weight-hanging:before { content: @fa-var-weight-hanging; }
+.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; }
+.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; }
+.@{fa-css-prefix}-whatsapp-square:before { content: @fa-var-whatsapp-square; }
+.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; }
+.@{fa-css-prefix}-whmcs:before { content: @fa-var-whmcs; }
+.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; }
+.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; }
+.@{fa-css-prefix}-wind:before { content: @fa-var-wind; }
+.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; }
+.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; }
+.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; }
+.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; }
+.@{fa-css-prefix}-windows:before { content: @fa-var-windows; }
+.@{fa-css-prefix}-wine-bottle:before { content: @fa-var-wine-bottle; }
+.@{fa-css-prefix}-wine-glass:before { content: @fa-var-wine-glass; }
+.@{fa-css-prefix}-wine-glass-alt:before { content: @fa-var-wine-glass-alt; }
+.@{fa-css-prefix}-wix:before { content: @fa-var-wix; }
+.@{fa-css-prefix}-wizards-of-the-coast:before { content: @fa-var-wizards-of-the-coast; }
+.@{fa-css-prefix}-wolf-pack-battalion:before { content: @fa-var-wolf-pack-battalion; }
+.@{fa-css-prefix}-won-sign:before { content: @fa-var-won-sign; }
+.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; }
+.@{fa-css-prefix}-wordpress-simple:before { content: @fa-var-wordpress-simple; }
+.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; }
+.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; }
+.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; }
+.@{fa-css-prefix}-wpressr:before { content: @fa-var-wpressr; }
+.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; }
+.@{fa-css-prefix}-x-ray:before { content: @fa-var-x-ray; }
+.@{fa-css-prefix}-xbox:before { content: @fa-var-xbox; }
+.@{fa-css-prefix}-xing:before { content: @fa-var-xing; }
+.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; }
+.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; }
+.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; }
+.@{fa-css-prefix}-yammer:before { content: @fa-var-yammer; }
+.@{fa-css-prefix}-yandex:before { content: @fa-var-yandex; }
+.@{fa-css-prefix}-yandex-international:before { content: @fa-var-yandex-international; }
+.@{fa-css-prefix}-yarn:before { content: @fa-var-yarn; }
+.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; }
+.@{fa-css-prefix}-yen-sign:before { content: @fa-var-yen-sign; }
+.@{fa-css-prefix}-yin-yang:before { content: @fa-var-yin-yang; }
+.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; }
+.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; }
+.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; }
+.@{fa-css-prefix}-zhihu:before { content: @fa-var-zhihu; }

+ 27 - 0
resources/fontawesome/less/_larger.less

@@ -0,0 +1,27 @@
+// Icon Sizes
+// -------------------------
+
+.larger(@factor) when (@factor > 0) {
+  .larger((@factor - 1));
+
+  .@{fa-css-prefix}-@{factor}x {
+    font-size: (@factor * 1em);
+  }
+}
+
+/* makes the font 33% larger relative to the icon container */
+.@{fa-css-prefix}-lg {
+  font-size: (4em / 3);
+  line-height: (3em / 4);
+  vertical-align: -.0667em;
+}
+
+.@{fa-css-prefix}-xs {
+  font-size: .75em;
+}
+
+.@{fa-css-prefix}-sm {
+  font-size: .875em;
+}
+
+.larger(10);

+ 18 - 0
resources/fontawesome/less/_list.less

@@ -0,0 +1,18 @@
+// List Icons
+// -------------------------
+
+.@{fa-css-prefix}-ul {
+  list-style-type: none;
+  margin-left: (@fa-li-width * 5/4);
+  padding-left: 0;
+
+  > li { position: relative; }
+}
+
+.@{fa-css-prefix}-li {
+  left: -@fa-li-width;
+  position: absolute;
+  text-align: center;
+  width: @fa-li-width;
+  line-height: inherit;
+}

+ 56 - 0
resources/fontawesome/less/_mixins.less

@@ -0,0 +1,56 @@
+// Mixins
+// --------------------------
+
+.fa-icon() {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  font-weight: normal;
+  line-height: 1;
+}
+
+.fa-icon-rotate(@degrees, @rotation) {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
+  transform: rotate(@degrees);
+}
+
+.fa-icon-flip(@horiz, @vert, @rotation) {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
+  transform: scale(@horiz, @vert);
+}
+
+
+// Only display content to screen readers. A la Bootstrap 4.
+//
+// See: http://a11yproject.com/posts/how-to-hide-content/
+
+.sr-only() {
+  border: 0;
+  clip: rect(0,0,0,0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px;
+}
+
+// Use in conjunction with .sr-only to only display content when it's focused.
+//
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
+//
+// Credit: HTML5 Boilerplate
+
+.sr-only-focusable() {
+  &:active,
+  &:focus {
+    clip: auto;
+    height: auto;
+    margin: 0;
+    overflow: visible;
+    position: static;
+    width: auto;
+  }
+}

+ 24 - 0
resources/fontawesome/less/_rotated-flipped.less

@@ -0,0 +1,24 @@
+// Rotated & Flipped Icons
+// -------------------------
+
+.@{fa-css-prefix}-rotate-90  { .fa-icon-rotate(90deg, 1);  }
+.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
+.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
+
+.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
+.@{fa-css-prefix}-flip-vertical   { .fa-icon-flip(1, -1, 2); }
+.@{fa-css-prefix}-flip-both, .@{fa-css-prefix}-flip-horizontal.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(-1, -1, 2); }
+
+// Hook for IE8-9
+// -------------------------
+
+:root {
+  .@{fa-css-prefix}-rotate-90,
+  .@{fa-css-prefix}-rotate-180,
+  .@{fa-css-prefix}-rotate-270,
+  .@{fa-css-prefix}-flip-horizontal,
+  .@{fa-css-prefix}-flip-vertical,
+  .@{fa-css-prefix}-flip-both {
+    filter: none;
+  }
+}

+ 5 - 0
resources/fontawesome/less/_screen-reader.less

@@ -0,0 +1,5 @@
+// Screen Readers
+// -------------------------
+
+.sr-only { .sr-only(); }
+.sr-only-focusable { .sr-only-focusable(); }

+ 2062 - 0
resources/fontawesome/less/_shims.less

@@ -0,0 +1,2062 @@
+.@{fa-css-prefix}.@{fa-css-prefix}-glass:before { content: @fa-var-glass-martini; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-meetup {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-star-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-star-o:before { content: @fa-var-star; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-remove:before { content: @fa-var-times; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-close:before { content: @fa-var-times; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gear:before { content: @fa-var-cog; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-trash-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-o:before { content: @fa-var-file; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-clock-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-alt-circle-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-alt-circle-up; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-play-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-repeat:before { content: @fa-var-redo; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-rotate-right:before { content: @fa-var-redo; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-refresh:before { content: @fa-var-sync; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-list-alt {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-dedent:before { content: @fa-var-outdent; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-video-camera:before { content: @fa-var-video; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-picture-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-picture-o:before { content: @fa-var-image; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-photo {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-photo:before { content: @fa-var-image; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-image {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-image:before { content: @fa-var-image; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pencil-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-edit; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-share-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-check-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-times-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-check-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-mail-forward:before { content: @fa-var-share; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-eye {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-eye-slash {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-warning:before { content: @fa-var-exclamation-triangle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-alt-v; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-alt-h; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bar-chart {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-bar-chart:before { content: @fa-var-chart-bar; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bar-chart-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-bar-chart-o:before { content: @fa-var-chart-bar; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-twitter-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-facebook-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gears:before { content: @fa-var-cogs; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-up; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-heart-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-linkedin-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumbtack; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-github-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-lemon-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-square-o:before { content: @fa-var-square; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bookmark-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-twitter {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-facebook {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook-f; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-facebook-f {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-facebook-f:before { content: @fa-var-facebook-f; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-github {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-credit-card {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-feed:before { content: @fa-var-rss; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hdd-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-point-right; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-point-left; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-point-up; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-point-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-expand-arrows-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-group:before { content: @fa-var-users; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-chain:before { content: @fa-var-link; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-scissors:before { content: @fa-var-cut; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-files-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-files-o:before { content: @fa-var-copy; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-floppy-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-floppy-o:before { content: @fa-var-save; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-navicon:before { content: @fa-var-bars; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-reorder:before { content: @fa-var-bars; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pinterest {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pinterest-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-google-plus {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus-g; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-money {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-money:before { content: @fa-var-money-bill-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-unsorted:before { content: @fa-var-sort; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-up; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-linkedin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin-in; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-rotate-left:before { content: @fa-var-undo; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-legal:before { content: @fa-var-gavel; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-dashboard:before { content: @fa-var-tachometer-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-comment-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-comments-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-flash:before { content: @fa-var-bolt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-clipboard {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-paste {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-paste:before { content: @fa-var-clipboard; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-lightbulb-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bell-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cutlery:before { content: @fa-var-utensils; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-text-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-building-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-building-o:before { content: @fa-var-building; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hospital-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-mobile-phone:before { content: @fa-var-mobile-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-mail-reply:before { content: @fa-var-reply; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-github-alt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-folder-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-folder-open-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-smile-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-frown-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-meh-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-keyboard-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-flag-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-mail-reply-all:before { content: @fa-var-reply-all; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-star-half-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-star-half-empty {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-star-half-empty:before { content: @fa-var-star-half; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-star-half-full {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-star-half-full:before { content: @fa-var-star-half; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-branch; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-chain-broken:before { content: @fa-var-unlink; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-shield:before { content: @fa-var-shield-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-maxcdn {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-html5 {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-css3 {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-minus-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pen-square; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-compass {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-down {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-down:before { content: @fa-var-caret-square-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-up; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-up {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-up:before { content: @fa-var-caret-square-up; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-right; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-right:before { content: @fa-var-caret-square-right; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-eur:before { content: @fa-var-euro-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-euro:before { content: @fa-var-euro-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gbp:before { content: @fa-var-pound-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-usd:before { content: @fa-var-dollar-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-dollar:before { content: @fa-var-dollar-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-inr:before { content: @fa-var-rupee-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-rupee:before { content: @fa-var-rupee-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-jpy:before { content: @fa-var-yen-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cny:before { content: @fa-var-yen-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-rmb:before { content: @fa-var-yen-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-yen:before { content: @fa-var-yen-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-rub:before { content: @fa-var-ruble-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-ruble:before { content: @fa-var-ruble-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-rouble:before { content: @fa-var-ruble-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-krw:before { content: @fa-var-won-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-won:before { content: @fa-var-won-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-btc {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bitcoin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-bitcoin:before { content: @fa-var-btc; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-text:before { content: @fa-var-file-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-down-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-down-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-down-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-youtube-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-youtube {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-xing {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-xing-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-youtube-play {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-dropbox {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-stack-overflow {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-instagram {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-flickr {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-adn {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bitbucket {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bitbucket-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-tumblr {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-tumblr-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-alt-down; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-alt-up; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-alt-left; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-alt-right; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-apple {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-windows {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-android {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-linux {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-dribbble {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-skype {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-foursquare {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-trello {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gratipay {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gittip {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-gittip:before { content: @fa-var-gratipay; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sun-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-moon-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-vk {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-weibo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-renren {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pagelines {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-stack-exchange {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-right {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-alt-circle-right; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-alt-circle-left; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-left; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-left {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-toggle-left:before { content: @fa-var-caret-square-left; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-dot-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-vimeo-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-try:before { content: @fa-var-lira-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-turkish-lira:before { content: @fa-var-lira-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-plus-square-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-slack {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-wordpress {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-openid {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-institution:before { content: @fa-var-university; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bank:before { content: @fa-var-university; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-mortar-board:before { content: @fa-var-graduation-cap; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-yahoo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-google {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-reddit {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-reddit-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-stumbleupon-circle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-stumbleupon {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-delicious {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-digg {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pied-piper-pp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pied-piper-alt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-drupal {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-joomla {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-spoon:before { content: @fa-var-utensil-spoon; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-behance {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-behance-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-steam {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-steam-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-automobile:before { content: @fa-var-car; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cab:before { content: @fa-var-taxi; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-envelope-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-deviantart {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-soundcloud {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-pdf-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-word-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-excel-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-powerpoint-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-image-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-photo-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-photo-o:before { content: @fa-var-file-image; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-picture-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-picture-o:before { content: @fa-var-file-image; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-archive-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-zip-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-zip-o:before { content: @fa-var-file-archive; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-audio-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-sound-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-sound-o:before { content: @fa-var-file-audio; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-video-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-movie-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-movie-o:before { content: @fa-var-file-video; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-file-code-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-vine {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-codepen {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-jsfiddle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-life-ring {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-life-bouy {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-life-bouy:before { content: @fa-var-life-ring; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-life-buoy {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-life-buoy:before { content: @fa-var-life-ring; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-life-saver {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-life-saver:before { content: @fa-var-life-ring; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-support {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-support:before { content: @fa-var-life-ring; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-notch; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-rebel {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-ra {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-ra:before { content: @fa-var-rebel; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-resistance {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-resistance:before { content: @fa-var-rebel; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-empire {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-ge {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-ge:before { content: @fa-var-empire; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-git-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-git {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hacker-news {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-y-combinator-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-y-combinator-square:before { content: @fa-var-hacker-news; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-yc-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-yc-square:before { content: @fa-var-hacker-news; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-tencent-weibo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-qq {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-weixin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-wechat {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-wechat:before { content: @fa-var-weixin; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-send:before { content: @fa-var-paper-plane; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-paper-plane-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-send-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-send-o:before { content: @fa-var-paper-plane; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-circle-thin {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-header:before { content: @fa-var-heading; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders-h; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-futbol-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-soccer-ball-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-soccer-ball-o:before { content: @fa-var-futbol; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-slideshare {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-twitch {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-yelp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-newspaper-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-paypal {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-google-wallet {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-visa {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-mastercard {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-discover {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-amex {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-paypal {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-stripe {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bell-slash-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-trash:before { content: @fa-var-trash-alt; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-copyright {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eye-dropper; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-area-chart:before { content: @fa-var-chart-area; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pie-chart:before { content: @fa-var-chart-pie; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-line-chart:before { content: @fa-var-chart-line; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-lastfm {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-lastfm-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-ioxhost {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-angellist {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-cc:before { content: @fa-var-closed-captioning; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-ils:before { content: @fa-var-shekel-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-shekel:before { content: @fa-var-shekel-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sheqel:before { content: @fa-var-shekel-sign; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-meanpath {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-meanpath:before { content: @fa-var-font-awesome; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-buysellads {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-connectdevelop {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-dashcube {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-forumbee {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-leanpub {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sellsy {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-shirtsinbulk {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-simplybuilt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-skyatlas {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-diamond {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-diamond:before { content: @fa-var-gem; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-intersex:before { content: @fa-var-transgender; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-facebook-official {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pinterest-p {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-whatsapp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hotel:before { content: @fa-var-bed; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-viacoin {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-medium {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-y-combinator {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-yc {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-yc:before { content: @fa-var-y-combinator; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-optin-monster {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-opencart {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-expeditedssl {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-battery-4:before { content: @fa-var-battery-full; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-battery:before { content: @fa-var-battery-full; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-battery-3:before { content: @fa-var-battery-three-quarters; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-battery-2:before { content: @fa-var-battery-half; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-battery-1:before { content: @fa-var-battery-quarter; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-battery-0:before { content: @fa-var-battery-empty; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-object-group {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-object-ungroup {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-sticky-note-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-jcb {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-cc-diners-club {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-clone {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-1:before { content: @fa-var-hourglass-start; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-2:before { content: @fa-var-hourglass-half; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-3:before { content: @fa-var-hourglass-end; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-rock-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-grab-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-grab-o:before { content: @fa-var-hand-rock; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-paper-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-stop-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-stop-o:before { content: @fa-var-hand-paper; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-scissors-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-lizard-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-spock-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-pointer-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-peace-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-registered {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-creative-commons {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gg {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gg-circle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-tripadvisor {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-odnoklassniki {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-odnoklassniki-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-get-pocket {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-wikipedia-w {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-safari {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-chrome {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-firefox {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-opera {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-internet-explorer {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-television:before { content: @fa-var-tv; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-contao {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-500px {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-amazon {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-plus-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-minus-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-times-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-check-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-map-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-map-o:before { content: @fa-var-map; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-commenting:before { content: @fa-var-comment-dots; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-commenting-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-commenting-o:before { content: @fa-var-comment-dots; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-houzz {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-vimeo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo-v; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-black-tie {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-fonticons {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-reddit-alien {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-edge {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-codiepie {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-modx {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-fort-awesome {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-usb {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-product-hunt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-mixcloud {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-scribd {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pause-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-stop-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bluetooth {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bluetooth-b {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-gitlab {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-wpbeginner {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-wpforms {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-envira {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-wheelchair-alt {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-accessible-icon; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-question-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-phone-volume; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-asl-interpreting:before { content: @fa-var-american-sign-language-interpreting; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-deafness:before { content: @fa-var-deaf; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-hard-of-hearing:before { content: @fa-var-deaf; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-glide {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-glide-g {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-signing:before { content: @fa-var-sign-language; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-viadeo {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-viadeo-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-snapchat {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-snapchat-ghost {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-snapchat-square {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-pied-piper {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-first-order {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-yoast {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-themeisle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-official {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-circle {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-circle:before { content: @fa-var-google-plus; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-font-awesome {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-fa {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-fa:before { content: @fa-var-font-awesome; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-handshake-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-envelope-open-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-linode {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-address-book-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-vcard:before { content: @fa-var-address-card; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-address-card-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-vcard-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-vcard-o:before { content: @fa-var-address-card; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-user-circle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-user-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-user-o:before { content: @fa-var-user; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-id-badge {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-drivers-license:before { content: @fa-var-id-card; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-id-card-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-drivers-license-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-drivers-license-o:before { content: @fa-var-id-card; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-quora {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-free-code-camp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-telegram {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-4:before { content: @fa-var-thermometer-full; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thermometer:before { content: @fa-var-thermometer-full; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-3:before { content: @fa-var-thermometer-three-quarters; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-2:before { content: @fa-var-thermometer-half; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-1:before { content: @fa-var-thermometer-quarter; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-0:before { content: @fa-var-thermometer-empty; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bathtub:before { content: @fa-var-bath; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-s15:before { content: @fa-var-bath; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-window-maximize {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-window-restore {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-times-rectangle:before { content: @fa-var-window-close; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-window-close-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-times-rectangle-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-times-rectangle-o:before { content: @fa-var-window-close; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-bandcamp {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-grav {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-etsy {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-imdb {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-ravelry {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-eercast {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-eercast:before { content: @fa-var-sellcast; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-snowflake-o {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}
+.@{fa-css-prefix}.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake; }
+
+.@{fa-css-prefix}.@{fa-css-prefix}-superpowers {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-wpexplorer {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+
+.@{fa-css-prefix}.@{fa-css-prefix}-spotify {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}
+

+ 22 - 0
resources/fontawesome/less/_stacked.less

@@ -0,0 +1,22 @@
+// Stacked Icons
+// -------------------------
+
+.@{fa-css-prefix}-stack {
+  display: inline-block;
+  height: 2em;
+  line-height: 2em;
+  position: relative;
+  vertical-align: middle;
+  width: 2em;
+}
+
+.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
+  left: 0;
+  position: absolute;
+  text-align: center;
+  width: 100%;
+}
+
+.@{fa-css-prefix}-stack-1x { line-height: inherit; }
+.@{fa-css-prefix}-stack-2x { font-size: 2em; }
+.@{fa-css-prefix}-inverse { color: @fa-inverse; }

+ 1400 - 0
resources/fontawesome/less/_variables.less

@@ -0,0 +1,1400 @@
+// Variables
+// --------------------------
+
+@fa-font-path:         "../webfonts";
+@fa-font-size-base:    16px;
+@fa-font-display:      auto;
+@fa-line-height-base:  1;
+@fa-css-prefix:        fa;
+@fa-version:           "5.10.1";
+@fa-border-color:      #eee;
+@fa-inverse:           #fff;
+@fa-li-width:          2em;
+@fa-primary-opacity:   1;
+@fa-secondary-opacity: .4;
+
+@fa-var-500px: "\f26e";
+@fa-var-accessible-icon: "\f368";
+@fa-var-accusoft: "\f369";
+@fa-var-acquisitions-incorporated: "\f6af";
+@fa-var-ad: "\f641";
+@fa-var-address-book: "\f2b9";
+@fa-var-address-card: "\f2bb";
+@fa-var-adjust: "\f042";
+@fa-var-adn: "\f170";
+@fa-var-adobe: "\f778";
+@fa-var-adversal: "\f36a";
+@fa-var-affiliatetheme: "\f36b";
+@fa-var-air-freshener: "\f5d0";
+@fa-var-airbnb: "\f834";
+@fa-var-algolia: "\f36c";
+@fa-var-align-center: "\f037";
+@fa-var-align-justify: "\f039";
+@fa-var-align-left: "\f036";
+@fa-var-align-right: "\f038";
+@fa-var-alipay: "\f642";
+@fa-var-allergies: "\f461";
+@fa-var-amazon: "\f270";
+@fa-var-amazon-pay: "\f42c";
+@fa-var-ambulance: "\f0f9";
+@fa-var-american-sign-language-interpreting: "\f2a3";
+@fa-var-amilia: "\f36d";
+@fa-var-anchor: "\f13d";
+@fa-var-android: "\f17b";
+@fa-var-angellist: "\f209";
+@fa-var-angle-double-down: "\f103";
+@fa-var-angle-double-left: "\f100";
+@fa-var-angle-double-right: "\f101";
+@fa-var-angle-double-up: "\f102";
+@fa-var-angle-down: "\f107";
+@fa-var-angle-left: "\f104";
+@fa-var-angle-right: "\f105";
+@fa-var-angle-up: "\f106";
+@fa-var-angry: "\f556";
+@fa-var-angrycreative: "\f36e";
+@fa-var-angular: "\f420";
+@fa-var-ankh: "\f644";
+@fa-var-app-store: "\f36f";
+@fa-var-app-store-ios: "\f370";
+@fa-var-apper: "\f371";
+@fa-var-apple: "\f179";
+@fa-var-apple-alt: "\f5d1";
+@fa-var-apple-pay: "\f415";
+@fa-var-archive: "\f187";
+@fa-var-archway: "\f557";
+@fa-var-arrow-alt-circle-down: "\f358";
+@fa-var-arrow-alt-circle-left: "\f359";
+@fa-var-arrow-alt-circle-right: "\f35a";
+@fa-var-arrow-alt-circle-up: "\f35b";
+@fa-var-arrow-circle-down: "\f0ab";
+@fa-var-arrow-circle-left: "\f0a8";
+@fa-var-arrow-circle-right: "\f0a9";
+@fa-var-arrow-circle-up: "\f0aa";
+@fa-var-arrow-down: "\f063";
+@fa-var-arrow-left: "\f060";
+@fa-var-arrow-right: "\f061";
+@fa-var-arrow-up: "\f062";
+@fa-var-arrows-alt: "\f0b2";
+@fa-var-arrows-alt-h: "\f337";
+@fa-var-arrows-alt-v: "\f338";
+@fa-var-artstation: "\f77a";
+@fa-var-assistive-listening-systems: "\f2a2";
+@fa-var-asterisk: "\f069";
+@fa-var-asymmetrik: "\f372";
+@fa-var-at: "\f1fa";
+@fa-var-atlas: "\f558";
+@fa-var-atlassian: "\f77b";
+@fa-var-atom: "\f5d2";
+@fa-var-audible: "\f373";
+@fa-var-audio-description: "\f29e";
+@fa-var-autoprefixer: "\f41c";
+@fa-var-avianex: "\f374";
+@fa-var-aviato: "\f421";
+@fa-var-award: "\f559";
+@fa-var-aws: "\f375";
+@fa-var-baby: "\f77c";
+@fa-var-baby-carriage: "\f77d";
+@fa-var-backspace: "\f55a";
+@fa-var-backward: "\f04a";
+@fa-var-bacon: "\f7e5";
+@fa-var-balance-scale: "\f24e";
+@fa-var-balance-scale-left: "\f515";
+@fa-var-balance-scale-right: "\f516";
+@fa-var-ban: "\f05e";
+@fa-var-band-aid: "\f462";
+@fa-var-bandcamp: "\f2d5";
+@fa-var-barcode: "\f02a";
+@fa-var-bars: "\f0c9";
+@fa-var-baseball-ball: "\f433";
+@fa-var-basketball-ball: "\f434";
+@fa-var-bath: "\f2cd";
+@fa-var-battery-empty: "\f244";
+@fa-var-battery-full: "\f240";
+@fa-var-battery-half: "\f242";
+@fa-var-battery-quarter: "\f243";
+@fa-var-battery-three-quarters: "\f241";
+@fa-var-battle-net: "\f835";
+@fa-var-bed: "\f236";
+@fa-var-beer: "\f0fc";
+@fa-var-behance: "\f1b4";
+@fa-var-behance-square: "\f1b5";
+@fa-var-bell: "\f0f3";
+@fa-var-bell-slash: "\f1f6";
+@fa-var-bezier-curve: "\f55b";
+@fa-var-bible: "\f647";
+@fa-var-bicycle: "\f206";
+@fa-var-biking: "\f84a";
+@fa-var-bimobject: "\f378";
+@fa-var-binoculars: "\f1e5";
+@fa-var-biohazard: "\f780";
+@fa-var-birthday-cake: "\f1fd";
+@fa-var-bitbucket: "\f171";
+@fa-var-bitcoin: "\f379";
+@fa-var-bity: "\f37a";
+@fa-var-black-tie: "\f27e";
+@fa-var-blackberry: "\f37b";
+@fa-var-blender: "\f517";
+@fa-var-blender-phone: "\f6b6";
+@fa-var-blind: "\f29d";
+@fa-var-blog: "\f781";
+@fa-var-blogger: "\f37c";
+@fa-var-blogger-b: "\f37d";
+@fa-var-bluetooth: "\f293";
+@fa-var-bluetooth-b: "\f294";
+@fa-var-bold: "\f032";
+@fa-var-bolt: "\f0e7";
+@fa-var-bomb: "\f1e2";
+@fa-var-bone: "\f5d7";
+@fa-var-bong: "\f55c";
+@fa-var-book: "\f02d";
+@fa-var-book-dead: "\f6b7";
+@fa-var-book-medical: "\f7e6";
+@fa-var-book-open: "\f518";
+@fa-var-book-reader: "\f5da";
+@fa-var-bookmark: "\f02e";
+@fa-var-bootstrap: "\f836";
+@fa-var-border-all: "\f84c";
+@fa-var-border-none: "\f850";
+@fa-var-border-style: "\f853";
+@fa-var-bowling-ball: "\f436";
+@fa-var-box: "\f466";
+@fa-var-box-open: "\f49e";
+@fa-var-boxes: "\f468";
+@fa-var-braille: "\f2a1";
+@fa-var-brain: "\f5dc";
+@fa-var-bread-slice: "\f7ec";
+@fa-var-briefcase: "\f0b1";
+@fa-var-briefcase-medical: "\f469";
+@fa-var-broadcast-tower: "\f519";
+@fa-var-broom: "\f51a";
+@fa-var-brush: "\f55d";
+@fa-var-btc: "\f15a";
+@fa-var-buffer: "\f837";
+@fa-var-bug: "\f188";
+@fa-var-building: "\f1ad";
+@fa-var-bullhorn: "\f0a1";
+@fa-var-bullseye: "\f140";
+@fa-var-burn: "\f46a";
+@fa-var-buromobelexperte: "\f37f";
+@fa-var-bus: "\f207";
+@fa-var-bus-alt: "\f55e";
+@fa-var-business-time: "\f64a";
+@fa-var-buysellads: "\f20d";
+@fa-var-calculator: "\f1ec";
+@fa-var-calendar: "\f133";
+@fa-var-calendar-alt: "\f073";
+@fa-var-calendar-check: "\f274";
+@fa-var-calendar-day: "\f783";
+@fa-var-calendar-minus: "\f272";
+@fa-var-calendar-plus: "\f271";
+@fa-var-calendar-times: "\f273";
+@fa-var-calendar-week: "\f784";
+@fa-var-camera: "\f030";
+@fa-var-camera-retro: "\f083";
+@fa-var-campground: "\f6bb";
+@fa-var-canadian-maple-leaf: "\f785";
+@fa-var-candy-cane: "\f786";
+@fa-var-cannabis: "\f55f";
+@fa-var-capsules: "\f46b";
+@fa-var-car: "\f1b9";
+@fa-var-car-alt: "\f5de";
+@fa-var-car-battery: "\f5df";
+@fa-var-car-crash: "\f5e1";
+@fa-var-car-side: "\f5e4";
+@fa-var-caret-down: "\f0d7";
+@fa-var-caret-left: "\f0d9";
+@fa-var-caret-right: "\f0da";
+@fa-var-caret-square-down: "\f150";
+@fa-var-caret-square-left: "\f191";
+@fa-var-caret-square-right: "\f152";
+@fa-var-caret-square-up: "\f151";
+@fa-var-caret-up: "\f0d8";
+@fa-var-carrot: "\f787";
+@fa-var-cart-arrow-down: "\f218";
+@fa-var-cart-plus: "\f217";
+@fa-var-cash-register: "\f788";
+@fa-var-cat: "\f6be";
+@fa-var-cc-amazon-pay: "\f42d";
+@fa-var-cc-amex: "\f1f3";
+@fa-var-cc-apple-pay: "\f416";
+@fa-var-cc-diners-club: "\f24c";
+@fa-var-cc-discover: "\f1f2";
+@fa-var-cc-jcb: "\f24b";
+@fa-var-cc-mastercard: "\f1f1";
+@fa-var-cc-paypal: "\f1f4";
+@fa-var-cc-stripe: "\f1f5";
+@fa-var-cc-visa: "\f1f0";
+@fa-var-centercode: "\f380";
+@fa-var-centos: "\f789";
+@fa-var-certificate: "\f0a3";
+@fa-var-chair: "\f6c0";
+@fa-var-chalkboard: "\f51b";
+@fa-var-chalkboard-teacher: "\f51c";
+@fa-var-charging-station: "\f5e7";
+@fa-var-chart-area: "\f1fe";
+@fa-var-chart-bar: "\f080";
+@fa-var-chart-line: "\f201";
+@fa-var-chart-pie: "\f200";
+@fa-var-check: "\f00c";
+@fa-var-check-circle: "\f058";
+@fa-var-check-double: "\f560";
+@fa-var-check-square: "\f14a";
+@fa-var-cheese: "\f7ef";
+@fa-var-chess: "\f439";
+@fa-var-chess-bishop: "\f43a";
+@fa-var-chess-board: "\f43c";
+@fa-var-chess-king: "\f43f";
+@fa-var-chess-knight: "\f441";
+@fa-var-chess-pawn: "\f443";
+@fa-var-chess-queen: "\f445";
+@fa-var-chess-rook: "\f447";
+@fa-var-chevron-circle-down: "\f13a";
+@fa-var-chevron-circle-left: "\f137";
+@fa-var-chevron-circle-right: "\f138";
+@fa-var-chevron-circle-up: "\f139";
+@fa-var-chevron-down: "\f078";
+@fa-var-chevron-left: "\f053";
+@fa-var-chevron-right: "\f054";
+@fa-var-chevron-up: "\f077";
+@fa-var-child: "\f1ae";
+@fa-var-chrome: "\f268";
+@fa-var-chromecast: "\f838";
+@fa-var-church: "\f51d";
+@fa-var-circle: "\f111";
+@fa-var-circle-notch: "\f1ce";
+@fa-var-city: "\f64f";
+@fa-var-clinic-medical: "\f7f2";
+@fa-var-clipboard: "\f328";
+@fa-var-clipboard-check: "\f46c";
+@fa-var-clipboard-list: "\f46d";
+@fa-var-clock: "\f017";
+@fa-var-clone: "\f24d";
+@fa-var-closed-captioning: "\f20a";
+@fa-var-cloud: "\f0c2";
+@fa-var-cloud-download-alt: "\f381";
+@fa-var-cloud-meatball: "\f73b";
+@fa-var-cloud-moon: "\f6c3";
+@fa-var-cloud-moon-rain: "\f73c";
+@fa-var-cloud-rain: "\f73d";
+@fa-var-cloud-showers-heavy: "\f740";
+@fa-var-cloud-sun: "\f6c4";
+@fa-var-cloud-sun-rain: "\f743";
+@fa-var-cloud-upload-alt: "\f382";
+@fa-var-cloudscale: "\f383";
+@fa-var-cloudsmith: "\f384";
+@fa-var-cloudversify: "\f385";
+@fa-var-cocktail: "\f561";
+@fa-var-code: "\f121";
+@fa-var-code-branch: "\f126";
+@fa-var-codepen: "\f1cb";
+@fa-var-codiepie: "\f284";
+@fa-var-coffee: "\f0f4";
+@fa-var-cog: "\f013";
+@fa-var-cogs: "\f085";
+@fa-var-coins: "\f51e";
+@fa-var-columns: "\f0db";
+@fa-var-comment: "\f075";
+@fa-var-comment-alt: "\f27a";
+@fa-var-comment-dollar: "\f651";
+@fa-var-comment-dots: "\f4ad";
+@fa-var-comment-medical: "\f7f5";
+@fa-var-comment-slash: "\f4b3";
+@fa-var-comments: "\f086";
+@fa-var-comments-dollar: "\f653";
+@fa-var-compact-disc: "\f51f";
+@fa-var-compass: "\f14e";
+@fa-var-compress: "\f066";
+@fa-var-compress-arrows-alt: "\f78c";
+@fa-var-concierge-bell: "\f562";
+@fa-var-confluence: "\f78d";
+@fa-var-connectdevelop: "\f20e";
+@fa-var-contao: "\f26d";
+@fa-var-cookie: "\f563";
+@fa-var-cookie-bite: "\f564";
+@fa-var-copy: "\f0c5";
+@fa-var-copyright: "\f1f9";
+@fa-var-cotton-bureau: "\f89e";
+@fa-var-couch: "\f4b8";
+@fa-var-cpanel: "\f388";
+@fa-var-creative-commons: "\f25e";
+@fa-var-creative-commons-by: "\f4e7";
+@fa-var-creative-commons-nc: "\f4e8";
+@fa-var-creative-commons-nc-eu: "\f4e9";
+@fa-var-creative-commons-nc-jp: "\f4ea";
+@fa-var-creative-commons-nd: "\f4eb";
+@fa-var-creative-commons-pd: "\f4ec";
+@fa-var-creative-commons-pd-alt: "\f4ed";
+@fa-var-creative-commons-remix: "\f4ee";
+@fa-var-creative-commons-sa: "\f4ef";
+@fa-var-creative-commons-sampling: "\f4f0";
+@fa-var-creative-commons-sampling-plus: "\f4f1";
+@fa-var-creative-commons-share: "\f4f2";
+@fa-var-creative-commons-zero: "\f4f3";
+@fa-var-credit-card: "\f09d";
+@fa-var-critical-role: "\f6c9";
+@fa-var-crop: "\f125";
+@fa-var-crop-alt: "\f565";
+@fa-var-cross: "\f654";
+@fa-var-crosshairs: "\f05b";
+@fa-var-crow: "\f520";
+@fa-var-crown: "\f521";
+@fa-var-crutch: "\f7f7";
+@fa-var-css3: "\f13c";
+@fa-var-css3-alt: "\f38b";
+@fa-var-cube: "\f1b2";
+@fa-var-cubes: "\f1b3";
+@fa-var-cut: "\f0c4";
+@fa-var-cuttlefish: "\f38c";
+@fa-var-d-and-d: "\f38d";
+@fa-var-d-and-d-beyond: "\f6ca";
+@fa-var-dashcube: "\f210";
+@fa-var-database: "\f1c0";
+@fa-var-deaf: "\f2a4";
+@fa-var-delicious: "\f1a5";
+@fa-var-democrat: "\f747";
+@fa-var-deploydog: "\f38e";
+@fa-var-deskpro: "\f38f";
+@fa-var-desktop: "\f108";
+@fa-var-dev: "\f6cc";
+@fa-var-deviantart: "\f1bd";
+@fa-var-dharmachakra: "\f655";
+@fa-var-dhl: "\f790";
+@fa-var-diagnoses: "\f470";
+@fa-var-diaspora: "\f791";
+@fa-var-dice: "\f522";
+@fa-var-dice-d20: "\f6cf";
+@fa-var-dice-d6: "\f6d1";
+@fa-var-dice-five: "\f523";
+@fa-var-dice-four: "\f524";
+@fa-var-dice-one: "\f525";
+@fa-var-dice-six: "\f526";
+@fa-var-dice-three: "\f527";
+@fa-var-dice-two: "\f528";
+@fa-var-digg: "\f1a6";
+@fa-var-digital-ocean: "\f391";
+@fa-var-digital-tachograph: "\f566";
+@fa-var-directions: "\f5eb";
+@fa-var-discord: "\f392";
+@fa-var-discourse: "\f393";
+@fa-var-divide: "\f529";
+@fa-var-dizzy: "\f567";
+@fa-var-dna: "\f471";
+@fa-var-dochub: "\f394";
+@fa-var-docker: "\f395";
+@fa-var-dog: "\f6d3";
+@fa-var-dollar-sign: "\f155";
+@fa-var-dolly: "\f472";
+@fa-var-dolly-flatbed: "\f474";
+@fa-var-donate: "\f4b9";
+@fa-var-door-closed: "\f52a";
+@fa-var-door-open: "\f52b";
+@fa-var-dot-circle: "\f192";
+@fa-var-dove: "\f4ba";
+@fa-var-download: "\f019";
+@fa-var-draft2digital: "\f396";
+@fa-var-drafting-compass: "\f568";
+@fa-var-dragon: "\f6d5";
+@fa-var-draw-polygon: "\f5ee";
+@fa-var-dribbble: "\f17d";
+@fa-var-dribbble-square: "\f397";
+@fa-var-dropbox: "\f16b";
+@fa-var-drum: "\f569";
+@fa-var-drum-steelpan: "\f56a";
+@fa-var-drumstick-bite: "\f6d7";
+@fa-var-drupal: "\f1a9";
+@fa-var-dumbbell: "\f44b";
+@fa-var-dumpster: "\f793";
+@fa-var-dumpster-fire: "\f794";
+@fa-var-dungeon: "\f6d9";
+@fa-var-dyalog: "\f399";
+@fa-var-earlybirds: "\f39a";
+@fa-var-ebay: "\f4f4";
+@fa-var-edge: "\f282";
+@fa-var-edit: "\f044";
+@fa-var-egg: "\f7fb";
+@fa-var-eject: "\f052";
+@fa-var-elementor: "\f430";
+@fa-var-ellipsis-h: "\f141";
+@fa-var-ellipsis-v: "\f142";
+@fa-var-ello: "\f5f1";
+@fa-var-ember: "\f423";
+@fa-var-empire: "\f1d1";
+@fa-var-envelope: "\f0e0";
+@fa-var-envelope-open: "\f2b6";
+@fa-var-envelope-open-text: "\f658";
+@fa-var-envelope-square: "\f199";
+@fa-var-envira: "\f299";
+@fa-var-equals: "\f52c";
+@fa-var-eraser: "\f12d";
+@fa-var-erlang: "\f39d";
+@fa-var-ethereum: "\f42e";
+@fa-var-ethernet: "\f796";
+@fa-var-etsy: "\f2d7";
+@fa-var-euro-sign: "\f153";
+@fa-var-evernote: "\f839";
+@fa-var-exchange-alt: "\f362";
+@fa-var-exclamation: "\f12a";
+@fa-var-exclamation-circle: "\f06a";
+@fa-var-exclamation-triangle: "\f071";
+@fa-var-expand: "\f065";
+@fa-var-expand-arrows-alt: "\f31e";
+@fa-var-expeditedssl: "\f23e";
+@fa-var-external-link-alt: "\f35d";
+@fa-var-external-link-square-alt: "\f360";
+@fa-var-eye: "\f06e";
+@fa-var-eye-dropper: "\f1fb";
+@fa-var-eye-slash: "\f070";
+@fa-var-facebook: "\f09a";
+@fa-var-facebook-f: "\f39e";
+@fa-var-facebook-messenger: "\f39f";
+@fa-var-facebook-square: "\f082";
+@fa-var-fan: "\f863";
+@fa-var-fantasy-flight-games: "\f6dc";
+@fa-var-fast-backward: "\f049";
+@fa-var-fast-forward: "\f050";
+@fa-var-fax: "\f1ac";
+@fa-var-feather: "\f52d";
+@fa-var-feather-alt: "\f56b";
+@fa-var-fedex: "\f797";
+@fa-var-fedora: "\f798";
+@fa-var-female: "\f182";
+@fa-var-fighter-jet: "\f0fb";
+@fa-var-figma: "\f799";
+@fa-var-file: "\f15b";
+@fa-var-file-alt: "\f15c";
+@fa-var-file-archive: "\f1c6";
+@fa-var-file-audio: "\f1c7";
+@fa-var-file-code: "\f1c9";
+@fa-var-file-contract: "\f56c";
+@fa-var-file-csv: "\f6dd";
+@fa-var-file-download: "\f56d";
+@fa-var-file-excel: "\f1c3";
+@fa-var-file-export: "\f56e";
+@fa-var-file-image: "\f1c5";
+@fa-var-file-import: "\f56f";
+@fa-var-file-invoice: "\f570";
+@fa-var-file-invoice-dollar: "\f571";
+@fa-var-file-medical: "\f477";
+@fa-var-file-medical-alt: "\f478";
+@fa-var-file-pdf: "\f1c1";
+@fa-var-file-powerpoint: "\f1c4";
+@fa-var-file-prescription: "\f572";
+@fa-var-file-signature: "\f573";
+@fa-var-file-upload: "\f574";
+@fa-var-file-video: "\f1c8";
+@fa-var-file-word: "\f1c2";
+@fa-var-fill: "\f575";
+@fa-var-fill-drip: "\f576";
+@fa-var-film: "\f008";
+@fa-var-filter: "\f0b0";
+@fa-var-fingerprint: "\f577";
+@fa-var-fire: "\f06d";
+@fa-var-fire-alt: "\f7e4";
+@fa-var-fire-extinguisher: "\f134";
+@fa-var-firefox: "\f269";
+@fa-var-first-aid: "\f479";
+@fa-var-first-order: "\f2b0";
+@fa-var-first-order-alt: "\f50a";
+@fa-var-firstdraft: "\f3a1";
+@fa-var-fish: "\f578";
+@fa-var-fist-raised: "\f6de";
+@fa-var-flag: "\f024";
+@fa-var-flag-checkered: "\f11e";
+@fa-var-flag-usa: "\f74d";
+@fa-var-flask: "\f0c3";
+@fa-var-flickr: "\f16e";
+@fa-var-flipboard: "\f44d";
+@fa-var-flushed: "\f579";
+@fa-var-fly: "\f417";
+@fa-var-folder: "\f07b";
+@fa-var-folder-minus: "\f65d";
+@fa-var-folder-open: "\f07c";
+@fa-var-folder-plus: "\f65e";
+@fa-var-font: "\f031";
+@fa-var-font-awesome: "\f2b4";
+@fa-var-font-awesome-alt: "\f35c";
+@fa-var-font-awesome-flag: "\f425";
+@fa-var-font-awesome-logo-full: "\f4e6";
+@fa-var-fonticons: "\f280";
+@fa-var-fonticons-fi: "\f3a2";
+@fa-var-football-ball: "\f44e";
+@fa-var-fort-awesome: "\f286";
+@fa-var-fort-awesome-alt: "\f3a3";
+@fa-var-forumbee: "\f211";
+@fa-var-forward: "\f04e";
+@fa-var-foursquare: "\f180";
+@fa-var-free-code-camp: "\f2c5";
+@fa-var-freebsd: "\f3a4";
+@fa-var-frog: "\f52e";
+@fa-var-frown: "\f119";
+@fa-var-frown-open: "\f57a";
+@fa-var-fulcrum: "\f50b";
+@fa-var-funnel-dollar: "\f662";
+@fa-var-futbol: "\f1e3";
+@fa-var-galactic-republic: "\f50c";
+@fa-var-galactic-senate: "\f50d";
+@fa-var-gamepad: "\f11b";
+@fa-var-gas-pump: "\f52f";
+@fa-var-gavel: "\f0e3";
+@fa-var-gem: "\f3a5";
+@fa-var-genderless: "\f22d";
+@fa-var-get-pocket: "\f265";
+@fa-var-gg: "\f260";
+@fa-var-gg-circle: "\f261";
+@fa-var-ghost: "\f6e2";
+@fa-var-gift: "\f06b";
+@fa-var-gifts: "\f79c";
+@fa-var-git: "\f1d3";
+@fa-var-git-alt: "\f841";
+@fa-var-git-square: "\f1d2";
+@fa-var-github: "\f09b";
+@fa-var-github-alt: "\f113";
+@fa-var-github-square: "\f092";
+@fa-var-gitkraken: "\f3a6";
+@fa-var-gitlab: "\f296";
+@fa-var-gitter: "\f426";
+@fa-var-glass-cheers: "\f79f";
+@fa-var-glass-martini: "\f000";
+@fa-var-glass-martini-alt: "\f57b";
+@fa-var-glass-whiskey: "\f7a0";
+@fa-var-glasses: "\f530";
+@fa-var-glide: "\f2a5";
+@fa-var-glide-g: "\f2a6";
+@fa-var-globe: "\f0ac";
+@fa-var-globe-africa: "\f57c";
+@fa-var-globe-americas: "\f57d";
+@fa-var-globe-asia: "\f57e";
+@fa-var-globe-europe: "\f7a2";
+@fa-var-gofore: "\f3a7";
+@fa-var-golf-ball: "\f450";
+@fa-var-goodreads: "\f3a8";
+@fa-var-goodreads-g: "\f3a9";
+@fa-var-google: "\f1a0";
+@fa-var-google-drive: "\f3aa";
+@fa-var-google-play: "\f3ab";
+@fa-var-google-plus: "\f2b3";
+@fa-var-google-plus-g: "\f0d5";
+@fa-var-google-plus-square: "\f0d4";
+@fa-var-google-wallet: "\f1ee";
+@fa-var-gopuram: "\f664";
+@fa-var-graduation-cap: "\f19d";
+@fa-var-gratipay: "\f184";
+@fa-var-grav: "\f2d6";
+@fa-var-greater-than: "\f531";
+@fa-var-greater-than-equal: "\f532";
+@fa-var-grimace: "\f57f";
+@fa-var-grin: "\f580";
+@fa-var-grin-alt: "\f581";
+@fa-var-grin-beam: "\f582";
+@fa-var-grin-beam-sweat: "\f583";
+@fa-var-grin-hearts: "\f584";
+@fa-var-grin-squint: "\f585";
+@fa-var-grin-squint-tears: "\f586";
+@fa-var-grin-stars: "\f587";
+@fa-var-grin-tears: "\f588";
+@fa-var-grin-tongue: "\f589";
+@fa-var-grin-tongue-squint: "\f58a";
+@fa-var-grin-tongue-wink: "\f58b";
+@fa-var-grin-wink: "\f58c";
+@fa-var-grip-horizontal: "\f58d";
+@fa-var-grip-lines: "\f7a4";
+@fa-var-grip-lines-vertical: "\f7a5";
+@fa-var-grip-vertical: "\f58e";
+@fa-var-gripfire: "\f3ac";
+@fa-var-grunt: "\f3ad";
+@fa-var-guitar: "\f7a6";
+@fa-var-gulp: "\f3ae";
+@fa-var-h-square: "\f0fd";
+@fa-var-hacker-news: "\f1d4";
+@fa-var-hacker-news-square: "\f3af";
+@fa-var-hackerrank: "\f5f7";
+@fa-var-hamburger: "\f805";
+@fa-var-hammer: "\f6e3";
+@fa-var-hamsa: "\f665";
+@fa-var-hand-holding: "\f4bd";
+@fa-var-hand-holding-heart: "\f4be";
+@fa-var-hand-holding-usd: "\f4c0";
+@fa-var-hand-lizard: "\f258";
+@fa-var-hand-middle-finger: "\f806";
+@fa-var-hand-paper: "\f256";
+@fa-var-hand-peace: "\f25b";
+@fa-var-hand-point-down: "\f0a7";
+@fa-var-hand-point-left: "\f0a5";
+@fa-var-hand-point-right: "\f0a4";
+@fa-var-hand-point-up: "\f0a6";
+@fa-var-hand-pointer: "\f25a";
+@fa-var-hand-rock: "\f255";
+@fa-var-hand-scissors: "\f257";
+@fa-var-hand-spock: "\f259";
+@fa-var-hands: "\f4c2";
+@fa-var-hands-helping: "\f4c4";
+@fa-var-handshake: "\f2b5";
+@fa-var-hanukiah: "\f6e6";
+@fa-var-hard-hat: "\f807";
+@fa-var-hashtag: "\f292";
+@fa-var-hat-wizard: "\f6e8";
+@fa-var-haykal: "\f666";
+@fa-var-hdd: "\f0a0";
+@fa-var-heading: "\f1dc";
+@fa-var-headphones: "\f025";
+@fa-var-headphones-alt: "\f58f";
+@fa-var-headset: "\f590";
+@fa-var-heart: "\f004";
+@fa-var-heart-broken: "\f7a9";
+@fa-var-heartbeat: "\f21e";
+@fa-var-helicopter: "\f533";
+@fa-var-highlighter: "\f591";
+@fa-var-hiking: "\f6ec";
+@fa-var-hippo: "\f6ed";
+@fa-var-hips: "\f452";
+@fa-var-hire-a-helper: "\f3b0";
+@fa-var-history: "\f1da";
+@fa-var-hockey-puck: "\f453";
+@fa-var-holly-berry: "\f7aa";
+@fa-var-home: "\f015";
+@fa-var-hooli: "\f427";
+@fa-var-hornbill: "\f592";
+@fa-var-horse: "\f6f0";
+@fa-var-horse-head: "\f7ab";
+@fa-var-hospital: "\f0f8";
+@fa-var-hospital-alt: "\f47d";
+@fa-var-hospital-symbol: "\f47e";
+@fa-var-hot-tub: "\f593";
+@fa-var-hotdog: "\f80f";
+@fa-var-hotel: "\f594";
+@fa-var-hotjar: "\f3b1";
+@fa-var-hourglass: "\f254";
+@fa-var-hourglass-end: "\f253";
+@fa-var-hourglass-half: "\f252";
+@fa-var-hourglass-start: "\f251";
+@fa-var-house-damage: "\f6f1";
+@fa-var-houzz: "\f27c";
+@fa-var-hryvnia: "\f6f2";
+@fa-var-html5: "\f13b";
+@fa-var-hubspot: "\f3b2";
+@fa-var-i-cursor: "\f246";
+@fa-var-ice-cream: "\f810";
+@fa-var-icicles: "\f7ad";
+@fa-var-icons: "\f86d";
+@fa-var-id-badge: "\f2c1";
+@fa-var-id-card: "\f2c2";
+@fa-var-id-card-alt: "\f47f";
+@fa-var-igloo: "\f7ae";
+@fa-var-image: "\f03e";
+@fa-var-images: "\f302";
+@fa-var-imdb: "\f2d8";
+@fa-var-inbox: "\f01c";
+@fa-var-indent: "\f03c";
+@fa-var-industry: "\f275";
+@fa-var-infinity: "\f534";
+@fa-var-info: "\f129";
+@fa-var-info-circle: "\f05a";
+@fa-var-instagram: "\f16d";
+@fa-var-intercom: "\f7af";
+@fa-var-internet-explorer: "\f26b";
+@fa-var-invision: "\f7b0";
+@fa-var-ioxhost: "\f208";
+@fa-var-italic: "\f033";
+@fa-var-itch-io: "\f83a";
+@fa-var-itunes: "\f3b4";
+@fa-var-itunes-note: "\f3b5";
+@fa-var-java: "\f4e4";
+@fa-var-jedi: "\f669";
+@fa-var-jedi-order: "\f50e";
+@fa-var-jenkins: "\f3b6";
+@fa-var-jira: "\f7b1";
+@fa-var-joget: "\f3b7";
+@fa-var-joint: "\f595";
+@fa-var-joomla: "\f1aa";
+@fa-var-journal-whills: "\f66a";
+@fa-var-js: "\f3b8";
+@fa-var-js-square: "\f3b9";
+@fa-var-jsfiddle: "\f1cc";
+@fa-var-kaaba: "\f66b";
+@fa-var-kaggle: "\f5fa";
+@fa-var-key: "\f084";
+@fa-var-keybase: "\f4f5";
+@fa-var-keyboard: "\f11c";
+@fa-var-keycdn: "\f3ba";
+@fa-var-khanda: "\f66d";
+@fa-var-kickstarter: "\f3bb";
+@fa-var-kickstarter-k: "\f3bc";
+@fa-var-kiss: "\f596";
+@fa-var-kiss-beam: "\f597";
+@fa-var-kiss-wink-heart: "\f598";
+@fa-var-kiwi-bird: "\f535";
+@fa-var-korvue: "\f42f";
+@fa-var-landmark: "\f66f";
+@fa-var-language: "\f1ab";
+@fa-var-laptop: "\f109";
+@fa-var-laptop-code: "\f5fc";
+@fa-var-laptop-medical: "\f812";
+@fa-var-laravel: "\f3bd";
+@fa-var-lastfm: "\f202";
+@fa-var-lastfm-square: "\f203";
+@fa-var-laugh: "\f599";
+@fa-var-laugh-beam: "\f59a";
+@fa-var-laugh-squint: "\f59b";
+@fa-var-laugh-wink: "\f59c";
+@fa-var-layer-group: "\f5fd";
+@fa-var-leaf: "\f06c";
+@fa-var-leanpub: "\f212";
+@fa-var-lemon: "\f094";
+@fa-var-less: "\f41d";
+@fa-var-less-than: "\f536";
+@fa-var-less-than-equal: "\f537";
+@fa-var-level-down-alt: "\f3be";
+@fa-var-level-up-alt: "\f3bf";
+@fa-var-life-ring: "\f1cd";
+@fa-var-lightbulb: "\f0eb";
+@fa-var-line: "\f3c0";
+@fa-var-link: "\f0c1";
+@fa-var-linkedin: "\f08c";
+@fa-var-linkedin-in: "\f0e1";
+@fa-var-linode: "\f2b8";
+@fa-var-linux: "\f17c";
+@fa-var-lira-sign: "\f195";
+@fa-var-list: "\f03a";
+@fa-var-list-alt: "\f022";
+@fa-var-list-ol: "\f0cb";
+@fa-var-list-ul: "\f0ca";
+@fa-var-location-arrow: "\f124";
+@fa-var-lock: "\f023";
+@fa-var-lock-open: "\f3c1";
+@fa-var-long-arrow-alt-down: "\f309";
+@fa-var-long-arrow-alt-left: "\f30a";
+@fa-var-long-arrow-alt-right: "\f30b";
+@fa-var-long-arrow-alt-up: "\f30c";
+@fa-var-low-vision: "\f2a8";
+@fa-var-luggage-cart: "\f59d";
+@fa-var-lyft: "\f3c3";
+@fa-var-magento: "\f3c4";
+@fa-var-magic: "\f0d0";
+@fa-var-magnet: "\f076";
+@fa-var-mail-bulk: "\f674";
+@fa-var-mailchimp: "\f59e";
+@fa-var-male: "\f183";
+@fa-var-mandalorian: "\f50f";
+@fa-var-map: "\f279";
+@fa-var-map-marked: "\f59f";
+@fa-var-map-marked-alt: "\f5a0";
+@fa-var-map-marker: "\f041";
+@fa-var-map-marker-alt: "\f3c5";
+@fa-var-map-pin: "\f276";
+@fa-var-map-signs: "\f277";
+@fa-var-markdown: "\f60f";
+@fa-var-marker: "\f5a1";
+@fa-var-mars: "\f222";
+@fa-var-mars-double: "\f227";
+@fa-var-mars-stroke: "\f229";
+@fa-var-mars-stroke-h: "\f22b";
+@fa-var-mars-stroke-v: "\f22a";
+@fa-var-mask: "\f6fa";
+@fa-var-mastodon: "\f4f6";
+@fa-var-maxcdn: "\f136";
+@fa-var-medal: "\f5a2";
+@fa-var-medapps: "\f3c6";
+@fa-var-medium: "\f23a";
+@fa-var-medium-m: "\f3c7";
+@fa-var-medkit: "\f0fa";
+@fa-var-medrt: "\f3c8";
+@fa-var-meetup: "\f2e0";
+@fa-var-megaport: "\f5a3";
+@fa-var-meh: "\f11a";
+@fa-var-meh-blank: "\f5a4";
+@fa-var-meh-rolling-eyes: "\f5a5";
+@fa-var-memory: "\f538";
+@fa-var-mendeley: "\f7b3";
+@fa-var-menorah: "\f676";
+@fa-var-mercury: "\f223";
+@fa-var-meteor: "\f753";
+@fa-var-microchip: "\f2db";
+@fa-var-microphone: "\f130";
+@fa-var-microphone-alt: "\f3c9";
+@fa-var-microphone-alt-slash: "\f539";
+@fa-var-microphone-slash: "\f131";
+@fa-var-microscope: "\f610";
+@fa-var-microsoft: "\f3ca";
+@fa-var-minus: "\f068";
+@fa-var-minus-circle: "\f056";
+@fa-var-minus-square: "\f146";
+@fa-var-mitten: "\f7b5";
+@fa-var-mix: "\f3cb";
+@fa-var-mixcloud: "\f289";
+@fa-var-mizuni: "\f3cc";
+@fa-var-mobile: "\f10b";
+@fa-var-mobile-alt: "\f3cd";
+@fa-var-modx: "\f285";
+@fa-var-monero: "\f3d0";
+@fa-var-money-bill: "\f0d6";
+@fa-var-money-bill-alt: "\f3d1";
+@fa-var-money-bill-wave: "\f53a";
+@fa-var-money-bill-wave-alt: "\f53b";
+@fa-var-money-check: "\f53c";
+@fa-var-money-check-alt: "\f53d";
+@fa-var-monument: "\f5a6";
+@fa-var-moon: "\f186";
+@fa-var-mortar-pestle: "\f5a7";
+@fa-var-mosque: "\f678";
+@fa-var-motorcycle: "\f21c";
+@fa-var-mountain: "\f6fc";
+@fa-var-mouse-pointer: "\f245";
+@fa-var-mug-hot: "\f7b6";
+@fa-var-music: "\f001";
+@fa-var-napster: "\f3d2";
+@fa-var-neos: "\f612";
+@fa-var-network-wired: "\f6ff";
+@fa-var-neuter: "\f22c";
+@fa-var-newspaper: "\f1ea";
+@fa-var-nimblr: "\f5a8";
+@fa-var-node: "\f419";
+@fa-var-node-js: "\f3d3";
+@fa-var-not-equal: "\f53e";
+@fa-var-notes-medical: "\f481";
+@fa-var-npm: "\f3d4";
+@fa-var-ns8: "\f3d5";
+@fa-var-nutritionix: "\f3d6";
+@fa-var-object-group: "\f247";
+@fa-var-object-ungroup: "\f248";
+@fa-var-odnoklassniki: "\f263";
+@fa-var-odnoklassniki-square: "\f264";
+@fa-var-oil-can: "\f613";
+@fa-var-old-republic: "\f510";
+@fa-var-om: "\f679";
+@fa-var-opencart: "\f23d";
+@fa-var-openid: "\f19b";
+@fa-var-opera: "\f26a";
+@fa-var-optin-monster: "\f23c";
+@fa-var-osi: "\f41a";
+@fa-var-otter: "\f700";
+@fa-var-outdent: "\f03b";
+@fa-var-page4: "\f3d7";
+@fa-var-pagelines: "\f18c";
+@fa-var-pager: "\f815";
+@fa-var-paint-brush: "\f1fc";
+@fa-var-paint-roller: "\f5aa";
+@fa-var-palette: "\f53f";
+@fa-var-palfed: "\f3d8";
+@fa-var-pallet: "\f482";
+@fa-var-paper-plane: "\f1d8";
+@fa-var-paperclip: "\f0c6";
+@fa-var-parachute-box: "\f4cd";
+@fa-var-paragraph: "\f1dd";
+@fa-var-parking: "\f540";
+@fa-var-passport: "\f5ab";
+@fa-var-pastafarianism: "\f67b";
+@fa-var-paste: "\f0ea";
+@fa-var-patreon: "\f3d9";
+@fa-var-pause: "\f04c";
+@fa-var-pause-circle: "\f28b";
+@fa-var-paw: "\f1b0";
+@fa-var-paypal: "\f1ed";
+@fa-var-peace: "\f67c";
+@fa-var-pen: "\f304";
+@fa-var-pen-alt: "\f305";
+@fa-var-pen-fancy: "\f5ac";
+@fa-var-pen-nib: "\f5ad";
+@fa-var-pen-square: "\f14b";
+@fa-var-pencil-alt: "\f303";
+@fa-var-pencil-ruler: "\f5ae";
+@fa-var-penny-arcade: "\f704";
+@fa-var-people-carry: "\f4ce";
+@fa-var-pepper-hot: "\f816";
+@fa-var-percent: "\f295";
+@fa-var-percentage: "\f541";
+@fa-var-periscope: "\f3da";
+@fa-var-person-booth: "\f756";
+@fa-var-phabricator: "\f3db";
+@fa-var-phoenix-framework: "\f3dc";
+@fa-var-phoenix-squadron: "\f511";
+@fa-var-phone: "\f095";
+@fa-var-phone-alt: "\f879";
+@fa-var-phone-slash: "\f3dd";
+@fa-var-phone-square: "\f098";
+@fa-var-phone-square-alt: "\f87b";
+@fa-var-phone-volume: "\f2a0";
+@fa-var-photo-video: "\f87c";
+@fa-var-php: "\f457";
+@fa-var-pied-piper: "\f2ae";
+@fa-var-pied-piper-alt: "\f1a8";
+@fa-var-pied-piper-hat: "\f4e5";
+@fa-var-pied-piper-pp: "\f1a7";
+@fa-var-piggy-bank: "\f4d3";
+@fa-var-pills: "\f484";
+@fa-var-pinterest: "\f0d2";
+@fa-var-pinterest-p: "\f231";
+@fa-var-pinterest-square: "\f0d3";
+@fa-var-pizza-slice: "\f818";
+@fa-var-place-of-worship: "\f67f";
+@fa-var-plane: "\f072";
+@fa-var-plane-arrival: "\f5af";
+@fa-var-plane-departure: "\f5b0";
+@fa-var-play: "\f04b";
+@fa-var-play-circle: "\f144";
+@fa-var-playstation: "\f3df";
+@fa-var-plug: "\f1e6";
+@fa-var-plus: "\f067";
+@fa-var-plus-circle: "\f055";
+@fa-var-plus-square: "\f0fe";
+@fa-var-podcast: "\f2ce";
+@fa-var-poll: "\f681";
+@fa-var-poll-h: "\f682";
+@fa-var-poo: "\f2fe";
+@fa-var-poo-storm: "\f75a";
+@fa-var-poop: "\f619";
+@fa-var-portrait: "\f3e0";
+@fa-var-pound-sign: "\f154";
+@fa-var-power-off: "\f011";
+@fa-var-pray: "\f683";
+@fa-var-praying-hands: "\f684";
+@fa-var-prescription: "\f5b1";
+@fa-var-prescription-bottle: "\f485";
+@fa-var-prescription-bottle-alt: "\f486";
+@fa-var-print: "\f02f";
+@fa-var-procedures: "\f487";
+@fa-var-product-hunt: "\f288";
+@fa-var-project-diagram: "\f542";
+@fa-var-pushed: "\f3e1";
+@fa-var-puzzle-piece: "\f12e";
+@fa-var-python: "\f3e2";
+@fa-var-qq: "\f1d6";
+@fa-var-qrcode: "\f029";
+@fa-var-question: "\f128";
+@fa-var-question-circle: "\f059";
+@fa-var-quidditch: "\f458";
+@fa-var-quinscape: "\f459";
+@fa-var-quora: "\f2c4";
+@fa-var-quote-left: "\f10d";
+@fa-var-quote-right: "\f10e";
+@fa-var-quran: "\f687";
+@fa-var-r-project: "\f4f7";
+@fa-var-radiation: "\f7b9";
+@fa-var-radiation-alt: "\f7ba";
+@fa-var-rainbow: "\f75b";
+@fa-var-random: "\f074";
+@fa-var-raspberry-pi: "\f7bb";
+@fa-var-ravelry: "\f2d9";
+@fa-var-react: "\f41b";
+@fa-var-reacteurope: "\f75d";
+@fa-var-readme: "\f4d5";
+@fa-var-rebel: "\f1d0";
+@fa-var-receipt: "\f543";
+@fa-var-recycle: "\f1b8";
+@fa-var-red-river: "\f3e3";
+@fa-var-reddit: "\f1a1";
+@fa-var-reddit-alien: "\f281";
+@fa-var-reddit-square: "\f1a2";
+@fa-var-redhat: "\f7bc";
+@fa-var-redo: "\f01e";
+@fa-var-redo-alt: "\f2f9";
+@fa-var-registered: "\f25d";
+@fa-var-remove-format: "\f87d";
+@fa-var-renren: "\f18b";
+@fa-var-reply: "\f3e5";
+@fa-var-reply-all: "\f122";
+@fa-var-replyd: "\f3e6";
+@fa-var-republican: "\f75e";
+@fa-var-researchgate: "\f4f8";
+@fa-var-resolving: "\f3e7";
+@fa-var-restroom: "\f7bd";
+@fa-var-retweet: "\f079";
+@fa-var-rev: "\f5b2";
+@fa-var-ribbon: "\f4d6";
+@fa-var-ring: "\f70b";
+@fa-var-road: "\f018";
+@fa-var-robot: "\f544";
+@fa-var-rocket: "\f135";
+@fa-var-rocketchat: "\f3e8";
+@fa-var-rockrms: "\f3e9";
+@fa-var-route: "\f4d7";
+@fa-var-rss: "\f09e";
+@fa-var-rss-square: "\f143";
+@fa-var-ruble-sign: "\f158";
+@fa-var-ruler: "\f545";
+@fa-var-ruler-combined: "\f546";
+@fa-var-ruler-horizontal: "\f547";
+@fa-var-ruler-vertical: "\f548";
+@fa-var-running: "\f70c";
+@fa-var-rupee-sign: "\f156";
+@fa-var-sad-cry: "\f5b3";
+@fa-var-sad-tear: "\f5b4";
+@fa-var-safari: "\f267";
+@fa-var-salesforce: "\f83b";
+@fa-var-sass: "\f41e";
+@fa-var-satellite: "\f7bf";
+@fa-var-satellite-dish: "\f7c0";
+@fa-var-save: "\f0c7";
+@fa-var-schlix: "\f3ea";
+@fa-var-school: "\f549";
+@fa-var-screwdriver: "\f54a";
+@fa-var-scribd: "\f28a";
+@fa-var-scroll: "\f70e";
+@fa-var-sd-card: "\f7c2";
+@fa-var-search: "\f002";
+@fa-var-search-dollar: "\f688";
+@fa-var-search-location: "\f689";
+@fa-var-search-minus: "\f010";
+@fa-var-search-plus: "\f00e";
+@fa-var-searchengin: "\f3eb";
+@fa-var-seedling: "\f4d8";
+@fa-var-sellcast: "\f2da";
+@fa-var-sellsy: "\f213";
+@fa-var-server: "\f233";
+@fa-var-servicestack: "\f3ec";
+@fa-var-shapes: "\f61f";
+@fa-var-share: "\f064";
+@fa-var-share-alt: "\f1e0";
+@fa-var-share-alt-square: "\f1e1";
+@fa-var-share-square: "\f14d";
+@fa-var-shekel-sign: "\f20b";
+@fa-var-shield-alt: "\f3ed";
+@fa-var-ship: "\f21a";
+@fa-var-shipping-fast: "\f48b";
+@fa-var-shirtsinbulk: "\f214";
+@fa-var-shoe-prints: "\f54b";
+@fa-var-shopping-bag: "\f290";
+@fa-var-shopping-basket: "\f291";
+@fa-var-shopping-cart: "\f07a";
+@fa-var-shopware: "\f5b5";
+@fa-var-shower: "\f2cc";
+@fa-var-shuttle-van: "\f5b6";
+@fa-var-sign: "\f4d9";
+@fa-var-sign-in-alt: "\f2f6";
+@fa-var-sign-language: "\f2a7";
+@fa-var-sign-out-alt: "\f2f5";
+@fa-var-signal: "\f012";
+@fa-var-signature: "\f5b7";
+@fa-var-sim-card: "\f7c4";
+@fa-var-simplybuilt: "\f215";
+@fa-var-sistrix: "\f3ee";
+@fa-var-sitemap: "\f0e8";
+@fa-var-sith: "\f512";
+@fa-var-skating: "\f7c5";
+@fa-var-sketch: "\f7c6";
+@fa-var-skiing: "\f7c9";
+@fa-var-skiing-nordic: "\f7ca";
+@fa-var-skull: "\f54c";
+@fa-var-skull-crossbones: "\f714";
+@fa-var-skyatlas: "\f216";
+@fa-var-skype: "\f17e";
+@fa-var-slack: "\f198";
+@fa-var-slack-hash: "\f3ef";
+@fa-var-slash: "\f715";
+@fa-var-sleigh: "\f7cc";
+@fa-var-sliders-h: "\f1de";
+@fa-var-slideshare: "\f1e7";
+@fa-var-smile: "\f118";
+@fa-var-smile-beam: "\f5b8";
+@fa-var-smile-wink: "\f4da";
+@fa-var-smog: "\f75f";
+@fa-var-smoking: "\f48d";
+@fa-var-smoking-ban: "\f54d";
+@fa-var-sms: "\f7cd";
+@fa-var-snapchat: "\f2ab";
+@fa-var-snapchat-ghost: "\f2ac";
+@fa-var-snapchat-square: "\f2ad";
+@fa-var-snowboarding: "\f7ce";
+@fa-var-snowflake: "\f2dc";
+@fa-var-snowman: "\f7d0";
+@fa-var-snowplow: "\f7d2";
+@fa-var-socks: "\f696";
+@fa-var-solar-panel: "\f5ba";
+@fa-var-sort: "\f0dc";
+@fa-var-sort-alpha-down: "\f15d";
+@fa-var-sort-alpha-down-alt: "\f881";
+@fa-var-sort-alpha-up: "\f15e";
+@fa-var-sort-alpha-up-alt: "\f882";
+@fa-var-sort-amount-down: "\f160";
+@fa-var-sort-amount-down-alt: "\f884";
+@fa-var-sort-amount-up: "\f161";
+@fa-var-sort-amount-up-alt: "\f885";
+@fa-var-sort-down: "\f0dd";
+@fa-var-sort-numeric-down: "\f162";
+@fa-var-sort-numeric-down-alt: "\f886";
+@fa-var-sort-numeric-up: "\f163";
+@fa-var-sort-numeric-up-alt: "\f887";
+@fa-var-sort-up: "\f0de";
+@fa-var-soundcloud: "\f1be";
+@fa-var-sourcetree: "\f7d3";
+@fa-var-spa: "\f5bb";
+@fa-var-space-shuttle: "\f197";
+@fa-var-speakap: "\f3f3";
+@fa-var-speaker-deck: "\f83c";
+@fa-var-spell-check: "\f891";
+@fa-var-spider: "\f717";
+@fa-var-spinner: "\f110";
+@fa-var-splotch: "\f5bc";
+@fa-var-spotify: "\f1bc";
+@fa-var-spray-can: "\f5bd";
+@fa-var-square: "\f0c8";
+@fa-var-square-full: "\f45c";
+@fa-var-square-root-alt: "\f698";
+@fa-var-squarespace: "\f5be";
+@fa-var-stack-exchange: "\f18d";
+@fa-var-stack-overflow: "\f16c";
+@fa-var-stackpath: "\f842";
+@fa-var-stamp: "\f5bf";
+@fa-var-star: "\f005";
+@fa-var-star-and-crescent: "\f699";
+@fa-var-star-half: "\f089";
+@fa-var-star-half-alt: "\f5c0";
+@fa-var-star-of-david: "\f69a";
+@fa-var-star-of-life: "\f621";
+@fa-var-staylinked: "\f3f5";
+@fa-var-steam: "\f1b6";
+@fa-var-steam-square: "\f1b7";
+@fa-var-steam-symbol: "\f3f6";
+@fa-var-step-backward: "\f048";
+@fa-var-step-forward: "\f051";
+@fa-var-stethoscope: "\f0f1";
+@fa-var-sticker-mule: "\f3f7";
+@fa-var-sticky-note: "\f249";
+@fa-var-stop: "\f04d";
+@fa-var-stop-circle: "\f28d";
+@fa-var-stopwatch: "\f2f2";
+@fa-var-store: "\f54e";
+@fa-var-store-alt: "\f54f";
+@fa-var-strava: "\f428";
+@fa-var-stream: "\f550";
+@fa-var-street-view: "\f21d";
+@fa-var-strikethrough: "\f0cc";
+@fa-var-stripe: "\f429";
+@fa-var-stripe-s: "\f42a";
+@fa-var-stroopwafel: "\f551";
+@fa-var-studiovinari: "\f3f8";
+@fa-var-stumbleupon: "\f1a4";
+@fa-var-stumbleupon-circle: "\f1a3";
+@fa-var-subscript: "\f12c";
+@fa-var-subway: "\f239";
+@fa-var-suitcase: "\f0f2";
+@fa-var-suitcase-rolling: "\f5c1";
+@fa-var-sun: "\f185";
+@fa-var-superpowers: "\f2dd";
+@fa-var-superscript: "\f12b";
+@fa-var-supple: "\f3f9";
+@fa-var-surprise: "\f5c2";
+@fa-var-suse: "\f7d6";
+@fa-var-swatchbook: "\f5c3";
+@fa-var-swimmer: "\f5c4";
+@fa-var-swimming-pool: "\f5c5";
+@fa-var-symfony: "\f83d";
+@fa-var-synagogue: "\f69b";
+@fa-var-sync: "\f021";
+@fa-var-sync-alt: "\f2f1";
+@fa-var-syringe: "\f48e";
+@fa-var-table: "\f0ce";
+@fa-var-table-tennis: "\f45d";
+@fa-var-tablet: "\f10a";
+@fa-var-tablet-alt: "\f3fa";
+@fa-var-tablets: "\f490";
+@fa-var-tachometer-alt: "\f3fd";
+@fa-var-tag: "\f02b";
+@fa-var-tags: "\f02c";
+@fa-var-tape: "\f4db";
+@fa-var-tasks: "\f0ae";
+@fa-var-taxi: "\f1ba";
+@fa-var-teamspeak: "\f4f9";
+@fa-var-teeth: "\f62e";
+@fa-var-teeth-open: "\f62f";
+@fa-var-telegram: "\f2c6";
+@fa-var-telegram-plane: "\f3fe";
+@fa-var-temperature-high: "\f769";
+@fa-var-temperature-low: "\f76b";
+@fa-var-tencent-weibo: "\f1d5";
+@fa-var-tenge: "\f7d7";
+@fa-var-terminal: "\f120";
+@fa-var-text-height: "\f034";
+@fa-var-text-width: "\f035";
+@fa-var-th: "\f00a";
+@fa-var-th-large: "\f009";
+@fa-var-th-list: "\f00b";
+@fa-var-the-red-yeti: "\f69d";
+@fa-var-theater-masks: "\f630";
+@fa-var-themeco: "\f5c6";
+@fa-var-themeisle: "\f2b2";
+@fa-var-thermometer: "\f491";
+@fa-var-thermometer-empty: "\f2cb";
+@fa-var-thermometer-full: "\f2c7";
+@fa-var-thermometer-half: "\f2c9";
+@fa-var-thermometer-quarter: "\f2ca";
+@fa-var-thermometer-three-quarters: "\f2c8";
+@fa-var-think-peaks: "\f731";
+@fa-var-thumbs-down: "\f165";
+@fa-var-thumbs-up: "\f164";
+@fa-var-thumbtack: "\f08d";
+@fa-var-ticket-alt: "\f3ff";
+@fa-var-times: "\f00d";
+@fa-var-times-circle: "\f057";
+@fa-var-tint: "\f043";
+@fa-var-tint-slash: "\f5c7";
+@fa-var-tired: "\f5c8";
+@fa-var-toggle-off: "\f204";
+@fa-var-toggle-on: "\f205";
+@fa-var-toilet: "\f7d8";
+@fa-var-toilet-paper: "\f71e";
+@fa-var-toolbox: "\f552";
+@fa-var-tools: "\f7d9";
+@fa-var-tooth: "\f5c9";
+@fa-var-torah: "\f6a0";
+@fa-var-torii-gate: "\f6a1";
+@fa-var-tractor: "\f722";
+@fa-var-trade-federation: "\f513";
+@fa-var-trademark: "\f25c";
+@fa-var-traffic-light: "\f637";
+@fa-var-train: "\f238";
+@fa-var-tram: "\f7da";
+@fa-var-transgender: "\f224";
+@fa-var-transgender-alt: "\f225";
+@fa-var-trash: "\f1f8";
+@fa-var-trash-alt: "\f2ed";
+@fa-var-trash-restore: "\f829";
+@fa-var-trash-restore-alt: "\f82a";
+@fa-var-tree: "\f1bb";
+@fa-var-trello: "\f181";
+@fa-var-tripadvisor: "\f262";
+@fa-var-trophy: "\f091";
+@fa-var-truck: "\f0d1";
+@fa-var-truck-loading: "\f4de";
+@fa-var-truck-monster: "\f63b";
+@fa-var-truck-moving: "\f4df";
+@fa-var-truck-pickup: "\f63c";
+@fa-var-tshirt: "\f553";
+@fa-var-tty: "\f1e4";
+@fa-var-tumblr: "\f173";
+@fa-var-tumblr-square: "\f174";
+@fa-var-tv: "\f26c";
+@fa-var-twitch: "\f1e8";
+@fa-var-twitter: "\f099";
+@fa-var-twitter-square: "\f081";
+@fa-var-typo3: "\f42b";
+@fa-var-uber: "\f402";
+@fa-var-ubuntu: "\f7df";
+@fa-var-uikit: "\f403";
+@fa-var-umbrella: "\f0e9";
+@fa-var-umbrella-beach: "\f5ca";
+@fa-var-underline: "\f0cd";
+@fa-var-undo: "\f0e2";
+@fa-var-undo-alt: "\f2ea";
+@fa-var-uniregistry: "\f404";
+@fa-var-universal-access: "\f29a";
+@fa-var-university: "\f19c";
+@fa-var-unlink: "\f127";
+@fa-var-unlock: "\f09c";
+@fa-var-unlock-alt: "\f13e";
+@fa-var-untappd: "\f405";
+@fa-var-upload: "\f093";
+@fa-var-ups: "\f7e0";
+@fa-var-usb: "\f287";
+@fa-var-user: "\f007";
+@fa-var-user-alt: "\f406";
+@fa-var-user-alt-slash: "\f4fa";
+@fa-var-user-astronaut: "\f4fb";
+@fa-var-user-check: "\f4fc";
+@fa-var-user-circle: "\f2bd";
+@fa-var-user-clock: "\f4fd";
+@fa-var-user-cog: "\f4fe";
+@fa-var-user-edit: "\f4ff";
+@fa-var-user-friends: "\f500";
+@fa-var-user-graduate: "\f501";
+@fa-var-user-injured: "\f728";
+@fa-var-user-lock: "\f502";
+@fa-var-user-md: "\f0f0";
+@fa-var-user-minus: "\f503";
+@fa-var-user-ninja: "\f504";
+@fa-var-user-nurse: "\f82f";
+@fa-var-user-plus: "\f234";
+@fa-var-user-secret: "\f21b";
+@fa-var-user-shield: "\f505";
+@fa-var-user-slash: "\f506";
+@fa-var-user-tag: "\f507";
+@fa-var-user-tie: "\f508";
+@fa-var-user-times: "\f235";
+@fa-var-users: "\f0c0";
+@fa-var-users-cog: "\f509";
+@fa-var-usps: "\f7e1";
+@fa-var-ussunnah: "\f407";
+@fa-var-utensil-spoon: "\f2e5";
+@fa-var-utensils: "\f2e7";
+@fa-var-vaadin: "\f408";
+@fa-var-vector-square: "\f5cb";
+@fa-var-venus: "\f221";
+@fa-var-venus-double: "\f226";
+@fa-var-venus-mars: "\f228";
+@fa-var-viacoin: "\f237";
+@fa-var-viadeo: "\f2a9";
+@fa-var-viadeo-square: "\f2aa";
+@fa-var-vial: "\f492";
+@fa-var-vials: "\f493";
+@fa-var-viber: "\f409";
+@fa-var-video: "\f03d";
+@fa-var-video-slash: "\f4e2";
+@fa-var-vihara: "\f6a7";
+@fa-var-vimeo: "\f40a";
+@fa-var-vimeo-square: "\f194";
+@fa-var-vimeo-v: "\f27d";
+@fa-var-vine: "\f1ca";
+@fa-var-vk: "\f189";
+@fa-var-vnv: "\f40b";
+@fa-var-voicemail: "\f897";
+@fa-var-volleyball-ball: "\f45f";
+@fa-var-volume-down: "\f027";
+@fa-var-volume-mute: "\f6a9";
+@fa-var-volume-off: "\f026";
+@fa-var-volume-up: "\f028";
+@fa-var-vote-yea: "\f772";
+@fa-var-vr-cardboard: "\f729";
+@fa-var-vuejs: "\f41f";
+@fa-var-walking: "\f554";
+@fa-var-wallet: "\f555";
+@fa-var-warehouse: "\f494";
+@fa-var-water: "\f773";
+@fa-var-wave-square: "\f83e";
+@fa-var-waze: "\f83f";
+@fa-var-weebly: "\f5cc";
+@fa-var-weibo: "\f18a";
+@fa-var-weight: "\f496";
+@fa-var-weight-hanging: "\f5cd";
+@fa-var-weixin: "\f1d7";
+@fa-var-whatsapp: "\f232";
+@fa-var-whatsapp-square: "\f40c";
+@fa-var-wheelchair: "\f193";
+@fa-var-whmcs: "\f40d";
+@fa-var-wifi: "\f1eb";
+@fa-var-wikipedia-w: "\f266";
+@fa-var-wind: "\f72e";
+@fa-var-window-close: "\f410";
+@fa-var-window-maximize: "\f2d0";
+@fa-var-window-minimize: "\f2d1";
+@fa-var-window-restore: "\f2d2";
+@fa-var-windows: "\f17a";
+@fa-var-wine-bottle: "\f72f";
+@fa-var-wine-glass: "\f4e3";
+@fa-var-wine-glass-alt: "\f5ce";
+@fa-var-wix: "\f5cf";
+@fa-var-wizards-of-the-coast: "\f730";
+@fa-var-wolf-pack-battalion: "\f514";
+@fa-var-won-sign: "\f159";
+@fa-var-wordpress: "\f19a";
+@fa-var-wordpress-simple: "\f411";
+@fa-var-wpbeginner: "\f297";
+@fa-var-wpexplorer: "\f2de";
+@fa-var-wpforms: "\f298";
+@fa-var-wpressr: "\f3e4";
+@fa-var-wrench: "\f0ad";
+@fa-var-x-ray: "\f497";
+@fa-var-xbox: "\f412";
+@fa-var-xing: "\f168";
+@fa-var-xing-square: "\f169";
+@fa-var-y-combinator: "\f23b";
+@fa-var-yahoo: "\f19e";
+@fa-var-yammer: "\f840";
+@fa-var-yandex: "\f413";
+@fa-var-yandex-international: "\f414";
+@fa-var-yarn: "\f7e3";
+@fa-var-yelp: "\f1e9";
+@fa-var-yen-sign: "\f157";
+@fa-var-yin-yang: "\f6ad";
+@fa-var-yoast: "\f2b1";
+@fa-var-youtube: "\f167";
+@fa-var-youtube-square: "\f431";
+@fa-var-zhihu: "\f63f";

+ 22 - 0
resources/fontawesome/less/brands.less

@@ -0,0 +1,22 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+
+@font-face {
+  font-family: 'Font Awesome 5 Brands';
+  font-style: normal;
+  font-weight: normal;
+  font-display: @fa-font-display;
+  src: url('@{fa-font-path}/fa-brands-400.eot');
+  src: url('@{fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),
+    url('@{fa-font-path}/fa-brands-400.woff2') format('woff2'),
+    url('@{fa-font-path}/fa-brands-400.woff') format('woff'),
+    url('@{fa-font-path}/fa-brands-400.ttf') format('truetype'),
+    url('@{fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');
+}
+
+.fab {
+  font-family: 'Font Awesome 5 Brands';
+}

+ 16 - 0
resources/fontawesome/less/fontawesome.less

@@ -0,0 +1,16 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+@import "_mixins.less";
+@import "_core.less";
+@import "_larger.less";
+@import "_fixed-width.less";
+@import "_list.less";
+@import "_bordered-pulled.less";
+@import "_animated.less";
+@import "_rotated-flipped.less";
+@import "_stacked.less";
+@import "_icons.less";
+@import "_screen-reader.less";

+ 23 - 0
resources/fontawesome/less/regular.less

@@ -0,0 +1,23 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 400;
+  font-display: @fa-font-display;
+  src: url('@{fa-font-path}/fa-regular-400.eot');
+  src: url('@{fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
+    url('@{fa-font-path}/fa-regular-400.woff2') format('woff2'),
+    url('@{fa-font-path}/fa-regular-400.woff') format('woff'),
+    url('@{fa-font-path}/fa-regular-400.ttf') format('truetype'),
+    url('@{fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
+}
+
+.far {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}

+ 24 - 0
resources/fontawesome/less/solid.less

@@ -0,0 +1,24 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 900;
+  font-display: @fa-font-display;
+  src: url('@{fa-font-path}/fa-solid-900.eot');
+  src: url('@{fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
+    url('@{fa-font-path}/fa-solid-900.woff2') format('woff2'),
+    url('@{fa-font-path}/fa-solid-900.woff') format('woff'),
+    url('@{fa-font-path}/fa-solid-900.ttf') format('truetype'),
+    url('@{fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
+}
+
+.fa,
+.fas {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 900;
+}

+ 6 - 0
resources/fontawesome/less/v4-shims.less

@@ -0,0 +1,6 @@
+/*!
+ * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import '_variables.less';
+@import '_shims.less';

+ 2492 - 0
resources/fontawesome/metadata/categories.yml

@@ -0,0 +1,2492 @@
+accessibility:
+  icons:
+    - accessible-icon
+    - american-sign-language-interpreting
+    - assistive-listening-systems
+    - audio-description
+    - blind
+    - braille
+    - closed-captioning
+    - deaf
+    - low-vision
+    - phone-volume
+    - question-circle
+    - sign-language
+    - tty
+    - universal-access
+    - wheelchair
+  label: Accessibility
+alert:
+  icons:
+    - bell
+    - bell-slash
+    - exclamation
+    - exclamation-circle
+    - exclamation-triangle
+    - radiation
+    - radiation-alt
+    - skull-crossbones
+  label: Alert
+animals:
+  icons:
+    - cat
+    - crow
+    - dog
+    - dove
+    - dragon
+    - feather
+    - feather-alt
+    - fish
+    - frog
+    - hippo
+    - horse
+    - horse-head
+    - kiwi-bird
+    - otter
+    - paw
+    - spider
+  label: Animals
+arrows:
+  icons:
+    - angle-double-down
+    - angle-double-left
+    - angle-double-right
+    - angle-double-up
+    - angle-down
+    - angle-left
+    - angle-right
+    - angle-up
+    - arrow-alt-circle-down
+    - arrow-alt-circle-left
+    - arrow-alt-circle-right
+    - arrow-alt-circle-up
+    - arrow-circle-down
+    - arrow-circle-left
+    - arrow-circle-right
+    - arrow-circle-up
+    - arrow-down
+    - arrow-left
+    - arrow-right
+    - arrow-up
+    - arrows-alt
+    - arrows-alt-h
+    - arrows-alt-v
+    - caret-down
+    - caret-left
+    - caret-right
+    - caret-square-down
+    - caret-square-left
+    - caret-square-right
+    - caret-square-up
+    - caret-up
+    - cart-arrow-down
+    - chart-line
+    - chevron-circle-down
+    - chevron-circle-left
+    - chevron-circle-right
+    - chevron-circle-up
+    - chevron-down
+    - chevron-left
+    - chevron-right
+    - chevron-up
+    - cloud-download-alt
+    - cloud-upload-alt
+    - compress-arrows-alt
+    - download
+    - exchange-alt
+    - expand-arrows-alt
+    - external-link-alt
+    - external-link-square-alt
+    - hand-point-down
+    - hand-point-left
+    - hand-point-right
+    - hand-point-up
+    - hand-pointer
+    - history
+    - level-down-alt
+    - level-up-alt
+    - location-arrow
+    - long-arrow-alt-down
+    - long-arrow-alt-left
+    - long-arrow-alt-right
+    - long-arrow-alt-up
+    - mouse-pointer
+    - play
+    - random
+    - recycle
+    - redo
+    - redo-alt
+    - reply
+    - reply-all
+    - retweet
+    - share
+    - share-square
+    - sign-in-alt
+    - sign-out-alt
+    - sort
+    - sort-alpha-down
+    - sort-alpha-down-alt
+    - sort-alpha-up
+    - sort-alpha-up-alt
+    - sort-amount-down
+    - sort-amount-down-alt
+    - sort-amount-up
+    - sort-amount-up-alt
+    - sort-down
+    - sort-numeric-down
+    - sort-numeric-down-alt
+    - sort-numeric-up
+    - sort-numeric-up-alt
+    - sort-up
+    - sync
+    - sync-alt
+    - text-height
+    - text-width
+    - undo
+    - undo-alt
+    - upload
+  label: Arrows
+audio-video:
+  icons:
+    - audio-description
+    - backward
+    - broadcast-tower
+    - circle
+    - closed-captioning
+    - compress
+    - compress-arrows-alt
+    - eject
+    - expand
+    - expand-arrows-alt
+    - fast-backward
+    - fast-forward
+    - file-audio
+    - file-video
+    - film
+    - forward
+    - headphones
+    - microphone
+    - microphone-alt
+    - microphone-alt-slash
+    - microphone-slash
+    - music
+    - pause
+    - pause-circle
+    - phone-volume
+    - photo-video
+    - play
+    - play-circle
+    - podcast
+    - random
+    - redo
+    - redo-alt
+    - rss
+    - rss-square
+    - step-backward
+    - step-forward
+    - stop
+    - stop-circle
+    - sync
+    - sync-alt
+    - undo
+    - undo-alt
+    - video
+    - volume-down
+    - volume-mute
+    - volume-off
+    - volume-up
+    - youtube
+  label: Audio & Video
+automotive:
+  icons:
+    - air-freshener
+    - ambulance
+    - bus
+    - bus-alt
+    - car
+    - car-alt
+    - car-battery
+    - car-crash
+    - car-side
+    - charging-station
+    - gas-pump
+    - motorcycle
+    - oil-can
+    - shuttle-van
+    - tachometer-alt
+    - taxi
+    - truck
+    - truck-monster
+    - truck-pickup
+  label: Automotive
+autumn:
+  icons:
+    - apple-alt
+    - campground
+    - cloud-sun
+    - drumstick-bite
+    - football-ball
+    - hiking
+    - mountain
+    - tractor
+    - tree
+    - wind
+    - wine-bottle
+  label: Autumn
+beverage:
+  icons:
+    - beer
+    - blender
+    - cocktail
+    - coffee
+    - flask
+    - glass-cheers
+    - glass-martini
+    - glass-martini-alt
+    - glass-whiskey
+    - mug-hot
+    - wine-bottle
+    - wine-glass
+    - wine-glass-alt
+  label: Beverage
+buildings:
+  icons:
+    - archway
+    - building
+    - campground
+    - church
+    - city
+    - clinic-medical
+    - dungeon
+    - gopuram
+    - home
+    - hospital
+    - hospital-alt
+    - hotel
+    - house-damage
+    - igloo
+    - industry
+    - kaaba
+    - landmark
+    - monument
+    - mosque
+    - place-of-worship
+    - school
+    - store
+    - store-alt
+    - synagogue
+    - torii-gate
+    - university
+    - vihara
+    - warehouse
+  label: Buildings
+business:
+  icons:
+    - address-book
+    - address-card
+    - archive
+    - balance-scale
+    - balance-scale-left
+    - balance-scale-right
+    - birthday-cake
+    - book
+    - briefcase
+    - building
+    - bullhorn
+    - bullseye
+    - business-time
+    - calculator
+    - calendar
+    - calendar-alt
+    - certificate
+    - chart-area
+    - chart-bar
+    - chart-line
+    - chart-pie
+    - city
+    - clipboard
+    - coffee
+    - columns
+    - compass
+    - copy
+    - copyright
+    - cut
+    - edit
+    - envelope
+    - envelope-open
+    - envelope-square
+    - eraser
+    - fax
+    - file
+    - file-alt
+    - folder
+    - folder-minus
+    - folder-open
+    - folder-plus
+    - glasses
+    - globe
+    - highlighter
+    - industry
+    - landmark
+    - marker
+    - paperclip
+    - paste
+    - pen
+    - pen-alt
+    - pen-fancy
+    - pen-nib
+    - pen-square
+    - pencil-alt
+    - percent
+    - phone
+    - phone-alt
+    - phone-slash
+    - phone-square
+    - phone-square-alt
+    - phone-volume
+    - print
+    - project-diagram
+    - registered
+    - save
+    - sitemap
+    - socks
+    - sticky-note
+    - stream
+    - table
+    - tag
+    - tags
+    - tasks
+    - thumbtack
+    - trademark
+    - wallet
+  label: Business
+camping:
+  icons:
+    - binoculars
+    - campground
+    - compass
+    - fire
+    - fire-alt
+    - first-aid
+    - frog
+    - hiking
+    - map
+    - map-marked
+    - map-marked-alt
+    - map-signs
+    - mountain
+    - route
+    - toilet-paper
+    - tree
+  label: Camping
+charity:
+  icons:
+    - dollar-sign
+    - donate
+    - dove
+    - gift
+    - globe
+    - hand-holding-heart
+    - hand-holding-usd
+    - hands-helping
+    - handshake
+    - heart
+    - leaf
+    - parachute-box
+    - piggy-bank
+    - ribbon
+    - seedling
+  label: Charity
+chat:
+  icons:
+    - comment
+    - comment-alt
+    - comment-dots
+    - comment-medical
+    - comment-slash
+    - comments
+    - frown
+    - icons
+    - meh
+    - phone
+    - phone-alt
+    - phone-slash
+    - poo
+    - quote-left
+    - quote-right
+    - smile
+    - sms
+    - video
+    - video-slash
+  label: Chat
+chess:
+  icons:
+    - chess
+    - chess-bishop
+    - chess-board
+    - chess-king
+    - chess-knight
+    - chess-pawn
+    - chess-queen
+    - chess-rook
+    - square-full
+  label: Chess
+childhood:
+  icons:
+    - apple-alt
+    - baby
+    - baby-carriage
+    - bath
+    - biking
+    - birthday-cake
+    - cookie
+    - cookie-bite
+    - ice-cream
+    - mitten
+    - robot
+    - school
+    - shapes
+    - snowman
+  label: Childhood
+clothing:
+  icons:
+    - graduation-cap
+    - hat-wizard
+    - mitten
+    - shoe-prints
+    - socks
+    - tshirt
+    - user-tie
+  label: Clothing
+code:
+  icons:
+    - archive
+    - barcode
+    - bath
+    - bug
+    - code
+    - code-branch
+    - coffee
+    - file
+    - file-alt
+    - file-code
+    - filter
+    - fire-extinguisher
+    - folder
+    - folder-open
+    - keyboard
+    - laptop-code
+    - microchip
+    - project-diagram
+    - qrcode
+    - shield-alt
+    - sitemap
+    - stream
+    - terminal
+    - user-secret
+    - window-close
+    - window-maximize
+    - window-minimize
+    - window-restore
+  label: Code
+communication:
+  icons:
+    - address-book
+    - address-card
+    - american-sign-language-interpreting
+    - assistive-listening-systems
+    - at
+    - bell
+    - bell-slash
+    - bluetooth
+    - bluetooth-b
+    - broadcast-tower
+    - bullhorn
+    - chalkboard
+    - comment
+    - comment-alt
+    - comments
+    - envelope
+    - envelope-open
+    - envelope-square
+    - fax
+    - inbox
+    - language
+    - microphone
+    - microphone-alt
+    - microphone-alt-slash
+    - microphone-slash
+    - mobile
+    - mobile-alt
+    - paper-plane
+    - phone
+    - phone-alt
+    - phone-slash
+    - phone-square
+    - phone-square-alt
+    - phone-volume
+    - rss
+    - rss-square
+    - tty
+    - voicemail
+    - wifi
+  label: Communication
+computers:
+  icons:
+    - database
+    - desktop
+    - download
+    - ethernet
+    - hdd
+    - headphones
+    - keyboard
+    - laptop
+    - memory
+    - microchip
+    - mobile
+    - mobile-alt
+    - plug
+    - power-off
+    - print
+    - satellite
+    - satellite-dish
+    - save
+    - sd-card
+    - server
+    - sim-card
+    - stream
+    - tablet
+    - tablet-alt
+    - tv
+    - upload
+  label: Computers
+construction:
+  icons:
+    - brush
+    - drafting-compass
+    - dumpster
+    - hammer
+    - hard-hat
+    - paint-roller
+    - pencil-alt
+    - pencil-ruler
+    - ruler
+    - ruler-combined
+    - ruler-horizontal
+    - ruler-vertical
+    - screwdriver
+    - toolbox
+    - tools
+    - truck-pickup
+    - wrench
+  label: Construction
+currency:
+  icons:
+    - bitcoin
+    - btc
+    - dollar-sign
+    - ethereum
+    - euro-sign
+    - gg
+    - gg-circle
+    - hryvnia
+    - lira-sign
+    - money-bill
+    - money-bill-alt
+    - money-bill-wave
+    - money-bill-wave-alt
+    - money-check
+    - money-check-alt
+    - pound-sign
+    - ruble-sign
+    - rupee-sign
+    - shekel-sign
+    - tenge
+    - won-sign
+    - yen-sign
+  label: Currency
+date-time:
+  icons:
+    - bell
+    - bell-slash
+    - calendar
+    - calendar-alt
+    - calendar-check
+    - calendar-minus
+    - calendar-plus
+    - calendar-times
+    - clock
+    - hourglass
+    - hourglass-end
+    - hourglass-half
+    - hourglass-start
+    - stopwatch
+  label: Date & Time
+design:
+  icons:
+    - adjust
+    - bezier-curve
+    - brush
+    - clone
+    - copy
+    - crop
+    - crop-alt
+    - crosshairs
+    - cut
+    - drafting-compass
+    - draw-polygon
+    - edit
+    - eraser
+    - eye
+    - eye-dropper
+    - eye-slash
+    - fill
+    - fill-drip
+    - highlighter
+    - icons
+    - layer-group
+    - magic
+    - marker
+    - object-group
+    - object-ungroup
+    - paint-brush
+    - paint-roller
+    - palette
+    - paste
+    - pen
+    - pen-alt
+    - pen-fancy
+    - pen-nib
+    - pencil-alt
+    - pencil-ruler
+    - ruler-combined
+    - ruler-horizontal
+    - ruler-vertical
+    - save
+    - splotch
+    - spray-can
+    - stamp
+    - swatchbook
+    - tint
+    - tint-slash
+    - vector-square
+  label: Design
+editors:
+  icons:
+    - align-center
+    - align-justify
+    - align-left
+    - align-right
+    - bold
+    - border-all
+    - border-none
+    - border-style
+    - clipboard
+    - clone
+    - columns
+    - copy
+    - cut
+    - edit
+    - eraser
+    - file
+    - file-alt
+    - font
+    - glasses
+    - heading
+    - highlighter
+    - i-cursor
+    - icons
+    - indent
+    - italic
+    - link
+    - list
+    - list-alt
+    - list-ol
+    - list-ul
+    - marker
+    - outdent
+    - paper-plane
+    - paperclip
+    - paragraph
+    - paste
+    - pen
+    - pen-alt
+    - pen-fancy
+    - pen-nib
+    - pencil-alt
+    - print
+    - quote-left
+    - quote-right
+    - redo
+    - redo-alt
+    - remove-format
+    - reply
+    - reply-all
+    - screwdriver
+    - share
+    - spell-check
+    - strikethrough
+    - subscript
+    - superscript
+    - sync
+    - sync-alt
+    - table
+    - tasks
+    - text-height
+    - text-width
+    - th
+    - th-large
+    - th-list
+    - tools
+    - trash
+    - trash-alt
+    - trash-restore
+    - trash-restore-alt
+    - underline
+    - undo
+    - undo-alt
+    - unlink
+    - wrench
+  label: Editors
+education:
+  icons:
+    - apple-alt
+    - atom
+    - award
+    - bell
+    - bell-slash
+    - book-open
+    - book-reader
+    - chalkboard
+    - chalkboard-teacher
+    - graduation-cap
+    - laptop-code
+    - microscope
+    - music
+    - school
+    - shapes
+    - theater-masks
+    - user-graduate
+  label: Education
+emoji:
+  icons:
+    - angry
+    - dizzy
+    - flushed
+    - frown
+    - frown-open
+    - grimace
+    - grin
+    - grin-alt
+    - grin-beam
+    - grin-beam-sweat
+    - grin-hearts
+    - grin-squint
+    - grin-squint-tears
+    - grin-stars
+    - grin-tears
+    - grin-tongue
+    - grin-tongue-squint
+    - grin-tongue-wink
+    - grin-wink
+    - kiss
+    - kiss-beam
+    - kiss-wink-heart
+    - laugh
+    - laugh-beam
+    - laugh-squint
+    - laugh-wink
+    - meh
+    - meh-blank
+    - meh-rolling-eyes
+    - sad-cry
+    - sad-tear
+    - smile
+    - smile-beam
+    - smile-wink
+    - surprise
+    - tired
+  label: Emoji
+energy:
+  icons:
+    - atom
+    - battery-empty
+    - battery-full
+    - battery-half
+    - battery-quarter
+    - battery-three-quarters
+    - broadcast-tower
+    - burn
+    - charging-station
+    - fire
+    - fire-alt
+    - gas-pump
+    - industry
+    - leaf
+    - lightbulb
+    - plug
+    - poop
+    - power-off
+    - radiation
+    - radiation-alt
+    - seedling
+    - solar-panel
+    - sun
+    - water
+    - wind
+  label: Energy
+files:
+  icons:
+    - archive
+    - clone
+    - copy
+    - cut
+    - file
+    - file-alt
+    - file-archive
+    - file-audio
+    - file-code
+    - file-excel
+    - file-image
+    - file-pdf
+    - file-powerpoint
+    - file-video
+    - file-word
+    - folder
+    - folder-open
+    - paste
+    - photo-video
+    - save
+    - sticky-note
+  label: Files
+finance:
+  icons:
+    - balance-scale
+    - balance-scale-left
+    - balance-scale-right
+    - book
+    - cash-register
+    - chart-line
+    - chart-pie
+    - coins
+    - comment-dollar
+    - comments-dollar
+    - credit-card
+    - donate
+    - file-invoice
+    - file-invoice-dollar
+    - hand-holding-usd
+    - landmark
+    - money-bill
+    - money-bill-alt
+    - money-bill-wave
+    - money-bill-wave-alt
+    - money-check
+    - money-check-alt
+    - percentage
+    - piggy-bank
+    - receipt
+    - stamp
+    - wallet
+  label: Finance
+fitness:
+  icons:
+    - bicycle
+    - biking
+    - burn
+    - fire-alt
+    - heart
+    - heartbeat
+    - hiking
+    - running
+    - shoe-prints
+    - skating
+    - skiing
+    - skiing-nordic
+    - snowboarding
+    - spa
+    - swimmer
+    - walking
+  label: Fitness
+food:
+  icons:
+    - apple-alt
+    - bacon
+    - bone
+    - bread-slice
+    - candy-cane
+    - carrot
+    - cheese
+    - cloud-meatball
+    - cookie
+    - drumstick-bite
+    - egg
+    - fish
+    - hamburger
+    - hotdog
+    - ice-cream
+    - lemon
+    - pepper-hot
+    - pizza-slice
+    - seedling
+    - stroopwafel
+  label: Food
+fruit-vegetable:
+  icons:
+    - apple-alt
+    - carrot
+    - leaf
+    - lemon
+    - pepper-hot
+    - seedling
+  label: Fruits & Vegetables
+games:
+  icons:
+    - chess
+    - chess-bishop
+    - chess-board
+    - chess-king
+    - chess-knight
+    - chess-pawn
+    - chess-queen
+    - chess-rook
+    - dice
+    - dice-d20
+    - dice-d6
+    - dice-five
+    - dice-four
+    - dice-one
+    - dice-six
+    - dice-three
+    - dice-two
+    - gamepad
+    - ghost
+    - headset
+    - heart
+    - playstation
+    - puzzle-piece
+    - steam
+    - steam-square
+    - steam-symbol
+    - twitch
+    - xbox
+  label: Games
+gaming-tabletop:
+  icons:
+    - acquisitions-incorporated
+    - book-dead
+    - critical-role
+    - d-and-d
+    - d-and-d-beyond
+    - dice-d20
+    - dice-d6
+    - dragon
+    - dungeon
+    - fantasy-flight-games
+    - fist-raised
+    - hat-wizard
+    - penny-arcade
+    - ring
+    - scroll
+    - skull-crossbones
+    - wizards-of-the-coast
+  label: Tabletop Gaming
+gender:
+  icons:
+    - genderless
+    - mars
+    - mars-double
+    - mars-stroke
+    - mars-stroke-h
+    - mars-stroke-v
+    - mercury
+    - neuter
+    - transgender
+    - transgender-alt
+    - venus
+    - venus-double
+    - venus-mars
+  label: Genders
+halloween:
+  icons:
+    - book-dead
+    - broom
+    - cat
+    - cloud-moon
+    - crow
+    - ghost
+    - hat-wizard
+    - mask
+    - skull-crossbones
+    - spider
+    - toilet-paper
+  label: Halloween
+hands:
+  icons:
+    - allergies
+    - fist-raised
+    - hand-holding
+    - hand-holding-heart
+    - hand-holding-usd
+    - hand-lizard
+    - hand-middle-finger
+    - hand-paper
+    - hand-peace
+    - hand-point-down
+    - hand-point-left
+    - hand-point-right
+    - hand-point-up
+    - hand-pointer
+    - hand-rock
+    - hand-scissors
+    - hand-spock
+    - hands
+    - hands-helping
+    - handshake
+    - praying-hands
+    - thumbs-down
+    - thumbs-up
+  label: Hands
+health:
+  icons:
+    - accessible-icon
+    - ambulance
+    - h-square
+    - heart
+    - heartbeat
+    - hospital
+    - medkit
+    - plus-square
+    - prescription
+    - stethoscope
+    - user-md
+    - wheelchair
+  label: Health
+holiday:
+  icons:
+    - candy-cane
+    - carrot
+    - cookie-bite
+    - gift
+    - gifts
+    - glass-cheers
+    - holly-berry
+    - mug-hot
+    - sleigh
+    - snowman
+  label: Holiday
+hotel:
+  icons:
+    - baby-carriage
+    - bath
+    - bed
+    - briefcase
+    - car
+    - cocktail
+    - coffee
+    - concierge-bell
+    - dice
+    - dice-five
+    - door-closed
+    - door-open
+    - dumbbell
+    - glass-martini
+    - glass-martini-alt
+    - hot-tub
+    - hotel
+    - infinity
+    - key
+    - luggage-cart
+    - shower
+    - shuttle-van
+    - smoking
+    - smoking-ban
+    - snowflake
+    - spa
+    - suitcase
+    - suitcase-rolling
+    - swimmer
+    - swimming-pool
+    - tv
+    - umbrella-beach
+    - utensils
+    - wheelchair
+    - wifi
+  label: Hotel
+household:
+  icons:
+    - bath
+    - bed
+    - blender
+    - chair
+    - couch
+    - door-closed
+    - door-open
+    - dungeon
+    - fan
+    - shower
+    - toilet-paper
+    - tv
+  label: Household
+images:
+  icons:
+    - adjust
+    - bolt
+    - camera
+    - camera-retro
+    - chalkboard
+    - clone
+    - compress
+    - compress-arrows-alt
+    - expand
+    - eye
+    - eye-dropper
+    - eye-slash
+    - file-image
+    - film
+    - id-badge
+    - id-card
+    - image
+    - images
+    - photo-video
+    - portrait
+    - sliders-h
+    - tint
+  label: Images
+interfaces:
+  icons:
+    - award
+    - ban
+    - barcode
+    - bars
+    - beer
+    - bell
+    - bell-slash
+    - blog
+    - bug
+    - bullhorn
+    - bullseye
+    - calculator
+    - calendar
+    - calendar-alt
+    - calendar-check
+    - calendar-minus
+    - calendar-plus
+    - calendar-times
+    - certificate
+    - check
+    - check-circle
+    - check-double
+    - check-square
+    - circle
+    - clipboard
+    - clone
+    - cloud
+    - cloud-download-alt
+    - cloud-upload-alt
+    - coffee
+    - cog
+    - cogs
+    - copy
+    - cut
+    - database
+    - dot-circle
+    - download
+    - edit
+    - ellipsis-h
+    - ellipsis-v
+    - envelope
+    - envelope-open
+    - eraser
+    - exclamation
+    - exclamation-circle
+    - exclamation-triangle
+    - external-link-alt
+    - external-link-square-alt
+    - eye
+    - eye-slash
+    - file
+    - file-alt
+    - file-download
+    - file-export
+    - file-import
+    - file-upload
+    - filter
+    - fingerprint
+    - flag
+    - flag-checkered
+    - folder
+    - folder-open
+    - frown
+    - glasses
+    - grip-horizontal
+    - grip-lines
+    - grip-lines-vertical
+    - grip-vertical
+    - hashtag
+    - heart
+    - history
+    - home
+    - i-cursor
+    - info
+    - info-circle
+    - language
+    - magic
+    - marker
+    - medal
+    - meh
+    - microphone
+    - microphone-alt
+    - microphone-slash
+    - minus
+    - minus-circle
+    - minus-square
+    - paste
+    - pen
+    - pen-alt
+    - pen-fancy
+    - pencil-alt
+    - plus
+    - plus-circle
+    - plus-square
+    - poo
+    - qrcode
+    - question
+    - question-circle
+    - quote-left
+    - quote-right
+    - redo
+    - redo-alt
+    - reply
+    - reply-all
+    - rss
+    - rss-square
+    - save
+    - screwdriver
+    - search
+    - search-minus
+    - search-plus
+    - share
+    - share-alt
+    - share-alt-square
+    - share-square
+    - shield-alt
+    - sign-in-alt
+    - sign-out-alt
+    - signal
+    - sitemap
+    - sliders-h
+    - smile
+    - sort
+    - sort-alpha-down
+    - sort-alpha-down-alt
+    - sort-alpha-up
+    - sort-alpha-up-alt
+    - sort-amount-down
+    - sort-amount-down-alt
+    - sort-amount-up
+    - sort-amount-up-alt
+    - sort-down
+    - sort-numeric-down
+    - sort-numeric-down-alt
+    - sort-numeric-up
+    - sort-numeric-up-alt
+    - sort-up
+    - star
+    - star-half
+    - sync
+    - sync-alt
+    - thumbs-down
+    - thumbs-up
+    - times
+    - times-circle
+    - toggle-off
+    - toggle-on
+    - tools
+    - trash
+    - trash-alt
+    - trash-restore
+    - trash-restore-alt
+    - trophy
+    - undo
+    - undo-alt
+    - upload
+    - user
+    - user-alt
+    - user-circle
+    - volume-down
+    - volume-mute
+    - volume-off
+    - volume-up
+    - wifi
+    - wrench
+  label: Interfaces
+logistics:
+  icons:
+    - box
+    - boxes
+    - clipboard-check
+    - clipboard-list
+    - dolly
+    - dolly-flatbed
+    - hard-hat
+    - pallet
+    - shipping-fast
+    - truck
+    - warehouse
+  label: Logistics
+maps:
+  icons:
+    - ambulance
+    - anchor
+    - balance-scale
+    - balance-scale-left
+    - balance-scale-right
+    - bath
+    - bed
+    - beer
+    - bell
+    - bell-slash
+    - bicycle
+    - binoculars
+    - birthday-cake
+    - blind
+    - bomb
+    - book
+    - bookmark
+    - briefcase
+    - building
+    - car
+    - coffee
+    - crosshairs
+    - directions
+    - dollar-sign
+    - draw-polygon
+    - eye
+    - eye-slash
+    - fighter-jet
+    - fire
+    - fire-alt
+    - fire-extinguisher
+    - flag
+    - flag-checkered
+    - flask
+    - gamepad
+    - gavel
+    - gift
+    - glass-martini
+    - globe
+    - graduation-cap
+    - h-square
+    - heart
+    - heartbeat
+    - helicopter
+    - home
+    - hospital
+    - image
+    - images
+    - industry
+    - info
+    - info-circle
+    - key
+    - landmark
+    - layer-group
+    - leaf
+    - lemon
+    - life-ring
+    - lightbulb
+    - location-arrow
+    - low-vision
+    - magnet
+    - male
+    - map
+    - map-marker
+    - map-marker-alt
+    - map-pin
+    - map-signs
+    - medkit
+    - money-bill
+    - money-bill-alt
+    - motorcycle
+    - music
+    - newspaper
+    - parking
+    - paw
+    - phone
+    - phone-alt
+    - phone-square
+    - phone-square-alt
+    - phone-volume
+    - plane
+    - plug
+    - plus
+    - plus-square
+    - print
+    - recycle
+    - restroom
+    - road
+    - rocket
+    - route
+    - search
+    - search-minus
+    - search-plus
+    - ship
+    - shoe-prints
+    - shopping-bag
+    - shopping-basket
+    - shopping-cart
+    - shower
+    - snowplow
+    - street-view
+    - subway
+    - suitcase
+    - tag
+    - tags
+    - taxi
+    - thumbtack
+    - ticket-alt
+    - tint
+    - traffic-light
+    - train
+    - tram
+    - tree
+    - trophy
+    - truck
+    - tty
+    - umbrella
+    - university
+    - utensil-spoon
+    - utensils
+    - wheelchair
+    - wifi
+    - wine-glass
+    - wrench
+  label: Maps
+maritime:
+  icons:
+    - anchor
+    - binoculars
+    - compass
+    - dharmachakra
+    - frog
+    - ship
+    - skull-crossbones
+    - swimmer
+    - water
+    - wind
+  label: Maritime
+marketing:
+  icons:
+    - ad
+    - bullhorn
+    - bullseye
+    - comment-dollar
+    - comments-dollar
+    - envelope-open-text
+    - funnel-dollar
+    - lightbulb
+    - mail-bulk
+    - poll
+    - poll-h
+    - search-dollar
+    - search-location
+  label: Marketing
+mathematics:
+  icons:
+    - calculator
+    - divide
+    - equals
+    - greater-than
+    - greater-than-equal
+    - infinity
+    - less-than
+    - less-than-equal
+    - minus
+    - not-equal
+    - percentage
+    - plus
+    - square-root-alt
+    - subscript
+    - superscript
+    - times
+    - wave-square
+  label: Mathematics
+medical:
+  icons:
+    - allergies
+    - ambulance
+    - band-aid
+    - biohazard
+    - bone
+    - bong
+    - book-medical
+    - brain
+    - briefcase-medical
+    - burn
+    - cannabis
+    - capsules
+    - clinic-medical
+    - comment-medical
+    - crutch
+    - diagnoses
+    - dna
+    - file-medical
+    - file-medical-alt
+    - file-prescription
+    - first-aid
+    - heart
+    - heartbeat
+    - hospital
+    - hospital-alt
+    - hospital-symbol
+    - id-card-alt
+    - joint
+    - laptop-medical
+    - microscope
+    - mortar-pestle
+    - notes-medical
+    - pager
+    - pills
+    - plus
+    - poop
+    - prescription
+    - prescription-bottle
+    - prescription-bottle-alt
+    - procedures
+    - radiation
+    - radiation-alt
+    - smoking
+    - smoking-ban
+    - star-of-life
+    - stethoscope
+    - syringe
+    - tablets
+    - teeth
+    - teeth-open
+    - thermometer
+    - tooth
+    - user-md
+    - user-nurse
+    - vial
+    - vials
+    - weight
+    - x-ray
+  label: Medical
+moving:
+  icons:
+    - archive
+    - box-open
+    - couch
+    - dolly
+    - people-carry
+    - route
+    - sign
+    - suitcase
+    - tape
+    - truck-loading
+    - truck-moving
+    - wine-glass
+  label: Moving
+music:
+  icons:
+    - drum
+    - drum-steelpan
+    - file-audio
+    - guitar
+    - headphones
+    - headphones-alt
+    - music
+    - napster
+    - play
+    - sliders-h
+    - soundcloud
+    - spotify
+    - volume-down
+    - volume-mute
+    - volume-off
+    - volume-up
+  label: Music
+objects:
+  icons:
+    - ambulance
+    - anchor
+    - archive
+    - award
+    - baby-carriage
+    - balance-scale
+    - balance-scale-left
+    - balance-scale-right
+    - bath
+    - bed
+    - beer
+    - bell
+    - bicycle
+    - binoculars
+    - birthday-cake
+    - blender
+    - bomb
+    - book
+    - book-dead
+    - bookmark
+    - briefcase
+    - broadcast-tower
+    - bug
+    - building
+    - bullhorn
+    - bullseye
+    - bus
+    - calculator
+    - calendar
+    - calendar-alt
+    - camera
+    - camera-retro
+    - candy-cane
+    - car
+    - carrot
+    - church
+    - clipboard
+    - cloud
+    - coffee
+    - cog
+    - cogs
+    - compass
+    - cookie
+    - cookie-bite
+    - copy
+    - cube
+    - cubes
+    - cut
+    - dice
+    - dice-d20
+    - dice-d6
+    - dice-five
+    - dice-four
+    - dice-one
+    - dice-six
+    - dice-three
+    - dice-two
+    - digital-tachograph
+    - door-closed
+    - door-open
+    - drum
+    - drum-steelpan
+    - envelope
+    - envelope-open
+    - eraser
+    - eye
+    - eye-dropper
+    - fax
+    - feather
+    - feather-alt
+    - fighter-jet
+    - file
+    - file-alt
+    - file-prescription
+    - film
+    - fire
+    - fire-alt
+    - fire-extinguisher
+    - flag
+    - flag-checkered
+    - flask
+    - futbol
+    - gamepad
+    - gavel
+    - gem
+    - gift
+    - gifts
+    - glass-cheers
+    - glass-martini
+    - glass-whiskey
+    - glasses
+    - globe
+    - graduation-cap
+    - guitar
+    - hat-wizard
+    - hdd
+    - headphones
+    - headphones-alt
+    - headset
+    - heart
+    - heart-broken
+    - helicopter
+    - highlighter
+    - holly-berry
+    - home
+    - hospital
+    - hourglass
+    - igloo
+    - image
+    - images
+    - industry
+    - key
+    - keyboard
+    - laptop
+    - leaf
+    - lemon
+    - life-ring
+    - lightbulb
+    - lock
+    - lock-open
+    - magic
+    - magnet
+    - map
+    - map-marker
+    - map-marker-alt
+    - map-pin
+    - map-signs
+    - marker
+    - medal
+    - medkit
+    - memory
+    - microchip
+    - microphone
+    - microphone-alt
+    - mitten
+    - mobile
+    - mobile-alt
+    - money-bill
+    - money-bill-alt
+    - money-check
+    - money-check-alt
+    - moon
+    - motorcycle
+    - mug-hot
+    - newspaper
+    - paint-brush
+    - paper-plane
+    - paperclip
+    - paste
+    - paw
+    - pen
+    - pen-alt
+    - pen-fancy
+    - pen-nib
+    - pencil-alt
+    - phone
+    - phone-alt
+    - plane
+    - plug
+    - print
+    - puzzle-piece
+    - ring
+    - road
+    - rocket
+    - ruler-combined
+    - ruler-horizontal
+    - ruler-vertical
+    - satellite
+    - satellite-dish
+    - save
+    - school
+    - screwdriver
+    - scroll
+    - sd-card
+    - search
+    - shield-alt
+    - shopping-bag
+    - shopping-basket
+    - shopping-cart
+    - shower
+    - sim-card
+    - skull-crossbones
+    - sleigh
+    - snowflake
+    - snowplow
+    - space-shuttle
+    - star
+    - sticky-note
+    - stopwatch
+    - stroopwafel
+    - subway
+    - suitcase
+    - sun
+    - tablet
+    - tablet-alt
+    - tachometer-alt
+    - tag
+    - tags
+    - taxi
+    - thumbtack
+    - ticket-alt
+    - toilet
+    - toolbox
+    - tools
+    - train
+    - tram
+    - trash
+    - trash-alt
+    - tree
+    - trophy
+    - truck
+    - tv
+    - umbrella
+    - university
+    - unlock
+    - unlock-alt
+    - utensil-spoon
+    - utensils
+    - wallet
+    - weight
+    - wheelchair
+    - wine-glass
+    - wrench
+  label: Objects
+payments-shopping:
+  icons:
+    - alipay
+    - amazon-pay
+    - apple-pay
+    - bell
+    - bitcoin
+    - bookmark
+    - btc
+    - bullhorn
+    - camera
+    - camera-retro
+    - cart-arrow-down
+    - cart-plus
+    - cc-amazon-pay
+    - cc-amex
+    - cc-apple-pay
+    - cc-diners-club
+    - cc-discover
+    - cc-jcb
+    - cc-mastercard
+    - cc-paypal
+    - cc-stripe
+    - cc-visa
+    - certificate
+    - credit-card
+    - ethereum
+    - gem
+    - gift
+    - google-wallet
+    - handshake
+    - heart
+    - key
+    - money-check
+    - money-check-alt
+    - paypal
+    - receipt
+    - shopping-bag
+    - shopping-basket
+    - shopping-cart
+    - star
+    - stripe
+    - stripe-s
+    - tag
+    - tags
+    - thumbs-down
+    - thumbs-up
+    - trophy
+  label: Payments & Shopping
+pharmacy:
+  icons:
+    - band-aid
+    - book-medical
+    - cannabis
+    - capsules
+    - clinic-medical
+    - eye-dropper
+    - file-medical
+    - file-prescription
+    - first-aid
+    - flask
+    - history
+    - joint
+    - laptop-medical
+    - mortar-pestle
+    - notes-medical
+    - pills
+    - prescription
+    - prescription-bottle
+    - prescription-bottle-alt
+    - receipt
+    - skull-crossbones
+    - syringe
+    - tablets
+    - thermometer
+    - vial
+    - vials
+  label: Pharmacy
+political:
+  icons:
+    - award
+    - balance-scale
+    - balance-scale-left
+    - balance-scale-right
+    - bullhorn
+    - check-double
+    - democrat
+    - donate
+    - dove
+    - fist-raised
+    - flag-usa
+    - handshake
+    - person-booth
+    - piggy-bank
+    - republican
+    - vote-yea
+  label: Political
+religion:
+  icons:
+    - ankh
+    - atom
+    - bible
+    - church
+    - cross
+    - dharmachakra
+    - dove
+    - gopuram
+    - hamsa
+    - hanukiah
+    - haykal
+    - jedi
+    - journal-whills
+    - kaaba
+    - khanda
+    - menorah
+    - mosque
+    - om
+    - pastafarianism
+    - peace
+    - place-of-worship
+    - pray
+    - praying-hands
+    - quran
+    - star-and-crescent
+    - star-of-david
+    - synagogue
+    - torah
+    - torii-gate
+    - vihara
+    - yin-yang
+  label: Religion
+science:
+  icons:
+    - atom
+    - biohazard
+    - brain
+    - burn
+    - capsules
+    - clipboard-check
+    - dna
+    - eye-dropper
+    - filter
+    - fire
+    - fire-alt
+    - flask
+    - frog
+    - magnet
+    - microscope
+    - mortar-pestle
+    - pills
+    - prescription-bottle
+    - radiation
+    - radiation-alt
+    - seedling
+    - skull-crossbones
+    - syringe
+    - tablets
+    - temperature-high
+    - temperature-low
+    - vial
+    - vials
+  label: Science
+science-fiction:
+  icons:
+    - galactic-republic
+    - galactic-senate
+    - globe
+    - jedi
+    - jedi-order
+    - journal-whills
+    - meteor
+    - moon
+    - old-republic
+    - robot
+    - rocket
+    - satellite
+    - satellite-dish
+    - space-shuttle
+    - user-astronaut
+  label: Science Fiction
+security:
+  icons:
+    - ban
+    - bug
+    - door-closed
+    - door-open
+    - dungeon
+    - eye
+    - eye-slash
+    - file-contract
+    - file-signature
+    - fingerprint
+    - id-badge
+    - id-card
+    - id-card-alt
+    - key
+    - lock
+    - lock-open
+    - mask
+    - passport
+    - shield-alt
+    - unlock
+    - unlock-alt
+    - user-lock
+    - user-secret
+    - user-shield
+  label: Security
+shapes:
+  icons:
+    - bookmark
+    - calendar
+    - certificate
+    - circle
+    - cloud
+    - comment
+    - file
+    - folder
+    - heart
+    - heart-broken
+    - map-marker
+    - play
+    - shapes
+    - square
+    - star
+  label: Shapes
+shopping:
+  icons:
+    - barcode
+    - cart-arrow-down
+    - cart-plus
+    - cash-register
+    - gift
+    - gifts
+    - person-booth
+    - receipt
+    - shipping-fast
+    - shopping-bag
+    - shopping-basket
+    - shopping-cart
+    - store
+    - store-alt
+    - truck
+    - tshirt
+  label: Shopping
+social:
+  icons:
+    - bell
+    - birthday-cake
+    - camera
+    - comment
+    - comment-alt
+    - envelope
+    - hashtag
+    - heart
+    - icons
+    - image
+    - images
+    - map-marker
+    - map-marker-alt
+    - photo-video
+    - poll
+    - poll-h
+    - retweet
+    - share
+    - share-alt
+    - share-square
+    - star
+    - thumbs-down
+    - thumbs-up
+    - thumbtack
+    - user
+    - user-circle
+    - user-friends
+    - user-plus
+    - users
+    - video
+  label: Social
+spinners:
+  icons:
+    - asterisk
+    - atom
+    - certificate
+    - circle-notch
+    - cog
+    - compact-disc
+    - compass
+    - crosshairs
+    - dharmachakra
+    - fan
+    - haykal
+    - life-ring
+    - palette
+    - ring
+    - slash
+    - snowflake
+    - spinner
+    - stroopwafel
+    - sun
+    - sync
+    - sync-alt
+    - yin-yang
+  label: Spinners
+sports:
+  icons:
+    - baseball-ball
+    - basketball-ball
+    - biking
+    - bowling-ball
+    - dumbbell
+    - football-ball
+    - futbol
+    - golf-ball
+    - hockey-puck
+    - quidditch
+    - running
+    - skating
+    - skiing
+    - skiing-nordic
+    - snowboarding
+    - swimmer
+    - table-tennis
+    - volleyball-ball
+  label: Sports
+spring:
+  icons:
+    - allergies
+    - broom
+    - cloud-sun
+    - cloud-sun-rain
+    - frog
+    - rainbow
+    - seedling
+    - umbrella
+  label: Spring
+status:
+  icons:
+    - ban
+    - battery-empty
+    - battery-full
+    - battery-half
+    - battery-quarter
+    - battery-three-quarters
+    - bell
+    - bell-slash
+    - calendar
+    - calendar-alt
+    - calendar-check
+    - calendar-day
+    - calendar-minus
+    - calendar-plus
+    - calendar-times
+    - calendar-week
+    - cart-arrow-down
+    - cart-plus
+    - comment
+    - comment-alt
+    - comment-slash
+    - compass
+    - door-closed
+    - door-open
+    - exclamation
+    - exclamation-circle
+    - exclamation-triangle
+    - eye
+    - eye-slash
+    - file
+    - file-alt
+    - folder
+    - folder-open
+    - gas-pump
+    - info
+    - info-circle
+    - lightbulb
+    - lock
+    - lock-open
+    - map-marker
+    - map-marker-alt
+    - microphone
+    - microphone-alt
+    - microphone-alt-slash
+    - microphone-slash
+    - minus
+    - minus-circle
+    - minus-square
+    - parking
+    - phone
+    - phone-alt
+    - phone-slash
+    - plus
+    - plus-circle
+    - plus-square
+    - print
+    - question
+    - question-circle
+    - shield-alt
+    - shopping-cart
+    - sign-in-alt
+    - sign-out-alt
+    - signal
+    - smoking-ban
+    - star
+    - star-half
+    - star-half-alt
+    - stream
+    - thermometer-empty
+    - thermometer-full
+    - thermometer-half
+    - thermometer-quarter
+    - thermometer-three-quarters
+    - thumbs-down
+    - thumbs-up
+    - tint
+    - tint-slash
+    - toggle-off
+    - toggle-on
+    - unlock
+    - unlock-alt
+    - user
+    - user-alt
+    - user-alt-slash
+    - user-slash
+    - video
+    - video-slash
+    - volume-down
+    - volume-mute
+    - volume-off
+    - volume-up
+    - wifi
+  label: Status
+summer:
+  icons:
+    - anchor
+    - biking
+    - fish
+    - hotdog
+    - ice-cream
+    - lemon
+    - sun
+    - swimmer
+    - swimming-pool
+    - umbrella-beach
+    - volleyball-ball
+    - water
+  label: Summer
+toggle:
+  icons:
+    - bullseye
+    - check-circle
+    - circle
+    - dot-circle
+    - star
+    - star-half
+    - star-half-alt
+    - toggle-off
+    - toggle-on
+  label: Toggle
+travel:
+  icons:
+    - archway
+    - atlas
+    - bed
+    - bus
+    - bus-alt
+    - cocktail
+    - concierge-bell
+    - dumbbell
+    - glass-martini
+    - glass-martini-alt
+    - globe-africa
+    - globe-americas
+    - globe-asia
+    - globe-europe
+    - hot-tub
+    - hotel
+    - luggage-cart
+    - map
+    - map-marked
+    - map-marked-alt
+    - monument
+    - passport
+    - plane
+    - plane-arrival
+    - plane-departure
+    - shuttle-van
+    - spa
+    - suitcase
+    - suitcase-rolling
+    - swimmer
+    - swimming-pool
+    - taxi
+    - tram
+    - umbrella-beach
+    - wine-glass
+    - wine-glass-alt
+  label: Travel
+users-people:
+  icons:
+    - accessible-icon
+    - address-book
+    - address-card
+    - baby
+    - bed
+    - biking
+    - blind
+    - chalkboard-teacher
+    - child
+    - female
+    - frown
+    - hiking
+    - id-badge
+    - id-card
+    - id-card-alt
+    - male
+    - meh
+    - people-carry
+    - person-booth
+    - poo
+    - portrait
+    - power-off
+    - pray
+    - restroom
+    - running
+    - skating
+    - skiing
+    - skiing-nordic
+    - smile
+    - snowboarding
+    - street-view
+    - swimmer
+    - user
+    - user-alt
+    - user-alt-slash
+    - user-astronaut
+    - user-check
+    - user-circle
+    - user-clock
+    - user-cog
+    - user-edit
+    - user-friends
+    - user-graduate
+    - user-injured
+    - user-lock
+    - user-md
+    - user-minus
+    - user-ninja
+    - user-nurse
+    - user-plus
+    - user-secret
+    - user-shield
+    - user-slash
+    - user-tag
+    - user-tie
+    - user-times
+    - users
+    - users-cog
+    - walking
+    - wheelchair
+  label: Users & People
+vehicles:
+  icons:
+    - accessible-icon
+    - ambulance
+    - baby-carriage
+    - bicycle
+    - bus
+    - bus-alt
+    - car
+    - car-alt
+    - car-crash
+    - car-side
+    - fighter-jet
+    - helicopter
+    - horse
+    - motorcycle
+    - paper-plane
+    - plane
+    - rocket
+    - ship
+    - shopping-cart
+    - shuttle-van
+    - sleigh
+    - snowplow
+    - space-shuttle
+    - subway
+    - taxi
+    - tractor
+    - train
+    - tram
+    - truck
+    - truck-monster
+    - truck-pickup
+    - wheelchair
+  label: Vehicles
+weather:
+  icons:
+    - bolt
+    - cloud
+    - cloud-meatball
+    - cloud-moon
+    - cloud-moon-rain
+    - cloud-rain
+    - cloud-showers-heavy
+    - cloud-sun
+    - cloud-sun-rain
+    - meteor
+    - moon
+    - poo-storm
+    - rainbow
+    - smog
+    - snowflake
+    - sun
+    - temperature-high
+    - temperature-low
+    - umbrella
+    - water
+    - wind
+  label: Weather
+winter:
+  icons:
+    - glass-whiskey
+    - icicles
+    - igloo
+    - mitten
+    - skating
+    - skiing
+    - skiing-nordic
+    - snowboarding
+    - snowplow
+    - tram
+  label: Winter
+writing:
+  icons:
+    - archive
+    - blog
+    - book
+    - bookmark
+    - edit
+    - envelope
+    - envelope-open
+    - eraser
+    - file
+    - file-alt
+    - folder
+    - folder-open
+    - keyboard
+    - newspaper
+    - paper-plane
+    - paperclip
+    - paragraph
+    - pen
+    - pen-alt
+    - pen-square
+    - pencil-alt
+    - quote-left
+    - quote-right
+    - sticky-note
+    - thumbtack
+  label: Writing

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 868 - 0
resources/fontawesome/metadata/icons.json


+ 20382 - 0
resources/fontawesome/metadata/icons.yml

@@ -0,0 +1,20382 @@
+500px:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: 500px
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f26e
+  voted: false
+accessible-icon:
+  changes:
+    - 5.0.0
+  label: Accessible Icon
+  search:
+    terms:
+      - accessibility
+      - handicap
+      - person
+      - wheelchair
+      - wheelchair-alt
+  styles:
+    - brands
+  unicode: f368
+  voted: false
+accusoft:
+  changes:
+    - 5.0.0
+  label: Accusoft
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f369
+  voted: false
+acquisitions-incorporated:
+  changes:
+    - 5.4.0
+    - 5.8.0
+  label: Acquisitions Incorporated
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - game
+      - gaming
+      - tabletop
+  styles:
+    - brands
+  unicode: f6af
+  voted: false
+ad:
+  changes:
+    - 5.3.0
+  label: Ad
+  search:
+    terms:
+      - advertisement
+      - media
+      - newspaper
+      - promotion
+      - publicity
+  styles:
+    - solid
+  unicode: f641
+  voted: false
+address-book:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.0.3
+  label: Address Book
+  search:
+    terms:
+      - contact
+      - directory
+      - index
+      - little black book
+      - rolodex
+  styles:
+    - solid
+    - regular
+  unicode: f2b9
+  voted: false
+address-card:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.0.3
+  label: Address Card
+  search:
+    terms:
+      - about
+      - contact
+      - id
+      - identification
+      - postcard
+      - profile
+  styles:
+    - solid
+    - regular
+  unicode: f2bb
+  voted: false
+adjust:
+  changes:
+    - '1'
+    - 5.0.0
+  label: adjust
+  search:
+    terms:
+      - contrast
+      - dark
+      - light
+      - saturation
+  styles:
+    - solid
+  unicode: f042
+  voted: false
+adn:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: App.net
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f170
+  voted: false
+adobe:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Adobe
+  search:
+    terms:
+      - acrobat
+      - app
+      - design
+      - illustrator
+      - indesign
+      - photoshop
+  styles:
+    - brands
+  unicode: f778
+  voted: false
+adversal:
+  changes:
+    - 5.0.0
+  label: Adversal
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f36a
+  voted: false
+affiliatetheme:
+  changes:
+    - 5.0.0
+  label: affiliatetheme
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f36b
+  voted: false
+air-freshener:
+  changes:
+    - 5.2.0
+  label: Air Freshener
+  search:
+    terms:
+      - car
+      - deodorize
+      - fresh
+      - pine
+      - scent
+  styles:
+    - solid
+  unicode: f5d0
+  voted: false
+airbnb:
+  changes:
+    - 5.8.0
+  label: Airbnb
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f834
+algolia:
+  changes:
+    - 5.0.0
+  label: Algolia
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f36c
+  voted: false
+align-center:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: align-center
+  search:
+    terms:
+      - format
+      - middle
+      - paragraph
+      - text
+  styles:
+    - solid
+  unicode: f037
+  voted: false
+align-justify:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: align-justify
+  search:
+    terms:
+      - format
+      - paragraph
+      - text
+  styles:
+    - solid
+  unicode: f039
+  voted: false
+align-left:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: align-left
+  search:
+    terms:
+      - format
+      - paragraph
+      - text
+  styles:
+    - solid
+  unicode: f036
+  voted: false
+align-right:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: align-right
+  search:
+    terms:
+      - format
+      - paragraph
+      - text
+  styles:
+    - solid
+  unicode: f038
+  voted: false
+alipay:
+  changes:
+    - 5.3.0
+  label: Alipay
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f642
+  voted: false
+allergies:
+  changes:
+    - 5.0.7
+  label: Allergies
+  search:
+    terms:
+      - allergy
+      - freckles
+      - hand
+      - hives
+      - pox
+      - skin
+      - spots
+  styles:
+    - solid
+  unicode: f461
+  voted: false
+amazon:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Amazon
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f270
+  voted: false
+amazon-pay:
+  changes:
+    - 5.0.2
+    - 5.8.0
+  label: Amazon Pay
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f42c
+  voted: false
+ambulance:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.0.7
+  label: ambulance
+  search:
+    terms:
+      - emergency
+      - emt
+      - er
+      - help
+      - hospital
+      - support
+      - vehicle
+  styles:
+    - solid
+  unicode: f0f9
+  voted: false
+american-sign-language-interpreting:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: American Sign Language Interpreting
+  search:
+    terms:
+      - asl
+      - deaf
+      - finger
+      - hand
+      - interpret
+      - speak
+  styles:
+    - solid
+  unicode: f2a3
+  voted: false
+amilia:
+  changes:
+    - 5.0.0
+  label: Amilia
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f36d
+  voted: false
+anchor:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Anchor
+  search:
+    terms:
+      - berth
+      - boat
+      - dock
+      - embed
+      - link
+      - maritime
+      - moor
+      - secure
+  styles:
+    - solid
+  unicode: f13d
+  voted: false
+android:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Android
+  search:
+    terms:
+      - robot
+  styles:
+    - brands
+  unicode: f17b
+  voted: false
+angellist:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: AngelList
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f209
+  voted: false
+angle-double-down:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Angle Double Down
+  search:
+    terms:
+      - arrows
+      - caret
+      - download
+      - expand
+  styles:
+    - solid
+  unicode: f103
+  voted: false
+angle-double-left:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Angle Double Left
+  search:
+    terms:
+      - arrows
+      - back
+      - caret
+      - laquo
+      - previous
+      - quote
+  styles:
+    - solid
+  unicode: f100
+  voted: false
+angle-double-right:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Angle Double Right
+  search:
+    terms:
+      - arrows
+      - caret
+      - forward
+      - more
+      - next
+      - quote
+      - raquo
+  styles:
+    - solid
+  unicode: f101
+  voted: false
+angle-double-up:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Angle Double Up
+  search:
+    terms:
+      - arrows
+      - caret
+      - collapse
+      - upload
+  styles:
+    - solid
+  unicode: f102
+  voted: false
+angle-down:
+  changes:
+    - '3'
+    - 5.0.0
+  label: angle-down
+  search:
+    terms:
+      - arrow
+      - caret
+      - download
+      - expand
+  styles:
+    - solid
+  unicode: f107
+  voted: false
+angle-left:
+  changes:
+    - '3'
+    - 5.0.0
+  label: angle-left
+  search:
+    terms:
+      - arrow
+      - back
+      - caret
+      - less
+      - previous
+  styles:
+    - solid
+  unicode: f104
+  voted: false
+angle-right:
+  changes:
+    - '3'
+    - 5.0.0
+  label: angle-right
+  search:
+    terms:
+      - arrow
+      - care
+      - forward
+      - more
+      - next
+  styles:
+    - solid
+  unicode: f105
+  voted: false
+angle-up:
+  changes:
+    - '3'
+    - 5.0.0
+  label: angle-up
+  search:
+    terms:
+      - arrow
+      - caret
+      - collapse
+      - upload
+  styles:
+    - solid
+  unicode: f106
+  voted: false
+angry:
+  changes:
+    - 5.1.0
+  label: Angry Face
+  search:
+    terms:
+      - disapprove
+      - emoticon
+      - face
+      - mad
+      - upset
+  styles:
+    - solid
+    - regular
+  unicode: f556
+  voted: false
+angrycreative:
+  changes:
+    - 5.0.0
+  label: Angry Creative
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f36e
+  voted: false
+angular:
+  changes:
+    - 5.0.0
+    - 5.8.0
+  label: Angular
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f420
+  voted: false
+ankh:
+  changes:
+    - 5.3.0
+  label: Ankh
+  search:
+    terms:
+      - amulet
+      - copper
+      - coptic christianity
+      - copts
+      - crux ansata
+      - egypt
+      - venus
+  styles:
+    - solid
+  unicode: f644
+  voted: false
+app-store:
+  changes:
+    - 5.0.0
+  label: App Store
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f36f
+  voted: false
+app-store-ios:
+  changes:
+    - 5.0.0
+  label: iOS App Store
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f370
+  voted: false
+apper:
+  changes:
+    - 5.0.0
+  label: Apper Systems AB
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f371
+  voted: false
+apple:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.0.7
+    - 5.8.0
+  label: Apple
+  search:
+    terms:
+      - fruit
+      - ios
+      - mac
+      - operating system
+      - os
+      - osx
+  styles:
+    - brands
+  unicode: f179
+  voted: false
+apple-alt:
+  changes:
+    - 5.2.0
+  label: Fruit Apple
+  search:
+    terms:
+      - fall
+      - fruit
+      - fuji
+      - macintosh
+      - orchard
+      - seasonal
+      - vegan
+  styles:
+    - solid
+  unicode: f5d1
+  voted: false
+apple-pay:
+  changes:
+    - 5.0.0
+  label: Apple Pay
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f415
+  voted: true
+archive:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.0.9
+  label: Archive
+  search:
+    terms:
+      - box
+      - package
+      - save
+      - storage
+  styles:
+    - solid
+  unicode: f187
+  voted: false
+archway:
+  changes:
+    - 5.1.0
+  label: Archway
+  search:
+    terms:
+      - arc
+      - monument
+      - road
+      - street
+      - tunnel
+  styles:
+    - solid
+  unicode: f557
+  voted: false
+arrow-alt-circle-down:
+  changes:
+    - 5.0.0
+  label: Alternate Arrow Circle Down
+  search:
+    terms:
+      - arrow-circle-o-down
+      - download
+  styles:
+    - solid
+    - regular
+  unicode: f358
+  voted: false
+arrow-alt-circle-left:
+  changes:
+    - 5.0.0
+  label: Alternate Arrow Circle Left
+  search:
+    terms:
+      - arrow-circle-o-left
+      - back
+      - previous
+  styles:
+    - solid
+    - regular
+  unicode: f359
+  voted: false
+arrow-alt-circle-right:
+  changes:
+    - 5.0.0
+  label: Alternate Arrow Circle Right
+  search:
+    terms:
+      - arrow-circle-o-right
+      - forward
+      - next
+  styles:
+    - solid
+    - regular
+  unicode: f35a
+  voted: false
+arrow-alt-circle-up:
+  changes:
+    - 5.0.0
+  label: Alternate Arrow Circle Up
+  search:
+    terms:
+      - arrow-circle-o-up
+  styles:
+    - solid
+    - regular
+  unicode: f35b
+  voted: false
+arrow-circle-down:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Arrow Circle Down
+  search:
+    terms:
+      - download
+  styles:
+    - solid
+  unicode: f0ab
+  voted: false
+arrow-circle-left:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Arrow Circle Left
+  search:
+    terms:
+      - back
+      - previous
+  styles:
+    - solid
+  unicode: f0a8
+  voted: false
+arrow-circle-right:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Arrow Circle Right
+  search:
+    terms:
+      - forward
+      - next
+  styles:
+    - solid
+  unicode: f0a9
+  voted: false
+arrow-circle-up:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Arrow Circle Up
+  search:
+    terms:
+      - upload
+  styles:
+    - solid
+  unicode: f0aa
+  voted: false
+arrow-down:
+  changes:
+    - '1'
+    - 5.0.0
+  label: arrow-down
+  search:
+    terms:
+      - download
+  styles:
+    - solid
+  unicode: f063
+  voted: false
+arrow-left:
+  changes:
+    - '1'
+    - 5.0.0
+  label: arrow-left
+  search:
+    terms:
+      - back
+      - previous
+  styles:
+    - solid
+  unicode: f060
+  voted: false
+arrow-right:
+  changes:
+    - '1'
+    - 5.0.0
+  label: arrow-right
+  search:
+    terms:
+      - forward
+      - next
+  styles:
+    - solid
+  unicode: f061
+  voted: false
+arrow-up:
+  changes:
+    - '1'
+    - 5.0.0
+  label: arrow-up
+  search:
+    terms:
+      - forward
+      - upload
+  styles:
+    - solid
+  unicode: f062
+  voted: false
+arrows-alt:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Alternate Arrows
+  search:
+    terms:
+      - arrow
+      - arrows
+      - bigger
+      - enlarge
+      - expand
+      - fullscreen
+      - move
+      - position
+      - reorder
+      - resize
+  styles:
+    - solid
+  unicode: f0b2
+  voted: false
+arrows-alt-h:
+  changes:
+    - 5.0.0
+  label: Alternate Arrows Horizontal
+  search:
+    terms:
+      - arrows-h
+      - expand
+      - horizontal
+      - landscape
+      - resize
+      - wide
+  styles:
+    - solid
+  unicode: f337
+  voted: false
+arrows-alt-v:
+  changes:
+    - 5.0.0
+  label: Alternate Arrows Vertical
+  search:
+    terms:
+      - arrows-v
+      - expand
+      - portrait
+      - resize
+      - tall
+      - vertical
+  styles:
+    - solid
+  unicode: f338
+  voted: false
+artstation:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Artstation
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f77a
+  voted: true
+assistive-listening-systems:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Assistive Listening Systems
+  search:
+    terms:
+      - amplify
+      - audio
+      - deaf
+      - ear
+      - headset
+      - hearing
+      - sound
+  styles:
+    - solid
+  unicode: f2a2
+  voted: false
+asterisk:
+  changes:
+    - '1'
+    - 5.0.0
+  label: asterisk
+  search:
+    terms:
+      - annotation
+      - details
+      - reference
+      - star
+  styles:
+    - solid
+  unicode: f069
+  voted: false
+asymmetrik:
+  changes:
+    - 5.0.0
+  label: 'Asymmetrik, Ltd.'
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f372
+  voted: false
+at:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: At
+  search:
+    terms:
+      - address
+      - author
+      - e-mail
+      - email
+      - handle
+  styles:
+    - solid
+  unicode: f1fa
+  voted: false
+atlas:
+  changes:
+    - 5.1.0
+  label: Atlas
+  search:
+    terms:
+      - book
+      - directions
+      - geography
+      - globe
+      - map
+      - travel
+      - wayfinding
+  styles:
+    - solid
+  unicode: f558
+  voted: false
+atlassian:
+  changes:
+    - 5.6.0
+  label: Atlassian
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f77b
+  voted: true
+atom:
+  changes:
+    - 5.2.0
+  label: Atom
+  search:
+    terms:
+      - atheism
+      - chemistry
+      - ion
+      - nuclear
+      - science
+  styles:
+    - solid
+  unicode: f5d2
+  voted: false
+audible:
+  changes:
+    - 5.0.0
+  label: Audible
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f373
+  voted: false
+audio-description:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Audio Description
+  search:
+    terms:
+      - blind
+      - narration
+      - video
+      - visual
+  styles:
+    - solid
+  unicode: f29e
+  voted: false
+autoprefixer:
+  changes:
+    - 5.0.0
+  label: Autoprefixer
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f41c
+  voted: false
+avianex:
+  changes:
+    - 5.0.0
+  label: avianex
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f374
+  voted: false
+aviato:
+  changes:
+    - 5.0.0
+  label: Aviato
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f421
+  voted: false
+award:
+  changes:
+    - 5.1.0
+    - 5.2.0
+  label: Award
+  search:
+    terms:
+      - honor
+      - praise
+      - prize
+      - recognition
+      - ribbon
+      - trophy
+  styles:
+    - solid
+  unicode: f559
+  voted: true
+aws:
+  changes:
+    - 5.0.0
+    - 5.1.0
+  label: Amazon Web Services (AWS)
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f375
+  voted: false
+baby:
+  changes:
+    - 5.6.0
+    - 5.10.1
+  label: Baby
+  search:
+    terms:
+      - child
+      - diaper
+      - doll
+      - human
+      - infant
+      - kid
+      - offspring
+      - person
+      - sprout
+  styles:
+    - solid
+  unicode: f77c
+  voted: true
+baby-carriage:
+  changes:
+    - 5.6.0
+  label: Baby Carriage
+  search:
+    terms:
+      - buggy
+      - carrier
+      - infant
+      - push
+      - stroller
+      - transportation
+      - walk
+      - wheels
+  styles:
+    - solid
+  unicode: f77d
+  voted: true
+backspace:
+  changes:
+    - 5.1.0
+  label: Backspace
+  search:
+    terms:
+      - command
+      - delete
+      - erase
+      - keyboard
+      - undo
+  styles:
+    - solid
+  unicode: f55a
+  voted: true
+backward:
+  changes:
+    - '1'
+    - 5.0.0
+  label: backward
+  search:
+    terms:
+      - previous
+      - rewind
+  styles:
+    - solid
+  unicode: f04a
+  voted: false
+bacon:
+  changes:
+    - 5.7.0
+  label: Bacon
+  search:
+    terms:
+      - blt
+      - breakfast
+      - ham
+      - lard
+      - meat
+      - pancetta
+      - pork
+      - rasher
+  styles:
+    - solid
+  unicode: f7e5
+  voted: false
+balance-scale:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.0.13
+  label: Balance Scale
+  search:
+    terms:
+      - balanced
+      - justice
+      - legal
+      - measure
+      - weight
+  styles:
+    - solid
+  unicode: f24e
+  voted: false
+balance-scale-left:
+  changes:
+    - 5.0.13
+  label: Balance Scale (Left-Weighted)
+  search:
+    terms:
+      - justice
+      - legal
+      - measure
+      - unbalanced
+      - weight
+  styles:
+    - solid
+  unicode: f515
+  voted: true
+balance-scale-right:
+  changes:
+    - 5.0.13
+  label: Balance Scale (Right-Weighted)
+  search:
+    terms:
+      - justice
+      - legal
+      - measure
+      - unbalanced
+      - weight
+  styles:
+    - solid
+  unicode: f516
+  voted: true
+ban:
+  changes:
+    - '1'
+    - 5.0.0
+  label: ban
+  search:
+    terms:
+      - abort
+      - ban
+      - block
+      - cancel
+      - delete
+      - hide
+      - prohibit
+      - remove
+      - stop
+      - trash
+  styles:
+    - solid
+  unicode: f05e
+  voted: false
+band-aid:
+  changes:
+    - 5.0.7
+  label: Band-Aid
+  search:
+    terms:
+      - bandage
+      - boo boo
+      - first aid
+      - ouch
+  styles:
+    - solid
+  unicode: f462
+  voted: false
+bandcamp:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Bandcamp
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2d5
+  voted: false
+barcode:
+  changes:
+    - '1'
+    - 5.0.0
+  label: barcode
+  search:
+    terms:
+      - info
+      - laser
+      - price
+      - scan
+      - upc
+  styles:
+    - solid
+  unicode: f02a
+  voted: false
+bars:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Bars
+  search:
+    terms:
+      - checklist
+      - drag
+      - hamburger
+      - list
+      - menu
+      - nav
+      - navigation
+      - ol
+      - reorder
+      - settings
+      - todo
+      - ul
+  styles:
+    - solid
+  unicode: f0c9
+  voted: false
+baseball-ball:
+  changes:
+    - 5.0.5
+  label: Baseball Ball
+  search:
+    terms:
+      - foul
+      - hardball
+      - league
+      - leather
+      - mlb
+      - softball
+      - sport
+  styles:
+    - solid
+  unicode: f433
+  voted: false
+basketball-ball:
+  changes:
+    - 5.0.5
+  label: Basketball Ball
+  search:
+    terms:
+      - dribble
+      - dunk
+      - hoop
+      - nba
+  styles:
+    - solid
+  unicode: f434
+  voted: false
+bath:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Bath
+  search:
+    terms:
+      - clean
+      - shower
+      - tub
+      - wash
+  styles:
+    - solid
+  unicode: f2cd
+  voted: false
+battery-empty:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Battery Empty
+  search:
+    terms:
+      - charge
+      - dead
+      - power
+      - status
+  styles:
+    - solid
+  unicode: f244
+  voted: false
+battery-full:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Battery Full
+  search:
+    terms:
+      - charge
+      - power
+      - status
+  styles:
+    - solid
+  unicode: f240
+  voted: false
+battery-half:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Battery 1/2 Full
+  search:
+    terms:
+      - charge
+      - power
+      - status
+  styles:
+    - solid
+  unicode: f242
+  voted: false
+battery-quarter:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Battery 1/4 Full
+  search:
+    terms:
+      - charge
+      - low
+      - power
+      - status
+  styles:
+    - solid
+  unicode: f243
+  voted: false
+battery-three-quarters:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Battery 3/4 Full
+  search:
+    terms:
+      - charge
+      - power
+      - status
+  styles:
+    - solid
+  unicode: f241
+  voted: false
+battle-net:
+  changes:
+    - 5.8.0
+  label: Battle.net
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f835
+bed:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.1.0
+  label: Bed
+  search:
+    terms:
+      - lodging
+      - rest
+      - sleep
+      - travel
+  styles:
+    - solid
+  unicode: f236
+  voted: false
+beer:
+  changes:
+    - '3'
+    - 5.0.0
+  label: beer
+  search:
+    terms:
+      - alcohol
+      - ale
+      - bar
+      - beverage
+      - brewery
+      - drink
+      - lager
+      - liquor
+      - mug
+      - stein
+  styles:
+    - solid
+  unicode: f0fc
+  voted: false
+behance:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Behance
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1b4
+  voted: false
+behance-square:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.0.3
+  label: Behance Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1b5
+  voted: false
+bell:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.2.0
+  label: bell
+  search:
+    terms:
+      - alarm
+      - alert
+      - chime
+      - notification
+      - reminder
+  styles:
+    - solid
+    - regular
+  unicode: f0f3
+  voted: false
+bell-slash:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.2.0
+  label: Bell Slash
+  search:
+    terms:
+      - alert
+      - cancel
+      - disabled
+      - notification
+      - 'off'
+      - reminder
+  styles:
+    - solid
+    - regular
+  unicode: f1f6
+  voted: false
+bezier-curve:
+  changes:
+    - 5.1.0
+  label: Bezier Curve
+  search:
+    terms:
+      - curves
+      - illustrator
+      - lines
+      - path
+      - vector
+  styles:
+    - solid
+  unicode: f55b
+  voted: false
+bible:
+  changes:
+    - 5.3.0
+  label: Bible
+  search:
+    terms:
+      - book
+      - catholicism
+      - christianity
+      - god
+      - holy
+  styles:
+    - solid
+  unicode: f647
+  voted: false
+bicycle:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Bicycle
+  search:
+    terms:
+      - bike
+      - gears
+      - pedal
+      - transportation
+      - vehicle
+  styles:
+    - solid
+  unicode: f206
+  voted: false
+biking:
+  changes:
+    - 5.9.0
+  label: Biking
+  search:
+    terms:
+      - bicycle
+      - bike
+      - cycle
+      - cycling
+      - ride
+      - wheel
+  styles:
+    - solid
+  unicode: f84a
+  voted: false
+bimobject:
+  changes:
+    - 5.0.0
+  label: BIMobject
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f378
+  voted: false
+binoculars:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.2.0
+  label: Binoculars
+  search:
+    terms:
+      - glasses
+      - magnify
+      - scenic
+      - spyglass
+      - view
+  styles:
+    - solid
+  unicode: f1e5
+  voted: false
+biohazard:
+  changes:
+    - 5.6.0
+    - 5.7.0
+  label: Biohazard
+  search:
+    terms:
+      - danger
+      - dangerous
+      - hazmat
+      - medical
+      - radioactive
+      - toxic
+      - waste
+      - zombie
+  styles:
+    - solid
+  unicode: f780
+  voted: true
+birthday-cake:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Birthday Cake
+  search:
+    terms:
+      - anniversary
+      - bakery
+      - candles
+      - celebration
+      - dessert
+      - frosting
+      - holiday
+      - party
+      - pastry
+  styles:
+    - solid
+  unicode: f1fd
+  voted: false
+bitbucket:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.6.0
+    - 5.8.0
+  label: Bitbucket
+  search:
+    terms:
+      - atlassian
+      - bitbucket-square
+      - git
+  styles:
+    - brands
+  unicode: f171
+  voted: false
+bitcoin:
+  changes:
+    - 5.0.0
+  label: Bitcoin
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f379
+  voted: false
+bity:
+  changes:
+    - 5.0.0
+  label: Bity
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f37a
+  voted: false
+black-tie:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Font Awesome Black Tie
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f27e
+  voted: false
+blackberry:
+  changes:
+    - 5.0.0
+  label: BlackBerry
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f37b
+  voted: false
+blender:
+  changes:
+    - 5.0.13
+  label: Blender
+  search:
+    terms:
+      - cocktail
+      - milkshake
+      - mixer
+      - puree
+      - smoothie
+  styles:
+    - solid
+  unicode: f517
+  voted: false
+blender-phone:
+  changes:
+    - 5.4.0
+  label: Blender Phone
+  search:
+    terms:
+      - appliance
+      - cocktail
+      - communication
+      - fantasy
+      - milkshake
+      - mixer
+      - puree
+      - silly
+      - smoothie
+  styles:
+    - solid
+  unicode: f6b6
+  voted: false
+blind:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Blind
+  search:
+    terms:
+      - cane
+      - disability
+      - person
+      - sight
+  styles:
+    - solid
+  unicode: f29d
+  voted: false
+blog:
+  changes:
+    - 5.6.0
+  label: Blog
+  search:
+    terms:
+      - journal
+      - log
+      - online
+      - personal
+      - post
+      - web 2.0
+      - wordpress
+      - writing
+  styles:
+    - solid
+  unicode: f781
+  voted: true
+blogger:
+  changes:
+    - 5.0.0
+  label: Blogger
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f37c
+  voted: false
+blogger-b:
+  changes:
+    - 5.0.0
+  label: Blogger B
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f37d
+  voted: false
+bluetooth:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Bluetooth
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f293
+  voted: false
+bluetooth-b:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Bluetooth
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f294
+  voted: false
+bold:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: bold
+  search:
+    terms:
+      - emphasis
+      - format
+      - text
+  styles:
+    - solid
+  unicode: f032
+  voted: false
+bolt:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.5.0
+  label: Lightning Bolt
+  search:
+    terms:
+      - electricity
+      - lightning
+      - weather
+      - zap
+  styles:
+    - solid
+  unicode: f0e7
+  voted: false
+bomb:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Bomb
+  search:
+    terms:
+      - error
+      - explode
+      - fuse
+      - grenade
+      - warning
+  styles:
+    - solid
+  unicode: f1e2
+  voted: false
+bone:
+  changes:
+    - 5.2.0
+  label: Bone
+  search:
+    terms:
+      - calcium
+      - dog
+      - skeletal
+      - skeleton
+      - tibia
+  styles:
+    - solid
+  unicode: f5d7
+  voted: false
+bong:
+  changes:
+    - 5.1.0
+  label: Bong
+  search:
+    terms:
+      - aparatus
+      - cannabis
+      - marijuana
+      - pipe
+      - smoke
+      - smoking
+  styles:
+    - solid
+  unicode: f55c
+  voted: false
+book:
+  changes:
+    - '1'
+    - 5.0.0
+  label: book
+  search:
+    terms:
+      - diary
+      - documentation
+      - journal
+      - library
+      - read
+  styles:
+    - solid
+  unicode: f02d
+  voted: false
+book-dead:
+  changes:
+    - 5.4.0
+  label: Book of the Dead
+  search:
+    terms:
+      - Dungeons & Dragons
+      - crossbones
+      - d&d
+      - dark arts
+      - death
+      - dnd
+      - documentation
+      - evil
+      - fantasy
+      - halloween
+      - holiday
+      - necronomicon
+      - read
+      - skull
+      - spell
+  styles:
+    - solid
+  unicode: f6b7
+  voted: false
+book-medical:
+  changes:
+    - 5.7.0
+  label: Medical Book
+  search:
+    terms:
+      - diary
+      - documentation
+      - health
+      - history
+      - journal
+      - library
+      - read
+      - record
+  styles:
+    - solid
+  unicode: f7e6
+  voted: false
+book-open:
+  changes:
+    - 5.0.13
+    - 5.1.0
+    - 5.2.0
+  label: Book Open
+  search:
+    terms:
+      - flyer
+      - library
+      - notebook
+      - open book
+      - pamphlet
+      - reading
+  styles:
+    - solid
+  unicode: f518
+  voted: true
+book-reader:
+  changes:
+    - 5.2.0
+  label: Book Reader
+  search:
+    terms:
+      - flyer
+      - library
+      - notebook
+      - open book
+      - pamphlet
+      - reading
+  styles:
+    - solid
+  unicode: f5da
+  voted: false
+bookmark:
+  changes:
+    - '1'
+    - 5.0.0
+  label: bookmark
+  search:
+    terms:
+      - favorite
+      - marker
+      - read
+      - remember
+      - save
+  styles:
+    - solid
+    - regular
+  unicode: f02e
+  voted: false
+bootstrap:
+  changes:
+    - 5.8.0
+  label: Bootstrap
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f836
+border-all:
+  changes:
+    - 5.9.0
+  label: Border All
+  search:
+    terms:
+      - cell
+      - grid
+      - outline
+      - stroke
+      - table
+  styles:
+    - solid
+  unicode: f84c
+  voted: false
+border-none:
+  changes:
+    - 5.9.0
+  label: Border None
+  search:
+    terms:
+      - cell
+      - grid
+      - outline
+      - stroke
+      - table
+  styles:
+    - solid
+  unicode: f850
+  voted: false
+border-style:
+  changes:
+    - 5.9.0
+  label: Border Style
+  search:
+    terms: []
+  styles:
+    - solid
+  unicode: f853
+  voted: false
+bowling-ball:
+  changes:
+    - 5.0.5
+  label: Bowling Ball
+  search:
+    terms:
+      - alley
+      - candlepin
+      - gutter
+      - lane
+      - strike
+      - tenpin
+  styles:
+    - solid
+  unicode: f436
+  voted: false
+box:
+  changes:
+    - 5.0.7
+  label: Box
+  search:
+    terms:
+      - archive
+      - container
+      - package
+      - storage
+  styles:
+    - solid
+  unicode: f466
+  voted: false
+box-open:
+  changes:
+    - 5.0.9
+    - 5.7.0
+  label: Box Open
+  search:
+    terms:
+      - archive
+      - container
+      - package
+      - storage
+      - unpack
+  styles:
+    - solid
+  unicode: f49e
+  voted: false
+boxes:
+  changes:
+    - 5.0.7
+  label: Boxes
+  search:
+    terms:
+      - archives
+      - inventory
+      - storage
+      - warehouse
+  styles:
+    - solid
+  unicode: f468
+  voted: false
+braille:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Braille
+  search:
+    terms:
+      - alphabet
+      - blind
+      - dots
+      - raised
+      - vision
+  styles:
+    - solid
+  unicode: f2a1
+  voted: false
+brain:
+  changes:
+    - 5.2.0
+    - 5.9.0
+  label: Brain
+  search:
+    terms:
+      - cerebellum
+      - gray matter
+      - intellect
+      - medulla oblongata
+      - mind
+      - noodle
+      - wit
+  styles:
+    - solid
+  unicode: f5dc
+  voted: false
+bread-slice:
+  changes:
+    - 5.7.0
+  label: Bread Slice
+  search:
+    terms:
+      - bake
+      - bakery
+      - baking
+      - dough
+      - flour
+      - gluten
+      - grain
+      - sandwich
+      - sourdough
+      - toast
+      - wheat
+      - yeast
+  styles:
+    - solid
+  unicode: f7ec
+  voted: false
+briefcase:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.3.0
+  label: Briefcase
+  search:
+    terms:
+      - bag
+      - business
+      - luggage
+      - office
+      - work
+  styles:
+    - solid
+  unicode: f0b1
+  voted: false
+briefcase-medical:
+  changes:
+    - 5.0.7
+  label: Medical Briefcase
+  search:
+    terms:
+      - doctor
+      - emt
+      - first aid
+      - health
+  styles:
+    - solid
+  unicode: f469
+  voted: false
+broadcast-tower:
+  changes:
+    - 5.0.13
+  label: Broadcast Tower
+  search:
+    terms:
+      - airwaves
+      - antenna
+      - radio
+      - reception
+      - waves
+  styles:
+    - solid
+  unicode: f519
+  voted: true
+broom:
+  changes:
+    - 5.0.13
+  label: Broom
+  search:
+    terms:
+      - clean
+      - firebolt
+      - fly
+      - halloween
+      - nimbus 2000
+      - quidditch
+      - sweep
+      - witch
+  styles:
+    - solid
+  unicode: f51a
+  voted: true
+brush:
+  changes:
+    - 5.1.0
+  label: Brush
+  search:
+    terms:
+      - art
+      - bristles
+      - color
+      - handle
+      - paint
+  styles:
+    - solid
+  unicode: f55d
+  voted: false
+btc:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: BTC
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f15a
+  voted: false
+buffer:
+  changes:
+    - 5.8.0
+  label: Buffer
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f837
+bug:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Bug
+  search:
+    terms:
+      - beetle
+      - error
+      - insect
+      - report
+  styles:
+    - solid
+  unicode: f188
+  voted: false
+building:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Building
+  search:
+    terms:
+      - apartment
+      - business
+      - city
+      - company
+      - office
+      - work
+  styles:
+    - solid
+    - regular
+  unicode: f1ad
+  voted: false
+bullhorn:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.3.0
+  label: bullhorn
+  search:
+    terms:
+      - announcement
+      - broadcast
+      - louder
+      - megaphone
+      - share
+  styles:
+    - solid
+  unicode: f0a1
+  voted: false
+bullseye:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.3.0
+    - 5.10.1
+  label: Bullseye
+  search:
+    terms:
+      - archery
+      - goal
+      - objective
+      - target
+  styles:
+    - solid
+  unicode: f140
+  voted: false
+burn:
+  changes:
+    - 5.0.7
+  label: Burn
+  search:
+    terms:
+      - caliente
+      - energy
+      - fire
+      - flame
+      - gas
+      - heat
+      - hot
+  styles:
+    - solid
+  unicode: f46a
+  voted: false
+buromobelexperte:
+  changes:
+    - 5.0.0
+  label: Büromöbel-Experte GmbH & Co. KG.
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f37f
+  voted: false
+bus:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.1.0
+  label: Bus
+  search:
+    terms:
+      - public transportation
+      - transportation
+      - travel
+      - vehicle
+  styles:
+    - solid
+  unicode: f207
+  voted: false
+bus-alt:
+  changes:
+    - 5.1.0
+  label: Bus Alt
+  search:
+    terms:
+      - mta
+      - public transportation
+      - transportation
+      - travel
+      - vehicle
+  styles:
+    - solid
+  unicode: f55e
+  voted: false
+business-time:
+  changes:
+    - 5.3.0
+  label: Business Time
+  search:
+    terms:
+      - alarm
+      - briefcase
+      - business socks
+      - clock
+      - flight of the conchords
+      - reminder
+      - wednesday
+  styles:
+    - solid
+  unicode: f64a
+  voted: false
+buysellads:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: BuySellAds
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f20d
+  voted: false
+calculator:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.3.0
+  label: Calculator
+  search:
+    terms:
+      - abacus
+      - addition
+      - arithmetic
+      - counting
+      - math
+      - multiplication
+      - subtraction
+  styles:
+    - solid
+  unicode: f1ec
+  voted: false
+calendar:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Calendar
+  search:
+    terms:
+      - calendar-o
+      - date
+      - event
+      - schedule
+      - time
+      - when
+  styles:
+    - solid
+    - regular
+  unicode: f133
+  voted: false
+calendar-alt:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.6.0
+    - 5.7.0
+  label: Alternate Calendar
+  search:
+    terms:
+      - calendar
+      - date
+      - event
+      - schedule
+      - time
+      - when
+  styles:
+    - solid
+    - regular
+  unicode: f073
+  voted: false
+calendar-check:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Calendar Check
+  search:
+    terms:
+      - accept
+      - agree
+      - appointment
+      - confirm
+      - correct
+      - date
+      - done
+      - event
+      - ok
+      - schedule
+      - select
+      - success
+      - tick
+      - time
+      - todo
+      - when
+  styles:
+    - solid
+    - regular
+  unicode: f274
+  voted: false
+calendar-day:
+  changes:
+    - 5.6.0
+  label: Calendar with Day Focus
+  search:
+    terms:
+      - date
+      - detail
+      - event
+      - focus
+      - schedule
+      - single day
+      - time
+      - today
+      - when
+  styles:
+    - solid
+  unicode: f783
+  voted: true
+calendar-minus:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Calendar Minus
+  search:
+    terms:
+      - calendar
+      - date
+      - delete
+      - event
+      - negative
+      - remove
+      - schedule
+      - time
+      - when
+  styles:
+    - solid
+    - regular
+  unicode: f272
+  voted: false
+calendar-plus:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Calendar Plus
+  search:
+    terms:
+      - add
+      - calendar
+      - create
+      - date
+      - event
+      - new
+      - positive
+      - schedule
+      - time
+      - when
+  styles:
+    - solid
+    - regular
+  unicode: f271
+  voted: false
+calendar-times:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Calendar Times
+  search:
+    terms:
+      - archive
+      - calendar
+      - date
+      - delete
+      - event
+      - remove
+      - schedule
+      - time
+      - when
+      - x
+  styles:
+    - solid
+    - regular
+  unicode: f273
+  voted: false
+calendar-week:
+  changes:
+    - 5.6.0
+  label: Calendar with Week Focus
+  search:
+    terms:
+      - date
+      - detail
+      - event
+      - focus
+      - schedule
+      - single week
+      - time
+      - today
+      - when
+  styles:
+    - solid
+  unicode: f784
+  voted: true
+camera:
+  changes:
+    - '1'
+    - 5.0.0
+  label: camera
+  search:
+    terms:
+      - image
+      - lens
+      - photo
+      - picture
+      - record
+      - shutter
+      - video
+  styles:
+    - solid
+  unicode: f030
+  voted: false
+camera-retro:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.10.1
+  label: Retro Camera
+  search:
+    terms:
+      - image
+      - lens
+      - photo
+      - picture
+      - record
+      - shutter
+      - video
+  styles:
+    - solid
+  unicode: f083
+  voted: false
+campground:
+  changes:
+    - 5.4.0
+  label: Campground
+  search:
+    terms:
+      - camping
+      - fall
+      - outdoors
+      - teepee
+      - tent
+      - tipi
+  styles:
+    - solid
+  unicode: f6bb
+  voted: false
+canadian-maple-leaf:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Canadian Maple Leaf
+  search:
+    terms:
+      - canada
+      - flag
+      - flora
+      - nature
+      - plant
+  styles:
+    - brands
+  unicode: f785
+candy-cane:
+  changes:
+    - 5.6.0
+    - 5.10.1
+  label: Candy Cane
+  search:
+    terms:
+      - candy
+      - christmas
+      - holiday
+      - mint
+      - peppermint
+      - striped
+      - xmas
+  styles:
+    - solid
+  unicode: f786
+cannabis:
+  changes:
+    - 5.1.0
+  label: Cannabis
+  search:
+    terms:
+      - bud
+      - chronic
+      - drugs
+      - endica
+      - endo
+      - ganja
+      - marijuana
+      - mary jane
+      - pot
+      - reefer
+      - sativa
+      - spliff
+      - weed
+      - whacky-tabacky
+  styles:
+    - solid
+  unicode: f55f
+  voted: false
+capsules:
+  changes:
+    - 5.0.7
+  label: Capsules
+  search:
+    terms:
+      - drugs
+      - medicine
+      - pills
+      - prescription
+  styles:
+    - solid
+  unicode: f46b
+  voted: false
+car:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.2.0
+  label: Car
+  search:
+    terms:
+      - auto
+      - automobile
+      - sedan
+      - transportation
+      - travel
+      - vehicle
+  styles:
+    - solid
+  unicode: f1b9
+  voted: false
+car-alt:
+  changes:
+    - 5.2.0
+  label: Alternate Car
+  search:
+    terms:
+      - auto
+      - automobile
+      - sedan
+      - transportation
+      - travel
+      - vehicle
+  styles:
+    - solid
+  unicode: f5de
+  voted: false
+car-battery:
+  changes:
+    - 5.2.0
+  label: Car Battery
+  search:
+    terms:
+      - auto
+      - electric
+      - mechanic
+      - power
+  styles:
+    - solid
+  unicode: f5df
+  voted: false
+car-crash:
+  changes:
+    - 5.2.0
+  label: Car Crash
+  search:
+    terms:
+      - accident
+      - auto
+      - automobile
+      - insurance
+      - sedan
+      - transportation
+      - vehicle
+      - wreck
+  styles:
+    - solid
+  unicode: f5e1
+  voted: false
+car-side:
+  changes:
+    - 5.2.0
+  label: Car Side
+  search:
+    terms:
+      - auto
+      - automobile
+      - sedan
+      - transportation
+      - travel
+      - vehicle
+  styles:
+    - solid
+  unicode: f5e4
+  voted: false
+caret-down:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Caret Down
+  search:
+    terms:
+      - arrow
+      - dropdown
+      - expand
+      - menu
+      - more
+      - triangle
+  styles:
+    - solid
+  unicode: f0d7
+  voted: false
+caret-left:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Caret Left
+  search:
+    terms:
+      - arrow
+      - back
+      - previous
+      - triangle
+  styles:
+    - solid
+  unicode: f0d9
+  voted: false
+caret-right:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Caret Right
+  search:
+    terms:
+      - arrow
+      - forward
+      - next
+      - triangle
+  styles:
+    - solid
+  unicode: f0da
+  voted: false
+caret-square-down:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Caret Square Down
+  search:
+    terms:
+      - arrow
+      - caret-square-o-down
+      - dropdown
+      - expand
+      - menu
+      - more
+      - triangle
+  styles:
+    - solid
+    - regular
+  unicode: f150
+  voted: false
+caret-square-left:
+  changes:
+    - '4'
+    - 5.0.0
+  label: Caret Square Left
+  search:
+    terms:
+      - arrow
+      - back
+      - caret-square-o-left
+      - previous
+      - triangle
+  styles:
+    - solid
+    - regular
+  unicode: f191
+  voted: false
+caret-square-right:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Caret Square Right
+  search:
+    terms:
+      - arrow
+      - caret-square-o-right
+      - forward
+      - next
+      - triangle
+  styles:
+    - solid
+    - regular
+  unicode: f152
+  voted: false
+caret-square-up:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Caret Square Up
+  search:
+    terms:
+      - arrow
+      - caret-square-o-up
+      - collapse
+      - triangle
+      - upload
+  styles:
+    - solid
+    - regular
+  unicode: f151
+  voted: false
+caret-up:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Caret Up
+  search:
+    terms:
+      - arrow
+      - collapse
+      - triangle
+  styles:
+    - solid
+  unicode: f0d8
+  voted: false
+carrot:
+  changes:
+    - 5.6.0
+    - 5.10.1
+  label: Carrot
+  search:
+    terms:
+      - bugs bunny
+      - orange
+      - vegan
+      - vegetable
+  styles:
+    - solid
+  unicode: f787
+cart-arrow-down:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Shopping Cart Arrow Down
+  search:
+    terms:
+      - download
+      - save
+      - shopping
+  styles:
+    - solid
+  unicode: f218
+  voted: false
+cart-plus:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Add to Shopping Cart
+  search:
+    terms:
+      - add
+      - create
+      - new
+      - positive
+      - shopping
+  styles:
+    - solid
+  unicode: f217
+  voted: false
+cash-register:
+  changes:
+    - 5.6.0
+  label: Cash Register
+  search:
+    terms:
+      - buy
+      - cha-ching
+      - change
+      - checkout
+      - commerce
+      - leaerboard
+      - machine
+      - pay
+      - payment
+      - purchase
+      - store
+  styles:
+    - solid
+  unicode: f788
+  voted: true
+cat:
+  changes:
+    - 5.4.0
+    - 5.10.1
+  label: Cat
+  search:
+    terms:
+      - feline
+      - halloween
+      - holiday
+      - kitten
+      - kitty
+      - meow
+      - pet
+  styles:
+    - solid
+  unicode: f6be
+  voted: true
+cc-amazon-pay:
+  changes:
+    - 5.0.2
+  label: Amazon Pay Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f42d
+  voted: false
+cc-amex:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.7.0
+  label: American Express Credit Card
+  search:
+    terms:
+      - amex
+  styles:
+    - brands
+  unicode: f1f3
+  voted: false
+cc-apple-pay:
+  changes:
+    - 5.0.0
+  label: Apple Pay Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f416
+  voted: false
+cc-diners-club:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Diner's Club Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f24c
+  voted: false
+cc-discover:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Discover Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1f2
+  voted: false
+cc-jcb:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: JCB Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f24b
+  voted: false
+cc-mastercard:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: MasterCard Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1f1
+  voted: false
+cc-paypal:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Paypal Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1f4
+  voted: false
+cc-stripe:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Stripe Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1f5
+  voted: false
+cc-visa:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Visa Credit Card
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1f0
+  voted: false
+centercode:
+  changes:
+    - 5.0.0
+  label: Centercode
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f380
+  voted: false
+centos:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Centos
+  search:
+    terms:
+      - linux
+      - operating system
+      - os
+  styles:
+    - brands
+  unicode: f789
+  voted: true
+certificate:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.10.1
+  label: certificate
+  search:
+    terms:
+      - badge
+      - star
+      - verified
+  styles:
+    - solid
+  unicode: f0a3
+  voted: false
+chair:
+  changes:
+    - 5.4.0
+  label: Chair
+  search:
+    terms:
+      - furniture
+      - seat
+      - sit
+  styles:
+    - solid
+  unicode: f6c0
+  voted: true
+chalkboard:
+  changes:
+    - 5.0.13
+  label: Chalkboard
+  search:
+    terms:
+      - blackboard
+      - learning
+      - school
+      - teaching
+      - whiteboard
+      - writing
+  styles:
+    - solid
+  unicode: f51b
+  voted: false
+chalkboard-teacher:
+  changes:
+    - 5.0.13
+  label: Chalkboard Teacher
+  search:
+    terms:
+      - blackboard
+      - instructor
+      - learning
+      - professor
+      - school
+      - whiteboard
+      - writing
+  styles:
+    - solid
+  unicode: f51c
+  voted: false
+charging-station:
+  changes:
+    - 5.2.0
+    - 5.10.1
+  label: Charging Station
+  search:
+    terms:
+      - electric
+      - ev
+      - tesla
+      - vehicle
+  styles:
+    - solid
+  unicode: f5e7
+  voted: false
+chart-area:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Area Chart
+  search:
+    terms:
+      - analytics
+      - area
+      - chart
+      - graph
+  styles:
+    - solid
+  unicode: f1fe
+  voted: false
+chart-bar:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.3.0
+  label: Bar Chart
+  search:
+    terms:
+      - analytics
+      - bar
+      - chart
+      - graph
+  styles:
+    - solid
+    - regular
+  unicode: f080
+  voted: false
+chart-line:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.3.0
+  label: Line Chart
+  search:
+    terms:
+      - activity
+      - analytics
+      - chart
+      - dashboard
+      - gain
+      - graph
+      - increase
+      - line
+  styles:
+    - solid
+  unicode: f201
+  voted: false
+chart-pie:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.3.0
+  label: Pie Chart
+  search:
+    terms:
+      - analytics
+      - chart
+      - diagram
+      - graph
+      - pie
+  styles:
+    - solid
+  unicode: f200
+  voted: false
+check:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Check
+  search:
+    terms:
+      - accept
+      - agree
+      - checkmark
+      - confirm
+      - correct
+      - done
+      - notice
+      - notification
+      - notify
+      - ok
+      - select
+      - success
+      - tick
+      - todo
+      - 'yes'
+  styles:
+    - solid
+  unicode: f00c
+  voted: false
+check-circle:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Check Circle
+  search:
+    terms:
+      - accept
+      - agree
+      - confirm
+      - correct
+      - done
+      - ok
+      - select
+      - success
+      - tick
+      - todo
+      - 'yes'
+  styles:
+    - solid
+    - regular
+  unicode: f058
+  voted: false
+check-double:
+  changes:
+    - 5.1.0
+    - 5.8.2
+  label: Double Check
+  search:
+    terms:
+      - accept
+      - agree
+      - checkmark
+      - confirm
+      - correct
+      - done
+      - notice
+      - notification
+      - notify
+      - ok
+      - select
+      - success
+      - tick
+      - todo
+  styles:
+    - solid
+  unicode: f560
+  voted: true
+check-square:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Check Square
+  search:
+    terms:
+      - accept
+      - agree
+      - checkmark
+      - confirm
+      - correct
+      - done
+      - ok
+      - select
+      - success
+      - tick
+      - todo
+      - 'yes'
+  styles:
+    - solid
+    - regular
+  unicode: f14a
+  voted: false
+cheese:
+  changes:
+    - 5.7.0
+  label: Cheese
+  search:
+    terms:
+      - cheddar
+      - curd
+      - gouda
+      - melt
+      - parmesan
+      - sandwich
+      - swiss
+      - wedge
+  styles:
+    - solid
+  unicode: f7ef
+  voted: false
+chess:
+  changes:
+    - 5.0.5
+    - 5.9.0
+  label: Chess
+  search:
+    terms:
+      - board
+      - castle
+      - checkmate
+      - game
+      - king
+      - rook
+      - strategy
+      - tournament
+  styles:
+    - solid
+  unicode: f439
+  voted: false
+chess-bishop:
+  changes:
+    - 5.0.5
+    - 5.9.0
+  label: Chess Bishop
+  search:
+    terms:
+      - board
+      - checkmate
+      - game
+      - strategy
+  styles:
+    - solid
+  unicode: f43a
+  voted: false
+chess-board:
+  changes:
+    - 5.0.5
+    - 5.7.0
+    - 5.9.0
+  label: Chess Board
+  search:
+    terms:
+      - board
+      - checkmate
+      - game
+      - strategy
+  styles:
+    - solid
+  unicode: f43c
+  voted: false
+chess-king:
+  changes:
+    - 5.0.5
+    - 5.9.0
+  label: Chess King
+  search:
+    terms:
+      - board
+      - checkmate
+      - game
+      - strategy
+  styles:
+    - solid
+  unicode: f43f
+  voted: false
+chess-knight:
+  changes:
+    - 5.0.5
+    - 5.9.0
+  label: Chess Knight
+  search:
+    terms:
+      - board
+      - checkmate
+      - game
+      - horse
+      - strategy
+  styles:
+    - solid
+  unicode: f441
+  voted: false
+chess-pawn:
+  changes:
+    - 5.0.5
+    - 5.9.0
+  label: Chess Pawn
+  search:
+    terms:
+      - board
+      - checkmate
+      - game
+      - strategy
+  styles:
+    - solid
+  unicode: f443
+  voted: false
+chess-queen:
+  changes:
+    - 5.0.5
+    - 5.9.0
+  label: Chess Queen
+  search:
+    terms:
+      - board
+      - checkmate
+      - game
+      - strategy
+  styles:
+    - solid
+  unicode: f445
+  voted: false
+chess-rook:
+  changes:
+    - 5.0.5
+    - 5.9.0
+  label: Chess Rook
+  search:
+    terms:
+      - board
+      - castle
+      - checkmate
+      - game
+      - strategy
+  styles:
+    - solid
+  unicode: f447
+  voted: false
+chevron-circle-down:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Chevron Circle Down
+  search:
+    terms:
+      - arrow
+      - download
+      - dropdown
+      - menu
+      - more
+  styles:
+    - solid
+  unicode: f13a
+  voted: false
+chevron-circle-left:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Chevron Circle Left
+  search:
+    terms:
+      - arrow
+      - back
+      - previous
+  styles:
+    - solid
+  unicode: f137
+  voted: false
+chevron-circle-right:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Chevron Circle Right
+  search:
+    terms:
+      - arrow
+      - forward
+      - next
+  styles:
+    - solid
+  unicode: f138
+  voted: false
+chevron-circle-up:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Chevron Circle Up
+  search:
+    terms:
+      - arrow
+      - collapse
+      - upload
+  styles:
+    - solid
+  unicode: f139
+  voted: false
+chevron-down:
+  changes:
+    - '1'
+    - 5.0.0
+  label: chevron-down
+  search:
+    terms:
+      - arrow
+      - download
+      - expand
+  styles:
+    - solid
+  unicode: f078
+  voted: false
+chevron-left:
+  changes:
+    - '1'
+    - 5.0.0
+  label: chevron-left
+  search:
+    terms:
+      - arrow
+      - back
+      - bracket
+      - previous
+  styles:
+    - solid
+  unicode: f053
+  voted: false
+chevron-right:
+  changes:
+    - '1'
+    - 5.0.0
+  label: chevron-right
+  search:
+    terms:
+      - arrow
+      - bracket
+      - forward
+      - next
+  styles:
+    - solid
+  unicode: f054
+  voted: false
+chevron-up:
+  changes:
+    - '1'
+    - 5.0.0
+  label: chevron-up
+  search:
+    terms:
+      - arrow
+      - collapse
+      - upload
+  styles:
+    - solid
+  unicode: f077
+  voted: false
+child:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Child
+  search:
+    terms:
+      - boy
+      - girl
+      - kid
+      - toddler
+      - young
+  styles:
+    - solid
+  unicode: f1ae
+  voted: false
+chrome:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Chrome
+  search:
+    terms:
+      - browser
+  styles:
+    - brands
+  unicode: f268
+  voted: false
+chromecast:
+  changes:
+    - 5.8.0
+  label: Chromecast
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f838
+church:
+  changes:
+    - 5.0.13
+  label: Church
+  search:
+    terms:
+      - building
+      - cathedral
+      - chapel
+      - community
+      - religion
+  styles:
+    - solid
+  unicode: f51d
+  voted: true
+circle:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.10.1
+  label: Circle
+  search:
+    terms:
+      - circle-thin
+      - diameter
+      - dot
+      - ellipse
+      - notification
+      - round
+  styles:
+    - solid
+    - regular
+  unicode: f111
+  voted: false
+circle-notch:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Circle Notched
+  search:
+    terms:
+      - circle-o-notch
+      - diameter
+      - dot
+      - ellipse
+      - round
+      - spinner
+  styles:
+    - solid
+  unicode: f1ce
+  voted: false
+city:
+  changes:
+    - 5.3.0
+  label: City
+  search:
+    terms:
+      - buildings
+      - busy
+      - skyscrapers
+      - urban
+      - windows
+  styles:
+    - solid
+  unicode: f64f
+  voted: false
+clinic-medical:
+  changes:
+    - 5.7.0
+  label: Medical Clinic
+  search:
+    terms:
+      - doctor
+      - general practitioner
+      - hospital
+      - infirmary
+      - medicine
+      - office
+      - outpatient
+  styles:
+    - solid
+  unicode: f7f2
+  voted: false
+clipboard:
+  changes:
+    - 5.0.0
+  label: Clipboard
+  search:
+    terms:
+      - copy
+      - notes
+      - paste
+      - record
+  styles:
+    - solid
+    - regular
+  unicode: f328
+  voted: false
+clipboard-check:
+  changes:
+    - 5.0.7
+  label: Clipboard with Check
+  search:
+    terms:
+      - accept
+      - agree
+      - confirm
+      - done
+      - ok
+      - select
+      - success
+      - tick
+      - todo
+      - 'yes'
+  styles:
+    - solid
+  unicode: f46c
+  voted: false
+clipboard-list:
+  changes:
+    - 5.0.7
+  label: Clipboard List
+  search:
+    terms:
+      - checklist
+      - completed
+      - done
+      - finished
+      - intinerary
+      - ol
+      - schedule
+      - tick
+      - todo
+      - ul
+  styles:
+    - solid
+  unicode: f46d
+  voted: false
+clock:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Clock
+  search:
+    terms:
+      - date
+      - late
+      - schedule
+      - time
+      - timer
+      - timestamp
+      - watch
+  styles:
+    - solid
+    - regular
+  unicode: f017
+  voted: false
+clone:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Clone
+  search:
+    terms:
+      - arrange
+      - copy
+      - duplicate
+      - paste
+  styles:
+    - solid
+    - regular
+  unicode: f24d
+  voted: false
+closed-captioning:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.10.1
+  label: Closed Captioning
+  search:
+    terms:
+      - cc
+      - deaf
+      - hearing
+      - subtitle
+      - subtitling
+      - text
+      - video
+  styles:
+    - solid
+    - regular
+  unicode: f20a
+  voted: false
+cloud:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.11
+  label: Cloud
+  search:
+    terms:
+      - atmosphere
+      - fog
+      - overcast
+      - save
+      - upload
+      - weather
+  styles:
+    - solid
+  unicode: f0c2
+  voted: false
+cloud-download-alt:
+  changes:
+    - 5.0.0
+    - 5.0.11
+  label: Alternate Cloud Download
+  search:
+    terms:
+      - download
+      - export
+      - save
+  styles:
+    - solid
+  unicode: f381
+  voted: false
+cloud-meatball:
+  changes:
+    - 5.5.0
+  label: Cloud with (a chance of) Meatball
+  search:
+    terms:
+      - FLDSMDFR
+      - food
+      - spaghetti
+      - storm
+  styles:
+    - solid
+  unicode: f73b
+  voted: false
+cloud-moon:
+  changes:
+    - 5.4.0
+    - 5.5.0
+  label: Cloud with Moon
+  search:
+    terms:
+      - crescent
+      - evening
+      - lunar
+      - night
+      - partly cloudy
+      - sky
+  styles:
+    - solid
+  unicode: f6c3
+  voted: false
+cloud-moon-rain:
+  changes:
+    - 5.5.0
+  label: Cloud with Moon and Rain
+  search:
+    terms:
+      - crescent
+      - evening
+      - lunar
+      - night
+      - partly cloudy
+      - precipitation
+      - rain
+      - sky
+      - storm
+  styles:
+    - solid
+  unicode: f73c
+  voted: false
+cloud-rain:
+  changes:
+    - 5.5.0
+  label: Cloud with Rain
+  search:
+    terms:
+      - precipitation
+      - rain
+      - sky
+      - storm
+  styles:
+    - solid
+  unicode: f73d
+  voted: false
+cloud-showers-heavy:
+  changes:
+    - 5.5.0
+  label: Cloud with Heavy Showers
+  search:
+    terms:
+      - precipitation
+      - rain
+      - sky
+      - storm
+  styles:
+    - solid
+  unicode: f740
+  voted: false
+cloud-sun:
+  changes:
+    - 5.4.0
+    - 5.5.0
+  label: Cloud with Sun
+  search:
+    terms:
+      - clear
+      - day
+      - daytime
+      - fall
+      - outdoors
+      - overcast
+      - partly cloudy
+  styles:
+    - solid
+  unicode: f6c4
+  voted: false
+cloud-sun-rain:
+  changes:
+    - 5.5.0
+  label: Cloud with Sun and Rain
+  search:
+    terms:
+      - day
+      - overcast
+      - precipitation
+      - storm
+      - summer
+      - sunshower
+  styles:
+    - solid
+  unicode: f743
+  voted: false
+cloud-upload-alt:
+  changes:
+    - 5.0.0
+    - 5.0.11
+  label: Alternate Cloud Upload
+  search:
+    terms:
+      - cloud-upload
+      - import
+      - save
+      - upload
+  styles:
+    - solid
+  unicode: f382
+  voted: false
+cloudscale:
+  changes:
+    - 5.0.0
+  label: cloudscale.ch
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f383
+  voted: false
+cloudsmith:
+  changes:
+    - 5.0.0
+  label: Cloudsmith
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f384
+  voted: false
+cloudversify:
+  changes:
+    - 5.0.0
+  label: cloudversify
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f385
+  voted: false
+cocktail:
+  changes:
+    - 5.1.0
+    - 5.10.1
+  label: Cocktail
+  search:
+    terms:
+      - alcohol
+      - beverage
+      - drink
+      - gin
+      - glass
+      - margarita
+      - martini
+      - vodka
+  styles:
+    - solid
+  unicode: f561
+  voted: false
+code:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Code
+  search:
+    terms:
+      - brackets
+      - code
+      - development
+      - html
+  styles:
+    - solid
+  unicode: f121
+  voted: false
+code-branch:
+  changes:
+    - 5.0.0
+  label: Code Branch
+  search:
+    terms:
+      - branch
+      - code-fork
+      - fork
+      - git
+      - github
+      - rebase
+      - svn
+      - vcs
+      - version
+  styles:
+    - solid
+  unicode: f126
+  voted: false
+codepen:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Codepen
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1cb
+  voted: false
+codiepie:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Codie Pie
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f284
+  voted: false
+coffee:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Coffee
+  search:
+    terms:
+      - beverage
+      - breakfast
+      - cafe
+      - drink
+      - fall
+      - morning
+      - mug
+      - seasonal
+      - tea
+  styles:
+    - solid
+  unicode: f0f4
+  voted: false
+cog:
+  changes:
+    - '1'
+    - 5.0.0
+  label: cog
+  search:
+    terms:
+      - gear
+      - mechanical
+      - settings
+      - sprocket
+      - wheel
+  styles:
+    - solid
+  unicode: f013
+  voted: false
+cogs:
+  changes:
+    - '1'
+    - 5.0.0
+  label: cogs
+  search:
+    terms:
+      - gears
+      - mechanical
+      - settings
+      - sprocket
+      - wheel
+  styles:
+    - solid
+  unicode: f085
+  voted: false
+coins:
+  changes:
+    - 5.0.13
+  label: Coins
+  search:
+    terms:
+      - currency
+      - dime
+      - financial
+      - gold
+      - money
+      - penny
+  styles:
+    - solid
+  unicode: f51e
+  voted: true
+columns:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Columns
+  search:
+    terms:
+      - browser
+      - dashboard
+      - organize
+      - panes
+      - split
+  styles:
+    - solid
+  unicode: f0db
+  voted: false
+comment:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.9
+    - 5.10.1
+  label: comment
+  search:
+    terms:
+      - bubble
+      - chat
+      - commenting
+      - conversation
+      - feedback
+      - message
+      - note
+      - notification
+      - sms
+      - speech
+      - texting
+  styles:
+    - solid
+    - regular
+  unicode: f075
+  voted: false
+comment-alt:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Alternate Comment
+  search:
+    terms:
+      - bubble
+      - chat
+      - commenting
+      - conversation
+      - feedback
+      - message
+      - note
+      - notification
+      - sms
+      - speech
+      - texting
+  styles:
+    - solid
+    - regular
+  unicode: f27a
+  voted: false
+comment-dollar:
+  changes:
+    - 5.3.0
+  label: Comment Dollar
+  search:
+    terms:
+      - bubble
+      - chat
+      - commenting
+      - conversation
+      - feedback
+      - message
+      - money
+      - note
+      - notification
+      - pay
+      - sms
+      - speech
+      - spend
+      - texting
+      - transfer
+  styles:
+    - solid
+  unicode: f651
+  voted: false
+comment-dots:
+  changes:
+    - 5.0.9
+  label: Comment Dots
+  search:
+    terms:
+      - bubble
+      - chat
+      - commenting
+      - conversation
+      - feedback
+      - message
+      - more
+      - note
+      - notification
+      - reply
+      - sms
+      - speech
+      - texting
+  styles:
+    - solid
+    - regular
+  unicode: f4ad
+  voted: false
+comment-medical:
+  changes:
+    - 5.7.0
+  label: Alternate Medical Chat
+  search:
+    terms:
+      - advice
+      - bubble
+      - chat
+      - commenting
+      - conversation
+      - diagnose
+      - feedback
+      - message
+      - note
+      - notification
+      - prescription
+      - sms
+      - speech
+      - texting
+  styles:
+    - solid
+  unicode: f7f5
+  voted: false
+comment-slash:
+  changes:
+    - 5.0.9
+  label: Comment Slash
+  search:
+    terms:
+      - bubble
+      - cancel
+      - chat
+      - commenting
+      - conversation
+      - feedback
+      - message
+      - mute
+      - note
+      - notification
+      - quiet
+      - sms
+      - speech
+      - texting
+  styles:
+    - solid
+  unicode: f4b3
+  voted: false
+comments:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.9
+  label: comments
+  search:
+    terms:
+      - bubble
+      - chat
+      - commenting
+      - conversation
+      - feedback
+      - message
+      - note
+      - notification
+      - sms
+      - speech
+      - texting
+  styles:
+    - solid
+    - regular
+  unicode: f086
+  voted: false
+comments-dollar:
+  changes:
+    - 5.3.0
+  label: Comments Dollar
+  search:
+    terms:
+      - bubble
+      - chat
+      - commenting
+      - conversation
+      - feedback
+      - message
+      - money
+      - note
+      - notification
+      - pay
+      - sms
+      - speech
+      - spend
+      - texting
+      - transfer
+  styles:
+    - solid
+  unicode: f653
+  voted: false
+compact-disc:
+  changes:
+    - 5.0.13
+    - 5.10.1
+  label: Compact Disc
+  search:
+    terms:
+      - album
+      - bluray
+      - cd
+      - disc
+      - dvd
+      - media
+      - movie
+      - music
+      - record
+      - video
+      - vinyl
+  styles:
+    - solid
+  unicode: f51f
+  voted: true
+compass:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.2.0
+  label: Compass
+  search:
+    terms:
+      - directions
+      - directory
+      - location
+      - menu
+      - navigation
+      - safari
+      - travel
+  styles:
+    - solid
+    - regular
+  unicode: f14e
+  voted: false
+compress:
+  changes:
+    - 5.0.0
+  label: Compress
+  search:
+    terms:
+      - collapse
+      - fullscreen
+      - minimize
+      - move
+      - resize
+      - shrink
+      - smaller
+  styles:
+    - solid
+  unicode: f066
+  voted: false
+compress-arrows-alt:
+  changes:
+    - 5.6.0
+  label: Alternate Compress Arrows
+  search:
+    terms:
+      - collapse
+      - fullscreen
+      - minimize
+      - move
+      - resize
+      - shrink
+      - smaller
+  styles:
+    - solid
+  unicode: f78c
+  voted: true
+concierge-bell:
+  changes:
+    - 5.1.0
+  label: Concierge Bell
+  search:
+    terms:
+      - attention
+      - hotel
+      - receptionist
+      - service
+      - support
+  styles:
+    - solid
+  unicode: f562
+  voted: false
+confluence:
+  changes:
+    - 5.6.0
+  label: Confluence
+  search:
+    terms:
+      - atlassian
+  styles:
+    - brands
+  unicode: f78d
+  voted: true
+connectdevelop:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Connect Develop
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f20e
+  voted: false
+contao:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Contao
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f26d
+  voted: false
+cookie:
+  changes:
+    - 5.1.0
+  label: Cookie
+  search:
+    terms:
+      - baked good
+      - chips
+      - chocolate
+      - eat
+      - snack
+      - sweet
+      - treat
+  styles:
+    - solid
+  unicode: f563
+  voted: true
+cookie-bite:
+  changes:
+    - 5.1.0
+  label: Cookie Bite
+  search:
+    terms:
+      - baked good
+      - bitten
+      - chips
+      - chocolate
+      - eat
+      - snack
+      - sweet
+      - treat
+  styles:
+    - solid
+  unicode: f564
+  voted: true
+copy:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Copy
+  search:
+    terms:
+      - clone
+      - duplicate
+      - file
+      - files-o
+      - paper
+      - paste
+  styles:
+    - solid
+    - regular
+  unicode: f0c5
+  voted: false
+copyright:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.10.1
+  label: Copyright
+  search:
+    terms:
+      - brand
+      - mark
+      - register
+      - trademark
+  styles:
+    - solid
+    - regular
+  unicode: f1f9
+  voted: false
+cotton-bureau:
+  changes:
+    - 5.10.0
+  label: Cotton Bureau
+  search:
+    terms:
+      - clothing
+      - t-shirts
+      - tshirts
+  styles:
+    - brands
+  unicode: f89e
+couch:
+  changes:
+    - 5.0.9
+  label: Couch
+  search:
+    terms:
+      - chair
+      - cushion
+      - furniture
+      - relax
+      - sofa
+  styles:
+    - solid
+  unicode: f4b8
+  voted: false
+cpanel:
+  changes:
+    - 5.0.0
+  label: cPanel
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f388
+  voted: false
+creative-commons:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.0.11
+    - 5.1.0
+  label: Creative Commons
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f25e
+  voted: false
+creative-commons-by:
+  changes:
+    - 5.0.11
+  label: Creative Commons Attribution
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4e7
+  voted: false
+creative-commons-nc:
+  changes:
+    - 5.0.11
+  label: Creative Commons Noncommercial
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4e8
+  voted: false
+creative-commons-nc-eu:
+  changes:
+    - 5.0.11
+  label: Creative Commons Noncommercial (Euro Sign)
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4e9
+  voted: false
+creative-commons-nc-jp:
+  changes:
+    - 5.0.11
+  label: Creative Commons Noncommercial (Yen Sign)
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4ea
+  voted: false
+creative-commons-nd:
+  changes:
+    - 5.0.11
+  label: Creative Commons No Derivative Works
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4eb
+  voted: false
+creative-commons-pd:
+  changes:
+    - 5.0.11
+  label: Creative Commons Public Domain
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4ec
+  voted: false
+creative-commons-pd-alt:
+  changes:
+    - 5.0.11
+  label: Alternate Creative Commons Public Domain
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4ed
+  voted: false
+creative-commons-remix:
+  changes:
+    - 5.0.11
+  label: Creative Commons Remix
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4ee
+  voted: false
+creative-commons-sa:
+  changes:
+    - 5.0.11
+  label: Creative Commons Share Alike
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4ef
+  voted: false
+creative-commons-sampling:
+  changes:
+    - 5.0.11
+  label: Creative Commons Sampling
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f0
+  voted: false
+creative-commons-sampling-plus:
+  changes:
+    - 5.0.11
+  label: Creative Commons Sampling +
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f1
+  voted: false
+creative-commons-share:
+  changes:
+    - 5.0.11
+  label: Creative Commons Share
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f2
+  voted: false
+creative-commons-zero:
+  changes:
+    - 5.0.11
+    - 5.4.0
+  label: Creative Commons CC0
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f3
+  voted: false
+credit-card:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Credit Card
+  search:
+    terms:
+      - buy
+      - checkout
+      - credit-card-alt
+      - debit
+      - money
+      - payment
+      - purchase
+  styles:
+    - solid
+    - regular
+  unicode: f09d
+  voted: false
+critical-role:
+  changes:
+    - 5.4.0
+    - 5.8.0
+  label: Critical Role
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - game
+      - gaming
+      - tabletop
+  styles:
+    - brands
+  unicode: f6c9
+  voted: false
+crop:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.1.0
+  label: crop
+  search:
+    terms:
+      - design
+      - frame
+      - mask
+      - resize
+      - shrink
+  styles:
+    - solid
+  unicode: f125
+  voted: false
+crop-alt:
+  changes:
+    - 5.1.0
+  label: Alternate Crop
+  search:
+    terms:
+      - design
+      - frame
+      - mask
+      - resize
+      - shrink
+  styles:
+    - solid
+  unicode: f565
+  voted: false
+cross:
+  changes:
+    - 5.3.0
+    - 5.10.1
+  label: Cross
+  search:
+    terms:
+      - catholicism
+      - christianity
+      - church
+      - jesus
+  styles:
+    - solid
+  unicode: f654
+  voted: false
+crosshairs:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Crosshairs
+  search:
+    terms:
+      - aim
+      - bullseye
+      - gpd
+      - picker
+      - position
+  styles:
+    - solid
+  unicode: f05b
+  voted: false
+crow:
+  changes:
+    - 5.0.13
+  label: Crow
+  search:
+    terms:
+      - bird
+      - bullfrog
+      - fauna
+      - halloween
+      - holiday
+      - toad
+  styles:
+    - solid
+  unicode: f520
+  voted: false
+crown:
+  changes:
+    - 5.0.13
+  label: Crown
+  search:
+    terms:
+      - award
+      - favorite
+      - king
+      - queen
+      - royal
+      - tiara
+  styles:
+    - solid
+  unicode: f521
+  voted: true
+crutch:
+  changes:
+    - 5.7.0
+  label: Crutch
+  search:
+    terms:
+      - cane
+      - injury
+      - mobility
+      - wheelchair
+  styles:
+    - solid
+  unicode: f7f7
+  voted: false
+css3:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: CSS 3 Logo
+  search:
+    terms:
+      - code
+  styles:
+    - brands
+  unicode: f13c
+  voted: false
+css3-alt:
+  changes:
+    - 5.0.0
+  label: Alternate CSS3 Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f38b
+  voted: false
+cube:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Cube
+  search:
+    terms:
+      - 3d
+      - block
+      - dice
+      - package
+      - square
+      - tesseract
+  styles:
+    - solid
+  unicode: f1b2
+  voted: false
+cubes:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Cubes
+  search:
+    terms:
+      - 3d
+      - block
+      - dice
+      - package
+      - pyramid
+      - square
+      - stack
+      - tesseract
+  styles:
+    - solid
+  unicode: f1b3
+  voted: false
+cut:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.1.0
+  label: Cut
+  search:
+    terms:
+      - clip
+      - scissors
+      - snip
+  styles:
+    - solid
+  unicode: f0c4
+  voted: false
+cuttlefish:
+  changes:
+    - 5.0.0
+  label: Cuttlefish
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f38c
+  voted: false
+d-and-d:
+  changes:
+    - 5.0.0
+  label: Dungeons & Dragons
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f38d
+  voted: false
+d-and-d-beyond:
+  changes:
+    - 5.4.0
+  label: D&D Beyond
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - gaming
+      - tabletop
+  styles:
+    - brands
+  unicode: f6ca
+  voted: false
+dashcube:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.0.3
+  label: DashCube
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f210
+  voted: false
+database:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Database
+  search:
+    terms:
+      - computer
+      - development
+      - directory
+      - memory
+      - storage
+  styles:
+    - solid
+  unicode: f1c0
+  voted: false
+deaf:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Deaf
+  search:
+    terms:
+      - ear
+      - hearing
+      - sign language
+  styles:
+    - solid
+  unicode: f2a4
+  voted: false
+delicious:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.7.0
+  label: Delicious
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a5
+  voted: false
+democrat:
+  changes:
+    - 5.5.0
+  label: Democrat
+  search:
+    terms:
+      - american
+      - democratic party
+      - donkey
+      - election
+      - left
+      - left-wing
+      - liberal
+      - politics
+      - usa
+  styles:
+    - solid
+  unicode: f747
+  voted: false
+deploydog:
+  changes:
+    - 5.0.0
+  label: deploy.dog
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f38e
+  voted: false
+deskpro:
+  changes:
+    - 5.0.0
+  label: Deskpro
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f38f
+  voted: false
+desktop:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Desktop
+  search:
+    terms:
+      - computer
+      - cpu
+      - demo
+      - desktop
+      - device
+      - imac
+      - machine
+      - monitor
+      - pc
+      - screen
+  styles:
+    - solid
+  unicode: f108
+  voted: false
+dev:
+  changes:
+    - 5.4.0
+  label: DEV
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f6cc
+  voted: true
+deviantart:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: deviantART
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1bd
+  voted: false
+dharmachakra:
+  changes:
+    - 5.3.0
+  label: Dharmachakra
+  search:
+    terms:
+      - buddhism
+      - buddhist
+      - wheel of dharma
+  styles:
+    - solid
+  unicode: f655
+  voted: false
+dhl:
+  changes:
+    - 5.6.0
+  label: DHL
+  search:
+    terms:
+      - Dalsey
+      - Hillblom and Lynn
+      - german
+      - package
+      - shipping
+  styles:
+    - brands
+  unicode: f790
+diagnoses:
+  changes:
+    - 5.0.7
+    - 5.7.0
+  label: Diagnoses
+  search:
+    terms:
+      - analyze
+      - detect
+      - diagnosis
+      - examine
+      - medicine
+  styles:
+    - solid
+  unicode: f470
+  voted: false
+diaspora:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Diaspora
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f791
+  voted: true
+dice:
+  changes:
+    - 5.0.13
+  label: Dice
+  search:
+    terms:
+      - chance
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f522
+  voted: true
+dice-d20:
+  changes:
+    - 5.4.0
+  label: Dice D20
+  search:
+    terms:
+      - Dungeons & Dragons
+      - chance
+      - d&d
+      - dnd
+      - fantasy
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f6cf
+  voted: true
+dice-d6:
+  changes:
+    - 5.4.0
+  label: Dice D6
+  search:
+    terms:
+      - Dungeons & Dragons
+      - chance
+      - d&d
+      - dnd
+      - fantasy
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f6d1
+  voted: false
+dice-five:
+  changes:
+    - 5.0.13
+  label: Dice Five
+  search:
+    terms:
+      - chance
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f523
+  voted: true
+dice-four:
+  changes:
+    - 5.0.13
+  label: Dice Four
+  search:
+    terms:
+      - chance
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f524
+  voted: true
+dice-one:
+  changes:
+    - 5.0.13
+  label: Dice One
+  search:
+    terms:
+      - chance
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f525
+  voted: true
+dice-six:
+  changes:
+    - 5.0.13
+  label: Dice Six
+  search:
+    terms:
+      - chance
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f526
+  voted: true
+dice-three:
+  changes:
+    - 5.0.13
+  label: Dice Three
+  search:
+    terms:
+      - chance
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f527
+  voted: true
+dice-two:
+  changes:
+    - 5.0.13
+  label: Dice Two
+  search:
+    terms:
+      - chance
+      - gambling
+      - game
+      - roll
+  styles:
+    - solid
+  unicode: f528
+  voted: true
+digg:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Digg Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a6
+  voted: false
+digital-ocean:
+  changes:
+    - 5.0.0
+    - 5.7.0
+  label: Digital Ocean
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f391
+  voted: false
+digital-tachograph:
+  changes:
+    - 5.1.0
+  label: Digital Tachograph
+  search:
+    terms:
+      - data
+      - distance
+      - speed
+      - tachometer
+  styles:
+    - solid
+  unicode: f566
+  voted: true
+directions:
+  changes:
+    - 5.2.0
+  label: Directions
+  search:
+    terms:
+      - map
+      - navigation
+      - sign
+      - turn
+  styles:
+    - solid
+  unicode: f5eb
+  voted: false
+discord:
+  changes:
+    - 5.0.0
+  label: Discord
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f392
+  voted: false
+discourse:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Discourse
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f393
+  voted: false
+divide:
+  changes:
+    - 5.0.13
+  label: Divide
+  search:
+    terms:
+      - arithmetic
+      - calculus
+      - division
+      - math
+  styles:
+    - solid
+  unicode: f529
+  voted: false
+dizzy:
+  changes:
+    - 5.1.0
+  label: Dizzy Face
+  search:
+    terms:
+      - dazed
+      - dead
+      - disapprove
+      - emoticon
+      - face
+  styles:
+    - solid
+    - regular
+  unicode: f567
+  voted: false
+dna:
+  changes:
+    - 5.0.7
+    - 5.0.10
+  label: DNA
+  search:
+    terms:
+      - double helix
+      - genetic
+      - helix
+      - molecule
+      - protein
+  styles:
+    - solid
+  unicode: f471
+  voted: false
+dochub:
+  changes:
+    - 5.0.0
+  label: DocHub
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f394
+  voted: false
+docker:
+  changes:
+    - 5.0.0
+  label: Docker
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f395
+  voted: false
+dog:
+  changes:
+    - 5.4.0
+  label: Dog
+  search:
+    terms:
+      - animal
+      - canine
+      - fauna
+      - mammal
+      - pet
+      - pooch
+      - puppy
+      - woof
+  styles:
+    - solid
+  unicode: f6d3
+  voted: false
+dollar-sign:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.0.9
+  label: Dollar Sign
+  search:
+    terms:
+      - $
+      - cost
+      - dollar-sign
+      - money
+      - price
+      - usd
+  styles:
+    - solid
+  unicode: f155
+  voted: false
+dolly:
+  changes:
+    - 5.0.7
+  label: Dolly
+  search:
+    terms:
+      - carry
+      - shipping
+      - transport
+  styles:
+    - solid
+  unicode: f472
+  voted: false
+dolly-flatbed:
+  changes:
+    - 5.0.7
+  label: Dolly Flatbed
+  search:
+    terms:
+      - carry
+      - inventory
+      - shipping
+      - transport
+  styles:
+    - solid
+  unicode: f474
+  voted: false
+donate:
+  changes:
+    - 5.0.9
+  label: Donate
+  search:
+    terms:
+      - contribute
+      - generosity
+      - gift
+      - give
+  styles:
+    - solid
+  unicode: f4b9
+  voted: false
+door-closed:
+  changes:
+    - 5.0.13
+  label: Door Closed
+  search:
+    terms:
+      - enter
+      - exit
+      - locked
+  styles:
+    - solid
+  unicode: f52a
+  voted: true
+door-open:
+  changes:
+    - 5.0.13
+  label: Door Open
+  search:
+    terms:
+      - enter
+      - exit
+      - welcome
+  styles:
+    - solid
+  unicode: f52b
+  voted: true
+dot-circle:
+  changes:
+    - '4'
+    - 5.0.0
+  label: Dot Circle
+  search:
+    terms:
+      - bullseye
+      - notification
+      - target
+  styles:
+    - solid
+    - regular
+  unicode: f192
+  voted: false
+dove:
+  changes:
+    - 5.0.9
+    - 5.10.1
+  label: Dove
+  search:
+    terms:
+      - bird
+      - fauna
+      - flying
+      - peace
+      - war
+  styles:
+    - solid
+  unicode: f4ba
+  voted: false
+download:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Download
+  search:
+    terms:
+      - export
+      - hard drive
+      - save
+      - transfer
+  styles:
+    - solid
+  unicode: f019
+  voted: false
+draft2digital:
+  changes:
+    - 5.0.0
+  label: Draft2digital
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f396
+  voted: false
+drafting-compass:
+  changes:
+    - 5.1.0
+  label: Drafting Compass
+  search:
+    terms:
+      - design
+      - map
+      - mechanical drawing
+      - plot
+      - plotting
+  styles:
+    - solid
+  unicode: f568
+  voted: false
+dragon:
+  changes:
+    - 5.4.0
+  label: Dragon
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - fire
+      - lizard
+      - serpent
+  styles:
+    - solid
+  unicode: f6d5
+  voted: false
+draw-polygon:
+  changes:
+    - 5.2.0
+  label: Draw Polygon
+  search:
+    terms:
+      - anchors
+      - lines
+      - object
+      - render
+      - shape
+  styles:
+    - solid
+  unicode: f5ee
+  voted: false
+dribbble:
+  changes:
+    - 5.0.0
+  label: Dribbble
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f17d
+  voted: false
+dribbble-square:
+  changes:
+    - 5.0.0
+  label: Dribbble Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f397
+  voted: false
+dropbox:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.0.1
+  label: Dropbox
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f16b
+  voted: false
+drum:
+  changes:
+    - 5.1.0
+  label: Drum
+  search:
+    terms:
+      - instrument
+      - music
+      - percussion
+      - snare
+      - sound
+  styles:
+    - solid
+  unicode: f569
+  voted: true
+drum-steelpan:
+  changes:
+    - 5.1.0
+  label: Drum Steelpan
+  search:
+    terms:
+      - calypso
+      - instrument
+      - music
+      - percussion
+      - reggae
+      - snare
+      - sound
+      - steel
+      - tropical
+  styles:
+    - solid
+  unicode: f56a
+  voted: false
+drumstick-bite:
+  changes:
+    - 5.4.0
+    - 5.7.0
+  label: Drumstick with Bite Taken Out
+  search:
+    terms:
+      - bone
+      - chicken
+      - leg
+      - meat
+      - poultry
+      - turkey
+  styles:
+    - solid
+  unicode: f6d7
+  voted: false
+drupal:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Drupal Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a9
+  voted: false
+dumbbell:
+  changes:
+    - 5.0.5
+  label: Dumbbell
+  search:
+    terms:
+      - exercise
+      - gym
+      - strength
+      - weight
+      - weight-lifting
+  styles:
+    - solid
+  unicode: f44b
+  voted: false
+dumpster:
+  changes:
+    - 5.6.0
+  label: Dumpster
+  search:
+    terms:
+      - alley
+      - bin
+      - commercial
+      - trash
+      - waste
+  styles:
+    - solid
+  unicode: f793
+  voted: true
+dumpster-fire:
+  changes:
+    - 5.6.0
+  label: Dumpster Fire
+  search:
+    terms:
+      - alley
+      - bin
+      - commercial
+      - danger
+      - dangerous
+      - euphemism
+      - flame
+      - heat
+      - hot
+      - trash
+      - waste
+  styles:
+    - solid
+  unicode: f794
+  voted: true
+dungeon:
+  changes:
+    - 5.4.0
+  label: Dungeon
+  search:
+    terms:
+      - Dungeons & Dragons
+      - building
+      - d&d
+      - dnd
+      - door
+      - entrance
+      - fantasy
+      - gate
+  styles:
+    - solid
+  unicode: f6d9
+  voted: false
+dyalog:
+  changes:
+    - 5.0.0
+  label: Dyalog
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f399
+  voted: false
+earlybirds:
+  changes:
+    - 5.0.0
+  label: Earlybirds
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f39a
+  voted: false
+ebay:
+  changes:
+    - 5.0.11
+    - 5.7.0
+  label: eBay
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f4
+  voted: true
+edge:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Edge Browser
+  search:
+    terms:
+      - browser
+      - ie
+  styles:
+    - brands
+  unicode: f282
+  voted: false
+edit:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Edit
+  search:
+    terms:
+      - edit
+      - pen
+      - pencil
+      - update
+      - write
+  styles:
+    - solid
+    - regular
+  unicode: f044
+  voted: false
+egg:
+  changes:
+    - 5.7.0
+  label: Egg
+  search:
+    terms:
+      - breakfast
+      - chicken
+      - easter
+      - shell
+      - yolk
+  styles:
+    - solid
+  unicode: f7fb
+  voted: false
+eject:
+  changes:
+    - '1'
+    - 5.0.0
+  label: eject
+  search:
+    terms:
+      - abort
+      - cancel
+      - cd
+      - discharge
+  styles:
+    - solid
+  unicode: f052
+  voted: false
+elementor:
+  changes:
+    - 5.0.3
+  label: Elementor
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f430
+  voted: true
+ellipsis-h:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Horizontal Ellipsis
+  search:
+    terms:
+      - dots
+      - drag
+      - kebab
+      - list
+      - menu
+      - nav
+      - navigation
+      - ol
+      - reorder
+      - settings
+      - ul
+  styles:
+    - solid
+  unicode: f141
+  voted: false
+ellipsis-v:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Vertical Ellipsis
+  search:
+    terms:
+      - dots
+      - drag
+      - kebab
+      - list
+      - menu
+      - nav
+      - navigation
+      - ol
+      - reorder
+      - settings
+      - ul
+  styles:
+    - solid
+  unicode: f142
+  voted: false
+ello:
+  changes:
+    - 5.2.0
+  label: Ello
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5f1
+  voted: true
+ember:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Ember
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f423
+  voted: false
+empire:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Galactic Empire
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d1
+  voted: false
+envelope:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Envelope
+  search:
+    terms:
+      - e-mail
+      - email
+      - letter
+      - mail
+      - message
+      - notification
+      - support
+  styles:
+    - solid
+    - regular
+  unicode: f0e0
+  voted: false
+envelope-open:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.10.1
+  label: Envelope Open
+  search:
+    terms:
+      - e-mail
+      - email
+      - letter
+      - mail
+      - message
+      - notification
+      - support
+  styles:
+    - solid
+    - regular
+  unicode: f2b6
+  voted: false
+envelope-open-text:
+  changes:
+    - 5.3.0
+    - 5.10.1
+  label: Envelope Open-text
+  search:
+    terms:
+      - e-mail
+      - email
+      - letter
+      - mail
+      - message
+      - notification
+      - support
+  styles:
+    - solid
+  unicode: f658
+  voted: false
+envelope-square:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Envelope Square
+  search:
+    terms:
+      - e-mail
+      - email
+      - letter
+      - mail
+      - message
+      - notification
+      - support
+  styles:
+    - solid
+  unicode: f199
+  voted: false
+envira:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Envira Gallery
+  search:
+    terms:
+      - leaf
+  styles:
+    - brands
+  unicode: f299
+  voted: false
+equals:
+  changes:
+    - 5.0.13
+  label: Equals
+  search:
+    terms:
+      - arithmetic
+      - even
+      - match
+      - math
+  styles:
+    - solid
+  unicode: f52c
+  voted: false
+eraser:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.8.0
+  label: eraser
+  search:
+    terms:
+      - art
+      - delete
+      - remove
+      - rubber
+  styles:
+    - solid
+  unicode: f12d
+  voted: false
+erlang:
+  changes:
+    - 5.0.0
+    - 5.0.3
+    - 5.7.0
+  label: Erlang
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f39d
+  voted: false
+ethereum:
+  changes:
+    - 5.0.2
+  label: Ethereum
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f42e
+  voted: true
+ethernet:
+  changes:
+    - 5.6.0
+  label: Ethernet
+  search:
+    terms:
+      - cable
+      - cat 5
+      - cat 6
+      - connection
+      - hardware
+      - internet
+      - network
+      - wired
+  styles:
+    - solid
+  unicode: f796
+  voted: true
+etsy:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Etsy
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2d7
+  voted: false
+euro-sign:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Euro Sign
+  search:
+    terms:
+      - currency
+      - dollar
+      - exchange
+      - money
+  styles:
+    - solid
+  unicode: f153
+  voted: false
+evernote:
+  changes:
+    - 5.8.0
+  label: Evernote
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f839
+exchange-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Exchange
+  search:
+    terms:
+      - arrow
+      - arrows
+      - exchange
+      - reciprocate
+      - return
+      - swap
+      - transfer
+  styles:
+    - solid
+  unicode: f362
+  voted: false
+exclamation:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.10.1
+  label: exclamation
+  search:
+    terms:
+      - alert
+      - danger
+      - error
+      - important
+      - notice
+      - notification
+      - notify
+      - problem
+      - warning
+  styles:
+    - solid
+  unicode: f12a
+  voted: false
+exclamation-circle:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Exclamation Circle
+  search:
+    terms:
+      - alert
+      - danger
+      - error
+      - important
+      - notice
+      - notification
+      - notify
+      - problem
+      - warning
+  styles:
+    - solid
+  unicode: f06a
+  voted: false
+exclamation-triangle:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.6.1
+  label: Exclamation Triangle
+  search:
+    terms:
+      - alert
+      - danger
+      - error
+      - important
+      - notice
+      - notification
+      - notify
+      - problem
+      - warning
+  styles:
+    - solid
+  unicode: f071
+  voted: false
+expand:
+  changes:
+    - 5.0.0
+  label: Expand
+  search:
+    terms:
+      - arrow
+      - bigger
+      - enlarge
+      - resize
+  styles:
+    - solid
+  unicode: f065
+  voted: false
+expand-arrows-alt:
+  changes:
+    - 5.0.0
+    - 5.8.0
+  label: Alternate Expand Arrows
+  search:
+    terms:
+      - arrows-alt
+      - bigger
+      - enlarge
+      - move
+      - resize
+  styles:
+    - solid
+  unicode: f31e
+  voted: false
+expeditedssl:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: ExpeditedSSL
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f23e
+  voted: false
+external-link-alt:
+  changes:
+    - 5.0.0
+  label: Alternate External Link
+  search:
+    terms:
+      - external-link
+      - new
+      - open
+      - share
+  styles:
+    - solid
+  unicode: f35d
+  voted: false
+external-link-square-alt:
+  changes:
+    - 5.0.0
+  label: Alternate External Link Square
+  search:
+    terms:
+      - external-link-square
+      - new
+      - open
+      - share
+  styles:
+    - solid
+  unicode: f360
+  voted: false
+eye:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.7.0
+  label: Eye
+  search:
+    terms:
+      - look
+      - optic
+      - see
+      - seen
+      - show
+      - sight
+      - views
+      - visible
+  styles:
+    - solid
+    - regular
+  unicode: f06e
+  voted: false
+eye-dropper:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.1.0
+  label: Eye Dropper
+  search:
+    terms:
+      - beaker
+      - clone
+      - color
+      - copy
+      - eyedropper
+      - pipette
+  styles:
+    - solid
+  unicode: f1fb
+  voted: false
+eye-slash:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.7.0
+  label: Eye Slash
+  search:
+    terms:
+      - blind
+      - hide
+      - show
+      - toggle
+      - unseen
+      - views
+      - visible
+      - visiblity
+  styles:
+    - solid
+    - regular
+  unicode: f070
+  voted: false
+facebook:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.8.2
+  label: Facebook
+  search:
+    terms:
+      - facebook-official
+      - social network
+  styles:
+    - brands
+  unicode: f09a
+  voted: false
+facebook-f:
+  changes:
+    - 5.0.0
+    - 5.8.2
+  label: Facebook F
+  search:
+    terms:
+      - facebook
+  styles:
+    - brands
+  unicode: f39e
+  voted: false
+facebook-messenger:
+  changes:
+    - 5.0.0
+    - 5.8.2
+    - 5.9.0
+  label: Facebook Messenger
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f39f
+  voted: false
+facebook-square:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.8.2
+  label: Facebook Square
+  search:
+    terms:
+      - social network
+  styles:
+    - brands
+  unicode: f082
+  voted: false
+fan:
+  changes:
+    - 5.9.0
+    - 5.10.1
+  label: Fan
+  search:
+    terms:
+      - ac
+      - air conditioning
+      - blade
+      - blower
+      - cool
+      - hot
+  styles:
+    - solid
+  unicode: f863
+  voted: true
+fantasy-flight-games:
+  changes:
+    - 5.4.0
+  label: Fantasy Flight-games
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - game
+      - gaming
+      - tabletop
+  styles:
+    - brands
+  unicode: f6dc
+  voted: false
+fast-backward:
+  changes:
+    - '1'
+    - 5.0.0
+  label: fast-backward
+  search:
+    terms:
+      - beginning
+      - first
+      - previous
+      - rewind
+      - start
+  styles:
+    - solid
+  unicode: f049
+  voted: false
+fast-forward:
+  changes:
+    - '1'
+    - 5.0.0
+  label: fast-forward
+  search:
+    terms:
+      - end
+      - last
+      - next
+  styles:
+    - solid
+  unicode: f050
+  voted: false
+fax:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.3.0
+  label: Fax
+  search:
+    terms:
+      - business
+      - communicate
+      - copy
+      - facsimile
+      - send
+  styles:
+    - solid
+  unicode: f1ac
+  voted: false
+feather:
+  changes:
+    - 5.0.13
+    - 5.1.0
+  label: Feather
+  search:
+    terms:
+      - bird
+      - light
+      - plucked
+      - quill
+      - write
+  styles:
+    - solid
+  unicode: f52d
+  voted: true
+feather-alt:
+  changes:
+    - 5.1.0
+  label: Alternate Feather
+  search:
+    terms:
+      - bird
+      - light
+      - plucked
+      - quill
+      - write
+  styles:
+    - solid
+  unicode: f56b
+  voted: true
+fedex:
+  changes:
+    - 5.6.0
+  label: FedEx
+  search:
+    terms:
+      - Federal Express
+      - package
+      - shipping
+  styles:
+    - brands
+  unicode: f797
+fedora:
+  changes:
+    - 5.6.0
+    - 5.6.3
+    - 5.8.0
+  label: Fedora
+  search:
+    terms:
+      - linux
+      - operating system
+      - os
+  styles:
+    - brands
+  unicode: f798
+  voted: true
+female:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Female
+  search:
+    terms:
+      - human
+      - person
+      - profile
+      - user
+      - woman
+  styles:
+    - solid
+  unicode: f182
+  voted: false
+fighter-jet:
+  changes:
+    - '3'
+    - 5.0.0
+  label: fighter-jet
+  search:
+    terms:
+      - airplane
+      - fast
+      - fly
+      - goose
+      - maverick
+      - plane
+      - quick
+      - top gun
+      - transportation
+      - travel
+  styles:
+    - solid
+  unicode: f0fb
+  voted: false
+figma:
+  changes:
+    - 5.6.0
+    - 5.7.0
+    - 5.8.0
+  label: Figma
+  search:
+    terms:
+      - app
+      - design
+      - interface
+  styles:
+    - brands
+  unicode: f799
+  voted: false
+file:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.10.1
+  label: File
+  search:
+    terms:
+      - document
+      - new
+      - page
+      - pdf
+      - resume
+  styles:
+    - solid
+    - regular
+  unicode: f15b
+  voted: false
+file-alt:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Alternate File
+  search:
+    terms:
+      - document
+      - file-text
+      - invoice
+      - new
+      - page
+      - pdf
+  styles:
+    - solid
+    - regular
+  unicode: f15c
+  voted: false
+file-archive:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.7.0
+  label: Archive File
+  search:
+    terms:
+      - .zip
+      - bundle
+      - compress
+      - compression
+      - download
+      - zip
+  styles:
+    - solid
+    - regular
+  unicode: f1c6
+  voted: false
+file-audio:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Audio File
+  search:
+    terms:
+      - document
+      - mp3
+      - music
+      - page
+      - play
+      - sound
+  styles:
+    - solid
+    - regular
+  unicode: f1c7
+  voted: false
+file-code:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Code File
+  search:
+    terms:
+      - css
+      - development
+      - document
+      - html
+  styles:
+    - solid
+    - regular
+  unicode: f1c9
+  voted: false
+file-contract:
+  changes:
+    - 5.1.0
+  label: File Contract
+  search:
+    terms:
+      - agreement
+      - binding
+      - document
+      - legal
+      - signature
+  styles:
+    - solid
+  unicode: f56c
+  voted: false
+file-csv:
+  changes:
+    - 5.4.0
+  label: File CSV
+  search:
+    terms:
+      - document
+      - excel
+      - numbers
+      - spreadsheets
+      - table
+  styles:
+    - solid
+  unicode: f6dd
+  voted: false
+file-download:
+  changes:
+    - 5.1.0
+  label: File Download
+  search:
+    terms:
+      - document
+      - export
+      - save
+  styles:
+    - solid
+  unicode: f56d
+  voted: true
+file-excel:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Excel File
+  search:
+    terms:
+      - csv
+      - document
+      - numbers
+      - spreadsheets
+      - table
+  styles:
+    - solid
+    - regular
+  unicode: f1c3
+  voted: false
+file-export:
+  changes:
+    - 5.1.0
+    - 5.7.0
+  label: File Export
+  search:
+    terms:
+      - download
+      - save
+  styles:
+    - solid
+  unicode: f56e
+  voted: true
+file-image:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Image File
+  search:
+    terms:
+      - document
+      - image
+      - jpg
+      - photo
+      - png
+  styles:
+    - solid
+    - regular
+  unicode: f1c5
+  voted: false
+file-import:
+  changes:
+    - 5.1.0
+    - 5.7.0
+  label: File Import
+  search:
+    terms:
+      - copy
+      - document
+      - send
+      - upload
+  styles:
+    - solid
+  unicode: f56f
+  voted: true
+file-invoice:
+  changes:
+    - 5.1.0
+  label: File Invoice
+  search:
+    terms:
+      - account
+      - bill
+      - charge
+      - document
+      - payment
+      - receipt
+  styles:
+    - solid
+  unicode: f570
+  voted: true
+file-invoice-dollar:
+  changes:
+    - 5.1.0
+  label: File Invoice with US Dollar
+  search:
+    terms:
+      - $
+      - account
+      - bill
+      - charge
+      - document
+      - dollar-sign
+      - money
+      - payment
+      - receipt
+      - usd
+  styles:
+    - solid
+  unicode: f571
+  voted: true
+file-medical:
+  changes:
+    - 5.0.7
+  label: Medical File
+  search:
+    terms:
+      - document
+      - health
+      - history
+      - prescription
+      - record
+  styles:
+    - solid
+  unicode: f477
+  voted: false
+file-medical-alt:
+  changes:
+    - 5.0.7
+  label: Alternate Medical File
+  search:
+    terms:
+      - document
+      - health
+      - history
+      - prescription
+      - record
+  styles:
+    - solid
+  unicode: f478
+  voted: false
+file-pdf:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: PDF File
+  search:
+    terms:
+      - acrobat
+      - document
+      - preview
+      - save
+  styles:
+    - solid
+    - regular
+  unicode: f1c1
+  voted: false
+file-powerpoint:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Powerpoint File
+  search:
+    terms:
+      - display
+      - document
+      - keynote
+      - presentation
+  styles:
+    - solid
+    - regular
+  unicode: f1c4
+  voted: false
+file-prescription:
+  changes:
+    - 5.1.0
+  label: File Prescription
+  search:
+    terms:
+      - document
+      - drugs
+      - medical
+      - medicine
+      - rx
+  styles:
+    - solid
+  unicode: f572
+  voted: false
+file-signature:
+  changes:
+    - 5.1.0
+  label: File Signature
+  search:
+    terms:
+      - John Hancock
+      - contract
+      - document
+      - name
+  styles:
+    - solid
+  unicode: f573
+  voted: true
+file-upload:
+  changes:
+    - 5.1.0
+  label: File Upload
+  search:
+    terms:
+      - document
+      - import
+      - page
+      - save
+  styles:
+    - solid
+  unicode: f574
+  voted: true
+file-video:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Video File
+  search:
+    terms:
+      - document
+      - m4v
+      - movie
+      - mp4
+      - play
+  styles:
+    - solid
+    - regular
+  unicode: f1c8
+  voted: false
+file-word:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Word File
+  search:
+    terms:
+      - document
+      - edit
+      - page
+      - text
+      - writing
+  styles:
+    - solid
+    - regular
+  unicode: f1c2
+  voted: false
+fill:
+  changes:
+    - 5.1.0
+  label: Fill
+  search:
+    terms:
+      - bucket
+      - color
+      - paint
+      - paint bucket
+  styles:
+    - solid
+  unicode: f575
+  voted: false
+fill-drip:
+  changes:
+    - 5.1.0
+  label: Fill Drip
+  search:
+    terms:
+      - bucket
+      - color
+      - drop
+      - paint
+      - paint bucket
+      - spill
+  styles:
+    - solid
+  unicode: f576
+  voted: false
+film:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Film
+  search:
+    terms:
+      - cinema
+      - movie
+      - strip
+      - video
+  styles:
+    - solid
+  unicode: f008
+  voted: false
+filter:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.10.1
+  label: Filter
+  search:
+    terms:
+      - funnel
+      - options
+      - separate
+      - sort
+  styles:
+    - solid
+  unicode: f0b0
+  voted: false
+fingerprint:
+  changes:
+    - 5.1.0
+  label: Fingerprint
+  search:
+    terms:
+      - human
+      - id
+      - identification
+      - lock
+      - smudge
+      - touch
+      - unique
+      - unlock
+  styles:
+    - solid
+  unicode: f577
+  voted: true
+fire:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.6.0
+    - 5.6.3
+    - 5.10.1
+  label: fire
+  search:
+    terms:
+      - burn
+      - caliente
+      - flame
+      - heat
+      - hot
+      - popular
+  styles:
+    - solid
+  unicode: f06d
+  voted: false
+fire-alt:
+  changes:
+    - 5.6.3
+  label: Alternate Fire
+  search:
+    terms:
+      - burn
+      - caliente
+      - flame
+      - heat
+      - hot
+      - popular
+  styles:
+    - solid
+  unicode: f7e4
+fire-extinguisher:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: fire-extinguisher
+  search:
+    terms:
+      - burn
+      - caliente
+      - fire fighter
+      - flame
+      - heat
+      - hot
+      - rescue
+  styles:
+    - solid
+  unicode: f134
+  voted: false
+firefox:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.0.1
+  label: Firefox
+  search:
+    terms:
+      - browser
+  styles:
+    - brands
+  unicode: f269
+  voted: false
+first-aid:
+  changes:
+    - 5.0.7
+  label: First Aid
+  search:
+    terms:
+      - emergency
+      - emt
+      - health
+      - medical
+      - rescue
+  styles:
+    - solid
+  unicode: f479
+  voted: false
+first-order:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: First Order
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2b0
+  voted: false
+first-order-alt:
+  changes:
+    - 5.0.12
+  label: Alternate First Order
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f50a
+  voted: false
+firstdraft:
+  changes:
+    - 5.0.0
+  label: firstdraft
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3a1
+  voted: false
+fish:
+  changes:
+    - 5.1.0
+    - 5.10.1
+  label: Fish
+  search:
+    terms:
+      - fauna
+      - gold
+      - seafood
+      - swimming
+  styles:
+    - solid
+  unicode: f578
+  voted: true
+fist-raised:
+  changes:
+    - 5.4.0
+  label: Raised Fist
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - hand
+      - ki
+      - monk
+      - resist
+      - strength
+      - unarmed combat
+  styles:
+    - solid
+  unicode: f6de
+  voted: false
+flag:
+  changes:
+    - '1'
+    - 5.0.0
+  label: flag
+  search:
+    terms:
+      - country
+      - notice
+      - notification
+      - notify
+      - pole
+      - report
+      - symbol
+  styles:
+    - solid
+    - regular
+  unicode: f024
+  voted: false
+flag-checkered:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.7.0
+    - 5.10.1
+  label: flag-checkered
+  search:
+    terms:
+      - notice
+      - notification
+      - notify
+      - pole
+      - racing
+      - report
+      - symbol
+  styles:
+    - solid
+  unicode: f11e
+  voted: false
+flag-usa:
+  changes:
+    - 5.5.0
+  label: United States of America Flag
+  search:
+    terms:
+      - betsy ross
+      - country
+      - old glory
+      - stars
+      - stripes
+      - symbol
+  styles:
+    - solid
+  unicode: f74d
+  voted: false
+flask:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Flask
+  search:
+    terms:
+      - beaker
+      - experimental
+      - labs
+      - science
+  styles:
+    - solid
+  unicode: f0c3
+  voted: false
+flickr:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Flickr
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f16e
+  voted: false
+flipboard:
+  changes:
+    - 5.0.5
+    - 5.0.9
+  label: Flipboard
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f44d
+  voted: true
+flushed:
+  changes:
+    - 5.1.0
+  label: Flushed Face
+  search:
+    terms:
+      - embarrassed
+      - emoticon
+      - face
+  styles:
+    - solid
+    - regular
+  unicode: f579
+  voted: false
+fly:
+  changes:
+    - 5.0.0
+  label: Fly
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f417
+  voted: false
+folder:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.3.0
+    - 5.10.1
+  label: Folder
+  search:
+    terms:
+      - archive
+      - directory
+      - document
+      - file
+  styles:
+    - solid
+    - regular
+  unicode: f07b
+  voted: false
+folder-minus:
+  changes:
+    - 5.3.0
+  label: Folder Minus
+  search:
+    terms:
+      - archive
+      - delete
+      - directory
+      - document
+      - file
+      - negative
+      - remove
+  styles:
+    - solid
+  unicode: f65d
+  voted: false
+folder-open:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Folder Open
+  search:
+    terms:
+      - archive
+      - directory
+      - document
+      - empty
+      - file
+      - new
+  styles:
+    - solid
+    - regular
+  unicode: f07c
+  voted: false
+folder-plus:
+  changes:
+    - 5.3.0
+  label: Folder Plus
+  search:
+    terms:
+      - add
+      - archive
+      - create
+      - directory
+      - document
+      - file
+      - new
+      - positive
+  styles:
+    - solid
+  unicode: f65e
+  voted: false
+font:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: font
+  search:
+    terms:
+      - alphabet
+      - glyph
+      - text
+      - type
+      - typeface
+  styles:
+    - solid
+  unicode: f031
+  voted: false
+font-awesome:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Font Awesome
+  search:
+    terms:
+      - meanpath
+  styles:
+    - brands
+  unicode: f2b4
+  voted: false
+font-awesome-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Font Awesome
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f35c
+  voted: false
+font-awesome-flag:
+  changes:
+    - 5.0.0
+    - 5.0.1
+  label: Font Awesome Flag
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f425
+  voted: false
+font-awesome-logo-full:
+  changes:
+    - 5.0.11
+  label: Font Awesome Full Logo
+  ligatures:
+    - Font Awesome
+  private: true
+  search:
+    terms: []
+  styles:
+    - regular
+    - solid
+    - brands
+  unicode: f4e6
+  voted: false
+fonticons:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Fonticons
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f280
+  voted: false
+fonticons-fi:
+  changes:
+    - 5.0.0
+  label: Fonticons Fi
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3a2
+  voted: false
+football-ball:
+  changes:
+    - 5.0.5
+  label: Football Ball
+  search:
+    terms:
+      - ball
+      - fall
+      - nfl
+      - pigskin
+      - seasonal
+  styles:
+    - solid
+  unicode: f44e
+  voted: false
+fort-awesome:
+  changes:
+    - '4.5'
+    - 5.0.0
+    - 5.0.3
+  label: Fort Awesome
+  search:
+    terms:
+      - castle
+  styles:
+    - brands
+  unicode: f286
+  voted: false
+fort-awesome-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Fort Awesome
+  search:
+    terms:
+      - castle
+  styles:
+    - brands
+  unicode: f3a3
+  voted: false
+forumbee:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Forumbee
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f211
+  voted: false
+forward:
+  changes:
+    - '1'
+    - 5.0.0
+  label: forward
+  search:
+    terms:
+      - forward
+      - next
+      - skip
+  styles:
+    - solid
+  unicode: f04e
+  voted: false
+foursquare:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Foursquare
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f180
+  voted: false
+free-code-camp:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Free Code Camp
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2c5
+  voted: false
+freebsd:
+  changes:
+    - 5.0.0
+  label: FreeBSD
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3a4
+  voted: false
+frog:
+  changes:
+    - 5.0.13
+  label: Frog
+  search:
+    terms:
+      - amphibian
+      - bullfrog
+      - fauna
+      - hop
+      - kermit
+      - kiss
+      - prince
+      - ribbit
+      - toad
+      - wart
+  styles:
+    - solid
+  unicode: f52e
+  voted: false
+frown:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.0.9
+    - 5.1.0
+  label: Frowning Face
+  search:
+    terms:
+      - disapprove
+      - emoticon
+      - face
+      - rating
+      - sad
+  styles:
+    - solid
+    - regular
+  unicode: f119
+  voted: false
+frown-open:
+  changes:
+    - 5.1.0
+  label: Frowning Face With Open Mouth
+  search:
+    terms:
+      - disapprove
+      - emoticon
+      - face
+      - rating
+      - sad
+  styles:
+    - solid
+    - regular
+  unicode: f57a
+  voted: false
+fulcrum:
+  changes:
+    - 5.0.12
+    - 5.8.0
+  label: Fulcrum
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f50b
+  voted: false
+funnel-dollar:
+  changes:
+    - 5.3.0
+  label: Funnel Dollar
+  search:
+    terms:
+      - filter
+      - money
+      - options
+      - separate
+      - sort
+  styles:
+    - solid
+  unicode: f662
+  voted: false
+futbol:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.0.5
+  label: Futbol
+  search:
+    terms:
+      - ball
+      - football
+      - mls
+      - soccer
+  styles:
+    - solid
+    - regular
+  unicode: f1e3
+  voted: false
+galactic-republic:
+  changes:
+    - 5.0.12
+  label: Galactic Republic
+  search:
+    terms:
+      - politics
+      - star wars
+  styles:
+    - brands
+  unicode: f50c
+  voted: false
+galactic-senate:
+  changes:
+    - 5.0.12
+  label: Galactic Senate
+  search:
+    terms:
+      - star wars
+  styles:
+    - brands
+  unicode: f50d
+  voted: false
+gamepad:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Gamepad
+  search:
+    terms:
+      - controller
+      - d-pad
+      - joystick
+      - video
+  styles:
+    - solid
+  unicode: f11b
+  voted: false
+gas-pump:
+  changes:
+    - 5.0.13
+    - 5.10.1
+  label: Gas Pump
+  search:
+    terms:
+      - car
+      - fuel
+      - gasoline
+      - petrol
+  styles:
+    - solid
+  unicode: f52f
+  voted: true
+gavel:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Gavel
+  search:
+    terms:
+      - hammer
+      - judge
+      - law
+      - lawyer
+      - opinion
+  styles:
+    - solid
+  unicode: f0e3
+  voted: false
+gem:
+  changes:
+    - 5.0.0
+    - 5.10.1
+  label: Gem
+  search:
+    terms:
+      - diamond
+      - jewelry
+      - sapphire
+      - stone
+      - treasure
+  styles:
+    - solid
+    - regular
+  unicode: f3a5
+  voted: false
+genderless:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Genderless
+  search:
+    terms:
+      - androgynous
+      - asexual
+      - sexless
+  styles:
+    - solid
+  unicode: f22d
+  voted: false
+get-pocket:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Get Pocket
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f265
+  voted: false
+gg:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: GG Currency
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f260
+  voted: false
+gg-circle:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: GG Currency Circle
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f261
+  voted: false
+ghost:
+  changes:
+    - 5.4.0
+  label: Ghost
+  search:
+    terms:
+      - apparition
+      - blinky
+      - clyde
+      - floating
+      - halloween
+      - holiday
+      - inky
+      - pinky
+      - spirit
+  styles:
+    - solid
+  unicode: f6e2
+  voted: false
+gift:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.9
+    - 5.6.0
+  label: gift
+  search:
+    terms:
+      - christmas
+      - generosity
+      - giving
+      - holiday
+      - party
+      - present
+      - wrapped
+      - xmas
+  styles:
+    - solid
+  unicode: f06b
+  voted: false
+gifts:
+  changes:
+    - 5.6.0
+  label: Gifts
+  search:
+    terms:
+      - christmas
+      - generosity
+      - giving
+      - holiday
+      - party
+      - present
+      - wrapped
+      - xmas
+  styles:
+    - solid
+  unicode: f79c
+git:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.8.2
+  label: Git
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d3
+  voted: false
+git-alt:
+  changes:
+    - 5.8.2
+  label: Git Alt
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f841
+git-square:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.8.2
+  label: Git Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d2
+  voted: false
+github:
+  changes:
+    - '2'
+    - 5.0.0
+  label: GitHub
+  search:
+    terms:
+      - octocat
+  styles:
+    - brands
+  unicode: f09b
+  voted: false
+github-alt:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Alternate GitHub
+  search:
+    terms:
+      - octocat
+  styles:
+    - brands
+  unicode: f113
+  voted: false
+github-square:
+  changes:
+    - '1'
+    - 5.0.0
+  label: GitHub Square
+  search:
+    terms:
+      - octocat
+  styles:
+    - brands
+  unicode: f092
+  voted: false
+gitkraken:
+  changes:
+    - 5.0.0
+  label: GitKraken
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3a6
+  voted: false
+gitlab:
+  changes:
+    - '4.6'
+    - 5.0.0
+    - 5.7.0
+  label: GitLab
+  search:
+    terms:
+      - Axosoft
+  styles:
+    - brands
+  unicode: f296
+  voted: false
+gitter:
+  changes:
+    - 5.0.0
+  label: Gitter
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f426
+  voted: false
+glass-cheers:
+  changes:
+    - 5.6.0
+  label: Glass Cheers
+  search:
+    terms:
+      - alcohol
+      - bar
+      - beverage
+      - celebration
+      - champagne
+      - clink
+      - drink
+      - holiday
+      - new year's eve
+      - party
+      - toast
+  styles:
+    - solid
+  unicode: f79f
+glass-martini:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.1.0
+    - 5.10.1
+  label: Martini Glass
+  search:
+    terms:
+      - alcohol
+      - bar
+      - beverage
+      - drink
+      - liquor
+  styles:
+    - solid
+  unicode: f000
+  voted: false
+glass-martini-alt:
+  changes:
+    - 5.1.0
+  label: Alternate Glass Martini
+  search:
+    terms:
+      - alcohol
+      - bar
+      - beverage
+      - drink
+      - liquor
+  styles:
+    - solid
+  unicode: f57b
+  voted: false
+glass-whiskey:
+  changes:
+    - 5.6.0
+  label: Glass Whiskey
+  search:
+    terms:
+      - alcohol
+      - bar
+      - beverage
+      - bourbon
+      - drink
+      - liquor
+      - neat
+      - rye
+      - scotch
+      - whisky
+  styles:
+    - solid
+  unicode: f7a0
+glasses:
+  changes:
+    - 5.0.13
+  label: Glasses
+  search:
+    terms:
+      - hipster
+      - nerd
+      - reading
+      - sight
+      - spectacles
+      - vision
+  styles:
+    - solid
+  unicode: f530
+  voted: true
+glide:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Glide
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2a5
+  voted: false
+glide-g:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Glide G
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2a6
+  voted: false
+globe:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.9
+  label: Globe
+  search:
+    terms:
+      - all
+      - coordinates
+      - country
+      - earth
+      - global
+      - gps
+      - language
+      - localize
+      - location
+      - map
+      - online
+      - place
+      - planet
+      - translate
+      - travel
+      - world
+  styles:
+    - solid
+  unicode: f0ac
+  voted: false
+globe-africa:
+  changes:
+    - 5.1.0
+  label: Globe with Africa shown
+  search:
+    terms:
+      - all
+      - country
+      - earth
+      - global
+      - gps
+      - language
+      - localize
+      - location
+      - map
+      - online
+      - place
+      - planet
+      - translate
+      - travel
+      - world
+  styles:
+    - solid
+  unicode: f57c
+  voted: false
+globe-americas:
+  changes:
+    - 5.1.0
+  label: Globe with Americas shown
+  search:
+    terms:
+      - all
+      - country
+      - earth
+      - global
+      - gps
+      - language
+      - localize
+      - location
+      - map
+      - online
+      - place
+      - planet
+      - translate
+      - travel
+      - world
+  styles:
+    - solid
+  unicode: f57d
+  voted: false
+globe-asia:
+  changes:
+    - 5.1.0
+  label: Globe with Asia shown
+  search:
+    terms:
+      - all
+      - country
+      - earth
+      - global
+      - gps
+      - language
+      - localize
+      - location
+      - map
+      - online
+      - place
+      - planet
+      - translate
+      - travel
+      - world
+  styles:
+    - solid
+  unicode: f57e
+  voted: false
+globe-europe:
+  changes:
+    - 5.6.0
+  label: Globe with Europe shown
+  search:
+    terms:
+      - all
+      - country
+      - earth
+      - global
+      - gps
+      - language
+      - localize
+      - location
+      - map
+      - online
+      - place
+      - planet
+      - translate
+      - travel
+      - world
+  styles:
+    - solid
+  unicode: f7a2
+  voted: true
+gofore:
+  changes:
+    - 5.0.0
+  label: Gofore
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3a7
+  voted: false
+golf-ball:
+  changes:
+    - 5.0.5
+  label: Golf Ball
+  search:
+    terms:
+      - caddy
+      - eagle
+      - putt
+      - tee
+  styles:
+    - solid
+  unicode: f450
+  voted: false
+goodreads:
+  changes:
+    - 5.0.0
+  label: Goodreads
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3a8
+  voted: false
+goodreads-g:
+  changes:
+    - 5.0.0
+  label: Goodreads G
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3a9
+  voted: false
+google:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Google Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a0
+  voted: false
+google-drive:
+  changes:
+    - 5.0.0
+  label: Google Drive
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3aa
+  voted: false
+google-play:
+  changes:
+    - 5.0.0
+  label: Google Play
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ab
+  voted: false
+google-plus:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Google Plus
+  search:
+    terms:
+      - google-plus-circle
+      - google-plus-official
+  styles:
+    - brands
+  unicode: f2b3
+  voted: false
+google-plus-g:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Google Plus G
+  search:
+    terms:
+      - google-plus
+      - social network
+  styles:
+    - brands
+  unicode: f0d5
+  voted: false
+google-plus-square:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Google Plus Square
+  search:
+    terms:
+      - social network
+  styles:
+    - brands
+  unicode: f0d4
+  voted: false
+google-wallet:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Google Wallet
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1ee
+  voted: false
+gopuram:
+  changes:
+    - 5.3.0
+    - 5.7.0
+  label: Gopuram
+  search:
+    terms:
+      - building
+      - entrance
+      - hinduism
+      - temple
+      - tower
+  styles:
+    - solid
+  unicode: f664
+  voted: false
+graduation-cap:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.2.0
+    - 5.10.1
+  label: Graduation Cap
+  search:
+    terms:
+      - ceremony
+      - college
+      - graduate
+      - learning
+      - school
+      - student
+  styles:
+    - solid
+  unicode: f19d
+  voted: false
+gratipay:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Gratipay (Gittip)
+  search:
+    terms:
+      - favorite
+      - heart
+      - like
+      - love
+  styles:
+    - brands
+  unicode: f184
+  voted: false
+grav:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Grav
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2d6
+  voted: false
+greater-than:
+  changes:
+    - 5.0.13
+  label: Greater Than
+  search:
+    terms:
+      - arithmetic
+      - compare
+      - math
+  styles:
+    - solid
+  unicode: f531
+  voted: true
+greater-than-equal:
+  changes:
+    - 5.0.13
+  label: Greater Than Equal To
+  search:
+    terms:
+      - arithmetic
+      - compare
+      - math
+  styles:
+    - solid
+  unicode: f532
+  voted: true
+grimace:
+  changes:
+    - 5.1.0
+  label: Grimacing Face
+  search:
+    terms:
+      - cringe
+      - emoticon
+      - face
+      - teeth
+  styles:
+    - solid
+    - regular
+  unicode: f57f
+  voted: false
+grin:
+  changes:
+    - 5.1.0
+  label: Grinning Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - laugh
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f580
+  voted: false
+grin-alt:
+  changes:
+    - 5.1.0
+  label: Alternate Grinning Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - laugh
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f581
+  voted: false
+grin-beam:
+  changes:
+    - 5.1.0
+  label: Grinning Face With Smiling Eyes
+  search:
+    terms:
+      - emoticon
+      - face
+      - laugh
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f582
+  voted: false
+grin-beam-sweat:
+  changes:
+    - 5.1.0
+  label: Grinning Face With Sweat
+  search:
+    terms:
+      - embarass
+      - emoticon
+      - face
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f583
+  voted: false
+grin-hearts:
+  changes:
+    - 5.1.0
+  label: Smiling Face With Heart-Eyes
+  search:
+    terms:
+      - emoticon
+      - face
+      - love
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f584
+  voted: false
+grin-squint:
+  changes:
+    - 5.1.0
+  label: Grinning Squinting Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - laugh
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f585
+  voted: false
+grin-squint-tears:
+  changes:
+    - 5.1.0
+  label: Rolling on the Floor Laughing
+  search:
+    terms:
+      - emoticon
+      - face
+      - happy
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f586
+  voted: false
+grin-stars:
+  changes:
+    - 5.1.0
+  label: Star-Struck
+  search:
+    terms:
+      - emoticon
+      - face
+      - star-struck
+  styles:
+    - solid
+    - regular
+  unicode: f587
+  voted: false
+grin-tears:
+  changes:
+    - 5.1.0
+  label: Face With Tears of Joy
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+  styles:
+    - solid
+    - regular
+  unicode: f588
+  voted: false
+grin-tongue:
+  changes:
+    - 5.1.0
+  label: Face With Tongue
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+  styles:
+    - solid
+    - regular
+  unicode: f589
+  voted: false
+grin-tongue-squint:
+  changes:
+    - 5.1.0
+  label: Squinting Face With Tongue
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+  styles:
+    - solid
+    - regular
+  unicode: f58a
+  voted: false
+grin-tongue-wink:
+  changes:
+    - 5.1.0
+  label: Winking Face With Tongue
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+  styles:
+    - solid
+    - regular
+  unicode: f58b
+  voted: false
+grin-wink:
+  changes:
+    - 5.1.0
+    - 5.1.1
+  label: Grinning Winking Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - flirt
+      - laugh
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f58c
+  voted: false
+grip-horizontal:
+  changes:
+    - 5.1.0
+  label: Grip Horizontal
+  search:
+    terms:
+      - affordance
+      - drag
+      - drop
+      - grab
+      - handle
+  styles:
+    - solid
+  unicode: f58d
+  voted: true
+grip-lines:
+  changes:
+    - 5.6.0
+  label: Grip Lines
+  search:
+    terms:
+      - affordance
+      - drag
+      - drop
+      - grab
+      - handle
+  styles:
+    - solid
+  unicode: f7a4
+  voted: true
+grip-lines-vertical:
+  changes:
+    - 5.6.0
+  label: Grip Lines Vertical
+  search:
+    terms:
+      - affordance
+      - drag
+      - drop
+      - grab
+      - handle
+  styles:
+    - solid
+  unicode: f7a5
+  voted: true
+grip-vertical:
+  changes:
+    - 5.1.0
+  label: Grip Vertical
+  search:
+    terms:
+      - affordance
+      - drag
+      - drop
+      - grab
+      - handle
+  styles:
+    - solid
+  unicode: f58e
+  voted: true
+gripfire:
+  changes:
+    - 5.0.0
+  label: 'Gripfire, Inc.'
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ac
+  voted: false
+grunt:
+  changes:
+    - 5.0.0
+  label: Grunt
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ad
+  voted: false
+guitar:
+  changes:
+    - 5.6.0
+  label: Guitar
+  search:
+    terms:
+      - acoustic
+      - instrument
+      - music
+      - rock
+      - rock and roll
+      - song
+      - strings
+  styles:
+    - solid
+  unicode: f7a6
+  voted: true
+gulp:
+  changes:
+    - 5.0.0
+  label: Gulp
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ae
+  voted: false
+h-square:
+  changes:
+    - '3'
+    - 5.0.0
+  label: H Square
+  search:
+    terms:
+      - directions
+      - emergency
+      - hospital
+      - hotel
+      - map
+  styles:
+    - solid
+  unicode: f0fd
+  voted: false
+hacker-news:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Hacker News
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d4
+  voted: false
+hacker-news-square:
+  changes:
+    - 5.0.0
+  label: Hacker News Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3af
+  voted: false
+hackerrank:
+  changes:
+    - 5.2.0
+    - 5.8.0
+  label: Hackerrank
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5f7
+  voted: true
+hamburger:
+  changes:
+    - 5.7.0
+  label: Hamburger
+  search:
+    terms:
+      - bacon
+      - beef
+      - burger
+      - burger king
+      - cheeseburger
+      - fast food
+      - grill
+      - ground beef
+      - mcdonalds
+      - sandwich
+  styles:
+    - solid
+  unicode: f805
+  voted: false
+hammer:
+  changes:
+    - 5.4.0
+  label: Hammer
+  search:
+    terms:
+      - admin
+      - fix
+      - repair
+      - settings
+      - tool
+  styles:
+    - solid
+  unicode: f6e3
+  voted: true
+hamsa:
+  changes:
+    - 5.3.0
+  label: Hamsa
+  search:
+    terms:
+      - amulet
+      - christianity
+      - islam
+      - jewish
+      - judaism
+      - muslim
+      - protection
+  styles:
+    - solid
+  unicode: f665
+  voted: false
+hand-holding:
+  changes:
+    - 5.0.9
+  label: Hand Holding
+  search:
+    terms:
+      - carry
+      - lift
+  styles:
+    - solid
+  unicode: f4bd
+  voted: false
+hand-holding-heart:
+  changes:
+    - 5.0.9
+  label: Hand Holding Heart
+  search:
+    terms:
+      - carry
+      - charity
+      - gift
+      - lift
+      - package
+  styles:
+    - solid
+  unicode: f4be
+  voted: false
+hand-holding-usd:
+  changes:
+    - 5.0.9
+  label: Hand Holding US Dollar
+  search:
+    terms:
+      - $
+      - carry
+      - dollar sign
+      - donation
+      - giving
+      - lift
+      - money
+      - price
+  styles:
+    - solid
+  unicode: f4c0
+  voted: false
+hand-lizard:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Lizard (Hand)
+  search:
+    terms:
+      - game
+      - roshambo
+  styles:
+    - solid
+    - regular
+  unicode: f258
+  voted: false
+hand-middle-finger:
+  changes:
+    - 5.7.0
+  label: Hand with Middle Finger Raised
+  search:
+    terms:
+      - flip the bird
+      - gesture
+      - hate
+      - rude
+  styles:
+    - solid
+  unicode: f806
+  voted: true
+hand-paper:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Paper (Hand)
+  search:
+    terms:
+      - game
+      - halt
+      - roshambo
+      - stop
+  styles:
+    - solid
+    - regular
+  unicode: f256
+  voted: false
+hand-peace:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Peace (Hand)
+  search:
+    terms:
+      - rest
+      - truce
+  styles:
+    - solid
+    - regular
+  unicode: f25b
+  voted: false
+hand-point-down:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Hand Pointing Down
+  search:
+    terms:
+      - finger
+      - hand-o-down
+      - point
+  styles:
+    - solid
+    - regular
+  unicode: f0a7
+  voted: false
+hand-point-left:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Hand Pointing Left
+  search:
+    terms:
+      - back
+      - finger
+      - hand-o-left
+      - left
+      - point
+      - previous
+  styles:
+    - solid
+    - regular
+  unicode: f0a5
+  voted: false
+hand-point-right:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Hand Pointing Right
+  search:
+    terms:
+      - finger
+      - forward
+      - hand-o-right
+      - next
+      - point
+      - right
+  styles:
+    - solid
+    - regular
+  unicode: f0a4
+  voted: false
+hand-point-up:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Hand Pointing Up
+  search:
+    terms:
+      - finger
+      - hand-o-up
+      - point
+  styles:
+    - solid
+    - regular
+  unicode: f0a6
+  voted: false
+hand-pointer:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Pointer (Hand)
+  search:
+    terms:
+      - arrow
+      - cursor
+      - select
+  styles:
+    - solid
+    - regular
+  unicode: f25a
+  voted: false
+hand-rock:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Rock (Hand)
+  search:
+    terms:
+      - fist
+      - game
+      - roshambo
+  styles:
+    - solid
+    - regular
+  unicode: f255
+  voted: false
+hand-scissors:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Scissors (Hand)
+  search:
+    terms:
+      - cut
+      - game
+      - roshambo
+  styles:
+    - solid
+    - regular
+  unicode: f257
+  voted: false
+hand-spock:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Spock (Hand)
+  search:
+    terms:
+      - live long
+      - prosper
+      - salute
+      - star trek
+      - vulcan
+  styles:
+    - solid
+    - regular
+  unicode: f259
+  voted: false
+hands:
+  changes:
+    - 5.0.9
+  label: Hands
+  search:
+    terms:
+      - carry
+      - hold
+      - lift
+  styles:
+    - solid
+  unicode: f4c2
+  voted: false
+hands-helping:
+  changes:
+    - 5.0.9
+  label: Helping Hands
+  search:
+    terms:
+      - aid
+      - assistance
+      - handshake
+      - partnership
+      - volunteering
+  styles:
+    - solid
+  unicode: f4c4
+  voted: false
+handshake:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.0.9
+  label: Handshake
+  search:
+    terms:
+      - agreement
+      - greeting
+      - meeting
+      - partnership
+  styles:
+    - solid
+    - regular
+  unicode: f2b5
+  voted: false
+hanukiah:
+  changes:
+    - 5.4.0
+  label: Hanukiah
+  search:
+    terms:
+      - candle
+      - hanukkah
+      - jewish
+      - judaism
+      - light
+  styles:
+    - solid
+  unicode: f6e6
+  voted: false
+hard-hat:
+  changes:
+    - 5.7.0
+  label: Hard Hat
+  search:
+    terms:
+      - construction
+      - hardhat
+      - helmet
+      - safety
+  styles:
+    - solid
+  unicode: f807
+  voted: true
+hashtag:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Hashtag
+  search:
+    terms:
+      - Twitter
+      - instagram
+      - pound
+      - social media
+      - tag
+  styles:
+    - solid
+  unicode: f292
+  voted: false
+hat-wizard:
+  changes:
+    - 5.4.0
+  label: Wizard's Hat
+  search:
+    terms:
+      - Dungeons & Dragons
+      - accessory
+      - buckle
+      - clothing
+      - d&d
+      - dnd
+      - fantasy
+      - halloween
+      - head
+      - holiday
+      - mage
+      - magic
+      - pointy
+      - witch
+  styles:
+    - solid
+  unicode: f6e8
+  voted: false
+haykal:
+  changes:
+    - 5.3.0
+  label: Haykal
+  search:
+    terms:
+      - bahai
+      - bahá'í
+      - star
+  styles:
+    - solid
+  unicode: f666
+  voted: false
+hdd:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.10.1
+  label: HDD
+  search:
+    terms:
+      - cpu
+      - hard drive
+      - harddrive
+      - machine
+      - save
+      - storage
+  styles:
+    - solid
+    - regular
+  unicode: f0a0
+  voted: false
+heading:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.9.0
+    - 5.10.1
+  label: heading
+  search:
+    terms:
+      - format
+      - header
+      - text
+      - title
+  styles:
+    - solid
+  unicode: f1dc
+  voted: false
+headphones:
+  changes:
+    - '1'
+    - 5.0.0
+  label: headphones
+  search:
+    terms:
+      - audio
+      - listen
+      - music
+      - sound
+      - speaker
+  styles:
+    - solid
+  unicode: f025
+  voted: false
+headphones-alt:
+  changes:
+    - 5.1.0
+  label: Alternate Headphones
+  search:
+    terms:
+      - audio
+      - listen
+      - music
+      - sound
+      - speaker
+  styles:
+    - solid
+  unicode: f58f
+  voted: true
+headset:
+  changes:
+    - 5.1.0
+  label: Headset
+  search:
+    terms:
+      - audio
+      - gamer
+      - gaming
+      - listen
+      - live chat
+      - microphone
+      - shot caller
+      - sound
+      - support
+      - telemarketer
+  styles:
+    - solid
+  unicode: f590
+  voted: true
+heart:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.9
+    - 5.10.1
+  label: Heart
+  search:
+    terms:
+      - favorite
+      - like
+      - love
+      - relationship
+      - valentine
+  styles:
+    - solid
+    - regular
+  unicode: f004
+  voted: false
+heart-broken:
+  changes:
+    - 5.6.0
+  label: Heart Broken
+  search:
+    terms:
+      - breakup
+      - crushed
+      - dislike
+      - dumped
+      - grief
+      - love
+      - lovesick
+      - relationship
+      - sad
+  styles:
+    - solid
+  unicode: f7a9
+  voted: true
+heartbeat:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.0.7
+  label: Heartbeat
+  search:
+    terms:
+      - ekg
+      - electrocardiogram
+      - health
+      - lifeline
+      - vital signs
+  styles:
+    - solid
+  unicode: f21e
+  voted: false
+helicopter:
+  changes:
+    - 5.0.13
+  label: Helicopter
+  search:
+    terms:
+      - airwolf
+      - apache
+      - chopper
+      - flight
+      - fly
+      - travel
+  styles:
+    - solid
+  unicode: f533
+  voted: true
+highlighter:
+  changes:
+    - 5.1.0
+    - 5.10.1
+  label: Highlighter
+  search:
+    terms:
+      - edit
+      - marker
+      - sharpie
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f591
+  voted: true
+hiking:
+  changes:
+    - 5.4.0
+  label: Hiking
+  search:
+    terms:
+      - activity
+      - backpack
+      - fall
+      - fitness
+      - outdoors
+      - person
+      - seasonal
+      - walking
+  styles:
+    - solid
+  unicode: f6ec
+  voted: false
+hippo:
+  changes:
+    - 5.4.0
+    - 5.10.1
+  label: Hippo
+  search:
+    terms:
+      - animal
+      - fauna
+      - hippopotamus
+      - hungry
+      - mammal
+  styles:
+    - solid
+  unicode: f6ed
+  voted: false
+hips:
+  changes:
+    - 5.0.5
+  label: Hips
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f452
+  voted: false
+hire-a-helper:
+  changes:
+    - 5.0.0
+  label: HireAHelper
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b0
+  voted: false
+history:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: History
+  search:
+    terms:
+      - Rewind
+      - clock
+      - reverse
+      - time
+      - time machine
+  styles:
+    - solid
+  unicode: f1da
+  voted: false
+hockey-puck:
+  changes:
+    - 5.0.5
+  label: Hockey Puck
+  search:
+    terms:
+      - ice
+      - nhl
+      - sport
+  styles:
+    - solid
+  unicode: f453
+  voted: false
+holly-berry:
+  changes:
+    - 5.6.0
+  label: Holly Berry
+  search:
+    terms:
+      - catwoman
+      - christmas
+      - decoration
+      - flora
+      - halle
+      - holiday
+      - ororo munroe
+      - plant
+      - storm
+      - xmas
+  styles:
+    - solid
+  unicode: f7aa
+home:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.7.0
+  label: home
+  search:
+    terms:
+      - abode
+      - building
+      - house
+      - main
+  styles:
+    - solid
+  unicode: f015
+  voted: false
+hooli:
+  changes:
+    - 5.0.0
+    - 5.7.0
+  label: Hooli
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f427
+  voted: false
+hornbill:
+  changes:
+    - 5.1.0
+    - 5.8.0
+  label: Hornbill
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f592
+  voted: false
+horse:
+  changes:
+    - 5.4.0
+    - 5.10.1
+  label: Horse
+  search:
+    terms:
+      - equus
+      - fauna
+      - mammmal
+      - mare
+      - neigh
+      - pony
+  styles:
+    - solid
+  unicode: f6f0
+  voted: false
+horse-head:
+  changes:
+    - 5.6.0
+    - 5.10.1
+  label: Horse Head
+  search:
+    terms:
+      - equus
+      - fauna
+      - mammmal
+      - mare
+      - neigh
+      - pony
+  styles:
+    - solid
+  unicode: f7ab
+hospital:
+  changes:
+    - '3'
+    - 5.0.0
+  label: hospital
+  search:
+    terms:
+      - building
+      - emergency room
+      - medical center
+  styles:
+    - solid
+    - regular
+  unicode: f0f8
+  voted: false
+hospital-alt:
+  changes:
+    - 5.0.7
+  label: Alternate Hospital
+  search:
+    terms:
+      - building
+      - emergency room
+      - medical center
+  styles:
+    - solid
+  unicode: f47d
+  voted: false
+hospital-symbol:
+  changes:
+    - 5.0.7
+  label: Hospital Symbol
+  search:
+    terms:
+      - clinic
+      - emergency
+      - map
+  styles:
+    - solid
+  unicode: f47e
+  voted: false
+hot-tub:
+  changes:
+    - 5.1.0
+  label: Hot Tub
+  search:
+    terms:
+      - bath
+      - jacuzzi
+      - massage
+      - sauna
+      - spa
+  styles:
+    - solid
+  unicode: f593
+  voted: false
+hotdog:
+  changes:
+    - 5.7.0
+  label: Hot Dog
+  search:
+    terms:
+      - bun
+      - chili
+      - frankfurt
+      - frankfurter
+      - kosher
+      - polish
+      - sandwich
+      - sausage
+      - vienna
+      - weiner
+  styles:
+    - solid
+  unicode: f80f
+  voted: false
+hotel:
+  changes:
+    - 5.1.0
+  label: Hotel
+  search:
+    terms:
+      - building
+      - inn
+      - lodging
+      - motel
+      - resort
+      - travel
+  styles:
+    - solid
+  unicode: f594
+  voted: false
+hotjar:
+  changes:
+    - 5.0.0
+  label: Hotjar
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b1
+  voted: false
+hourglass:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Hourglass
+  search:
+    terms:
+      - hour
+      - minute
+      - sand
+      - stopwatch
+      - time
+  styles:
+    - solid
+    - regular
+  unicode: f254
+  voted: false
+hourglass-end:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Hourglass End
+  search:
+    terms:
+      - hour
+      - minute
+      - sand
+      - stopwatch
+      - time
+  styles:
+    - solid
+  unicode: f253
+  voted: false
+hourglass-half:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Hourglass Half
+  search:
+    terms:
+      - hour
+      - minute
+      - sand
+      - stopwatch
+      - time
+  styles:
+    - solid
+  unicode: f252
+  voted: false
+hourglass-start:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Hourglass Start
+  search:
+    terms:
+      - hour
+      - minute
+      - sand
+      - stopwatch
+      - time
+  styles:
+    - solid
+  unicode: f251
+  voted: false
+house-damage:
+  changes:
+    - 5.4.0
+  label: Damaged House
+  search:
+    terms:
+      - building
+      - devastation
+      - disaster
+      - home
+      - insurance
+  styles:
+    - solid
+  unicode: f6f1
+  voted: false
+houzz:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.0.9
+    - 5.8.0
+  label: Houzz
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f27c
+  voted: false
+hryvnia:
+  changes:
+    - 5.4.0
+  label: Hryvnia
+  search:
+    terms:
+      - currency
+      - money
+      - ukraine
+      - ukrainian
+  styles:
+    - solid
+  unicode: f6f2
+  voted: true
+html5:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: HTML 5 Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f13b
+  voted: false
+hubspot:
+  changes:
+    - 5.0.0
+  label: HubSpot
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b2
+  voted: false
+i-cursor:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: I Beam Cursor
+  search:
+    terms:
+      - editing
+      - i-beam
+      - type
+      - writing
+  styles:
+    - solid
+  unicode: f246
+  voted: false
+ice-cream:
+  changes:
+    - 5.7.0
+  label: Ice Cream
+  search:
+    terms:
+      - chocolate
+      - cone
+      - dessert
+      - frozen
+      - scoop
+      - sorbet
+      - vanilla
+      - yogurt
+  styles:
+    - solid
+  unicode: f810
+  voted: false
+icicles:
+  changes:
+    - 5.6.0
+  label: Icicles
+  search:
+    terms:
+      - cold
+      - frozen
+      - hanging
+      - ice
+      - seasonal
+      - sharp
+  styles:
+    - solid
+  unicode: f7ad
+icons:
+  changes:
+    - 5.9.0
+  label: Icons
+  search:
+    terms:
+      - bolt
+      - emoji
+      - heart
+      - image
+      - music
+      - photo
+      - symbols
+  styles:
+    - solid
+  unicode: f86d
+  voted: false
+id-badge:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.0.3
+  label: Identification Badge
+  search:
+    terms:
+      - address
+      - contact
+      - identification
+      - license
+      - profile
+  styles:
+    - solid
+    - regular
+  unicode: f2c1
+  voted: false
+id-card:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.0.3
+    - 5.8.0
+    - 5.10.1
+  label: Identification Card
+  search:
+    terms:
+      - contact
+      - demographics
+      - document
+      - identification
+      - issued
+      - profile
+  styles:
+    - solid
+    - regular
+  unicode: f2c2
+  voted: false
+id-card-alt:
+  changes:
+    - 5.0.7
+    - 5.10.1
+  label: Alternate Identification Card
+  search:
+    terms:
+      - contact
+      - demographics
+      - document
+      - identification
+      - issued
+      - profile
+  styles:
+    - solid
+  unicode: f47f
+  voted: false
+igloo:
+  changes:
+    - 5.6.0
+  label: Igloo
+  search:
+    terms:
+      - dome
+      - dwelling
+      - eskimo
+      - home
+      - house
+      - ice
+      - snow
+  styles:
+    - solid
+  unicode: f7ae
+image:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.10.1
+  label: Image
+  search:
+    terms:
+      - album
+      - landscape
+      - photo
+      - picture
+  styles:
+    - solid
+    - regular
+  unicode: f03e
+  voted: false
+images:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.10.1
+  label: Images
+  search:
+    terms:
+      - album
+      - landscape
+      - photo
+      - picture
+  styles:
+    - solid
+    - regular
+  unicode: f302
+  voted: false
+imdb:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: IMDB
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2d8
+  voted: false
+inbox:
+  changes:
+    - '1'
+    - 5.0.0
+  label: inbox
+  search:
+    terms:
+      - archive
+      - desk
+      - email
+      - mail
+      - message
+  styles:
+    - solid
+  unicode: f01c
+  voted: false
+indent:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: Indent
+  search:
+    terms:
+      - align
+      - justify
+      - paragraph
+      - tab
+  styles:
+    - solid
+  unicode: f03c
+  voted: false
+industry:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Industry
+  search:
+    terms:
+      - building
+      - factory
+      - industrial
+      - manufacturing
+      - mill
+      - warehouse
+  styles:
+    - solid
+  unicode: f275
+  voted: false
+infinity:
+  changes:
+    - 5.0.13
+    - 5.3.0
+    - 5.10.1
+  label: Infinity
+  search:
+    terms:
+      - eternity
+      - forever
+      - math
+  styles:
+    - solid
+  unicode: f534
+  voted: true
+info:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.10.1
+  label: Info
+  search:
+    terms:
+      - details
+      - help
+      - information
+      - more
+      - support
+  styles:
+    - solid
+  unicode: f129
+  voted: false
+info-circle:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Info Circle
+  search:
+    terms:
+      - details
+      - help
+      - information
+      - more
+      - support
+  styles:
+    - solid
+  unicode: f05a
+  voted: false
+instagram:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Instagram
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f16d
+  voted: false
+intercom:
+  changes:
+    - 5.6.0
+  label: Intercom
+  search:
+    terms:
+      - app
+      - customer
+      - messenger
+  styles:
+    - brands
+  unicode: f7af
+  voted: false
+internet-explorer:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Internet-explorer
+  search:
+    terms:
+      - browser
+      - ie
+  styles:
+    - brands
+  unicode: f26b
+  voted: false
+invision:
+  changes:
+    - 5.6.0
+  label: InVision
+  search:
+    terms:
+      - app
+      - design
+      - interface
+  styles:
+    - brands
+  unicode: f7b0
+  voted: false
+ioxhost:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: ioxhost
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f208
+  voted: false
+italic:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+    - 5.10.1
+  label: italic
+  search:
+    terms:
+      - edit
+      - emphasis
+      - font
+      - format
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f033
+  voted: false
+itch-io:
+  changes:
+    - 5.8.0
+  label: itch.io
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f83a
+itunes:
+  changes:
+    - 5.0.0
+  label: iTunes
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b4
+  voted: false
+itunes-note:
+  changes:
+    - 5.0.0
+  label: Itunes Note
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b5
+  voted: false
+java:
+  changes:
+    - 5.0.10
+    - 5.7.0
+    - 5.8.0
+  label: Java
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4e4
+  voted: false
+jedi:
+  changes:
+    - 5.3.0
+  label: Jedi
+  search:
+    terms:
+      - crest
+      - force
+      - sith
+      - skywalker
+      - star wars
+      - yoda
+  styles:
+    - solid
+  unicode: f669
+  voted: false
+jedi-order:
+  changes:
+    - 5.0.12
+    - 5.7.0
+  label: Jedi Order
+  search:
+    terms:
+      - star wars
+  styles:
+    - brands
+  unicode: f50e
+  voted: false
+jenkins:
+  changes:
+    - 5.0.0
+  label: Jenkis
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b6
+  voted: false
+jira:
+  changes:
+    - 5.6.0
+  label: Jira
+  search:
+    terms:
+      - atlassian
+  styles:
+    - brands
+  unicode: f7b1
+  voted: true
+joget:
+  changes:
+    - 5.0.0
+  label: Joget
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b7
+  voted: false
+joint:
+  changes:
+    - 5.1.0
+  label: Joint
+  search:
+    terms:
+      - blunt
+      - cannabis
+      - doobie
+      - drugs
+      - marijuana
+      - roach
+      - smoke
+      - smoking
+      - spliff
+  styles:
+    - solid
+  unicode: f595
+  voted: false
+joomla:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Joomla Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1aa
+  voted: false
+journal-whills:
+  changes:
+    - 5.3.0
+  label: Journal of the Whills
+  search:
+    terms:
+      - book
+      - force
+      - jedi
+      - sith
+      - star wars
+      - yoda
+  styles:
+    - solid
+  unicode: f66a
+  voted: false
+js:
+  changes:
+    - 5.0.0
+  label: JavaScript (JS)
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b8
+  voted: false
+js-square:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: JavaScript (JS) Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3b9
+  voted: false
+jsfiddle:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: jsFiddle
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1cc
+  voted: false
+kaaba:
+  changes:
+    - 5.3.0
+  label: Kaaba
+  search:
+    terms:
+      - building
+      - cube
+      - islam
+      - muslim
+  styles:
+    - solid
+  unicode: f66b
+  voted: false
+kaggle:
+  changes:
+    - 5.2.0
+    - 5.8.0
+  label: Kaggle
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5fa
+  voted: true
+key:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.10.1
+  label: key
+  search:
+    terms:
+      - lock
+      - password
+      - private
+      - secret
+      - unlock
+  styles:
+    - solid
+  unicode: f084
+  voted: false
+keybase:
+  changes:
+    - 5.0.11
+    - 5.8.0
+  label: Keybase
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f5
+  voted: true
+keyboard:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Keyboard
+  search:
+    terms:
+      - accessory
+      - edit
+      - input
+      - text
+      - type
+      - write
+  styles:
+    - solid
+    - regular
+  unicode: f11c
+  voted: false
+keycdn:
+  changes:
+    - 5.0.0
+  label: KeyCDN
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ba
+  voted: false
+khanda:
+  changes:
+    - 5.3.0
+  label: Khanda
+  search:
+    terms:
+      - chakkar
+      - sikh
+      - sikhism
+      - sword
+  styles:
+    - solid
+  unicode: f66d
+  voted: false
+kickstarter:
+  changes:
+    - 5.0.0
+  label: Kickstarter
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3bb
+  voted: false
+kickstarter-k:
+  changes:
+    - 5.0.0
+  label: Kickstarter K
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3bc
+  voted: false
+kiss:
+  changes:
+    - 5.1.0
+    - 5.1.1
+  label: Kissing Face
+  search:
+    terms:
+      - beso
+      - emoticon
+      - face
+      - love
+      - smooch
+  styles:
+    - solid
+    - regular
+  unicode: f596
+  voted: false
+kiss-beam:
+  changes:
+    - 5.1.0
+  label: Kissing Face With Smiling Eyes
+  search:
+    terms:
+      - beso
+      - emoticon
+      - face
+      - love
+      - smooch
+  styles:
+    - solid
+    - regular
+  unicode: f597
+  voted: false
+kiss-wink-heart:
+  changes:
+    - 5.1.0
+  label: Face Blowing a Kiss
+  search:
+    terms:
+      - beso
+      - emoticon
+      - face
+      - love
+      - smooch
+  styles:
+    - solid
+    - regular
+  unicode: f598
+  voted: false
+kiwi-bird:
+  changes:
+    - 5.0.13
+  label: Kiwi Bird
+  search:
+    terms:
+      - bird
+      - fauna
+      - new zealand
+  styles:
+    - solid
+  unicode: f535
+  voted: false
+korvue:
+  changes:
+    - 5.0.2
+  label: KORVUE
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f42f
+  voted: false
+landmark:
+  changes:
+    - 5.3.0
+  label: Landmark
+  search:
+    terms:
+      - building
+      - historic
+      - memorable
+      - monument
+      - politics
+  styles:
+    - solid
+  unicode: f66f
+  voted: false
+language:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Language
+  search:
+    terms:
+      - dialect
+      - idiom
+      - localize
+      - speech
+      - translate
+      - vernacular
+  styles:
+    - solid
+  unicode: f1ab
+  voted: false
+laptop:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.2.0
+  label: Laptop
+  search:
+    terms:
+      - computer
+      - cpu
+      - dell
+      - demo
+      - device
+      - mac
+      - macbook
+      - machine
+      - pc
+  styles:
+    - solid
+  unicode: f109
+  voted: false
+laptop-code:
+  changes:
+    - 5.2.0
+  label: Laptop Code
+  search:
+    terms:
+      - computer
+      - cpu
+      - dell
+      - demo
+      - develop
+      - device
+      - mac
+      - macbook
+      - machine
+      - pc
+  styles:
+    - solid
+  unicode: f5fc
+  voted: false
+laptop-medical:
+  changes:
+    - 5.7.0
+  label: Laptop Medical
+  search:
+    terms:
+      - computer
+      - device
+      - ehr
+      - electronic health records
+      - history
+  styles:
+    - solid
+  unicode: f812
+  voted: false
+laravel:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Laravel
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3bd
+  voted: false
+lastfm:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: last.fm
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f202
+  voted: false
+lastfm-square:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.0.11
+  label: last.fm Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f203
+  voted: false
+laugh:
+  changes:
+    - 5.1.0
+  label: Grinning Face With Big Eyes
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+      - laugh
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f599
+  voted: false
+laugh-beam:
+  changes:
+    - 5.1.0
+  label: Laugh Face with Beaming Eyes
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+      - happy
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f59a
+  voted: false
+laugh-squint:
+  changes:
+    - 5.1.0
+  label: Laughing Squinting Face
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+      - happy
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f59b
+  voted: false
+laugh-wink:
+  changes:
+    - 5.1.0
+  label: Laughing Winking Face
+  search:
+    terms:
+      - LOL
+      - emoticon
+      - face
+      - happy
+      - smile
+  styles:
+    - solid
+    - regular
+  unicode: f59c
+  voted: false
+layer-group:
+  changes:
+    - 5.2.0
+  label: Layer Group
+  search:
+    terms:
+      - arrange
+      - develop
+      - layers
+      - map
+      - stack
+  styles:
+    - solid
+  unicode: f5fd
+  voted: false
+leaf:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.9
+  label: leaf
+  search:
+    terms:
+      - eco
+      - flora
+      - nature
+      - plant
+      - vegan
+  styles:
+    - solid
+  unicode: f06c
+  voted: false
+leanpub:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Leanpub
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f212
+  voted: false
+lemon:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Lemon
+  search:
+    terms:
+      - citrus
+      - lemonade
+      - lime
+      - tart
+  styles:
+    - solid
+    - regular
+  unicode: f094
+  voted: false
+less:
+  changes:
+    - 5.0.0
+  label: Less
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f41d
+  voted: false
+less-than:
+  changes:
+    - 5.0.13
+  label: Less Than
+  search:
+    terms:
+      - arithmetic
+      - compare
+      - math
+  styles:
+    - solid
+  unicode: f536
+  voted: true
+less-than-equal:
+  changes:
+    - 5.0.13
+  label: Less Than Equal To
+  search:
+    terms:
+      - arithmetic
+      - compare
+      - math
+  styles:
+    - solid
+  unicode: f537
+  voted: true
+level-down-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Level Down
+  search:
+    terms:
+      - arrow
+      - level-down
+  styles:
+    - solid
+  unicode: f3be
+  voted: false
+level-up-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Level Up
+  search:
+    terms:
+      - arrow
+      - level-up
+  styles:
+    - solid
+  unicode: f3bf
+  voted: false
+life-ring:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Life Ring
+  search:
+    terms:
+      - coast guard
+      - help
+      - overboard
+      - save
+      - support
+  styles:
+    - solid
+    - regular
+  unicode: f1cd
+  voted: false
+lightbulb:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.3.0
+  label: Lightbulb
+  search:
+    terms:
+      - energy
+      - idea
+      - inspiration
+      - light
+  styles:
+    - solid
+    - regular
+  unicode: f0eb
+  voted: false
+line:
+  changes:
+    - 5.0.0
+  label: Line
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3c0
+  voted: false
+link:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Link
+  search:
+    terms:
+      - attach
+      - attachment
+      - chain
+      - connect
+  styles:
+    - solid
+  unicode: f0c1
+  voted: false
+linkedin:
+  changes:
+    - '1'
+    - 5.0.0
+  label: LinkedIn
+  search:
+    terms:
+      - linkedin-square
+  styles:
+    - brands
+  unicode: f08c
+  voted: false
+linkedin-in:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.4.1
+    - 5.8.0
+    - 5.8.1
+  label: LinkedIn In
+  search:
+    terms:
+      - linkedin
+  styles:
+    - brands
+  unicode: f0e1
+  voted: false
+linode:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Linode
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2b8
+  voted: false
+linux:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Linux
+  search:
+    terms:
+      - tux
+  styles:
+    - brands
+  unicode: f17c
+  voted: false
+lira-sign:
+  changes:
+    - '4'
+    - 5.0.0
+  label: Turkish Lira Sign
+  search:
+    terms:
+      - currency
+      - money
+      - try
+      - turkish
+  styles:
+    - solid
+  unicode: f195
+  voted: false
+list:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: List
+  search:
+    terms:
+      - checklist
+      - completed
+      - done
+      - finished
+      - ol
+      - todo
+      - ul
+  styles:
+    - solid
+  unicode: f03a
+  voted: false
+list-alt:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Alternate List
+  search:
+    terms:
+      - checklist
+      - completed
+      - done
+      - finished
+      - ol
+      - todo
+      - ul
+  styles:
+    - solid
+    - regular
+  unicode: f022
+  voted: false
+list-ol:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.9.0
+  label: list-ol
+  search:
+    terms:
+      - checklist
+      - completed
+      - done
+      - finished
+      - numbers
+      - ol
+      - todo
+      - ul
+  styles:
+    - solid
+  unicode: f0cb
+  voted: false
+list-ul:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.9.0
+  label: list-ul
+  search:
+    terms:
+      - checklist
+      - completed
+      - done
+      - finished
+      - ol
+      - todo
+      - ul
+  styles:
+    - solid
+  unicode: f0ca
+  voted: false
+location-arrow:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: location-arrow
+  search:
+    terms:
+      - address
+      - compass
+      - coordinate
+      - direction
+      - gps
+      - map
+      - navigation
+      - place
+  styles:
+    - solid
+  unicode: f124
+  voted: false
+lock:
+  changes:
+    - '1'
+    - 5.0.0
+  label: lock
+  search:
+    terms:
+      - admin
+      - lock
+      - open
+      - password
+      - private
+      - protect
+      - security
+  styles:
+    - solid
+  unicode: f023
+  voted: false
+lock-open:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.0.1
+  label: Lock Open
+  search:
+    terms:
+      - admin
+      - lock
+      - open
+      - password
+      - private
+      - protect
+      - security
+  styles:
+    - solid
+  unicode: f3c1
+  voted: false
+long-arrow-alt-down:
+  changes:
+    - 5.0.0
+  label: Alternate Long Arrow Down
+  search:
+    terms:
+      - download
+      - long-arrow-down
+  styles:
+    - solid
+  unicode: f309
+  voted: false
+long-arrow-alt-left:
+  changes:
+    - 5.0.0
+  label: Alternate Long Arrow Left
+  search:
+    terms:
+      - back
+      - long-arrow-left
+      - previous
+  styles:
+    - solid
+  unicode: f30a
+  voted: false
+long-arrow-alt-right:
+  changes:
+    - 5.0.0
+  label: Alternate Long Arrow Right
+  search:
+    terms:
+      - forward
+      - long-arrow-right
+      - next
+  styles:
+    - solid
+  unicode: f30b
+  voted: false
+long-arrow-alt-up:
+  changes:
+    - 5.0.0
+  label: Alternate Long Arrow Up
+  search:
+    terms:
+      - long-arrow-up
+      - upload
+  styles:
+    - solid
+  unicode: f30c
+  voted: false
+low-vision:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Low Vision
+  search:
+    terms:
+      - blind
+      - eye
+      - sight
+  styles:
+    - solid
+  unicode: f2a8
+  voted: false
+luggage-cart:
+  changes:
+    - 5.1.0
+  label: Luggage Cart
+  search:
+    terms:
+      - bag
+      - baggage
+      - suitcase
+      - travel
+  styles:
+    - solid
+  unicode: f59d
+  voted: false
+lyft:
+  changes:
+    - 5.0.0
+  label: lyft
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3c3
+  voted: false
+magento:
+  changes:
+    - 5.0.0
+  label: Magento
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3c4
+  voted: false
+magic:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.1.0
+  label: magic
+  search:
+    terms:
+      - autocomplete
+      - automatic
+      - mage
+      - magic
+      - spell
+      - wand
+      - witch
+      - wizard
+  styles:
+    - solid
+  unicode: f0d0
+  voted: false
+magnet:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.8.0
+  label: magnet
+  search:
+    terms:
+      - Attract
+      - lodestone
+      - tool
+  styles:
+    - solid
+  unicode: f076
+  voted: false
+mail-bulk:
+  changes:
+    - 5.3.0
+  label: Mail Bulk
+  search:
+    terms:
+      - archive
+      - envelope
+      - letter
+      - post office
+      - postal
+      - postcard
+      - send
+      - stamp
+      - usps
+  styles:
+    - solid
+  unicode: f674
+  voted: false
+mailchimp:
+  changes:
+    - 5.1.0
+    - 5.7.0
+    - 5.8.0
+    - 5.8.2
+  label: Mailchimp
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f59e
+  voted: true
+male:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Male
+  search:
+    terms:
+      - human
+      - man
+      - person
+      - profile
+      - user
+  styles:
+    - solid
+  unicode: f183
+  voted: false
+mandalorian:
+  changes:
+    - 5.0.12
+    - 5.8.0
+  label: Mandalorian
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f50f
+  voted: false
+map:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.1.0
+  label: Map
+  search:
+    terms:
+      - address
+      - coordinates
+      - destination
+      - gps
+      - localize
+      - location
+      - map
+      - navigation
+      - paper
+      - pin
+      - place
+      - point of interest
+      - position
+      - route
+      - travel
+  styles:
+    - solid
+    - regular
+  unicode: f279
+  voted: false
+map-marked:
+  changes:
+    - 5.1.0
+  label: Map Marked
+  search:
+    terms:
+      - address
+      - coordinates
+      - destination
+      - gps
+      - localize
+      - location
+      - map
+      - navigation
+      - paper
+      - pin
+      - place
+      - point of interest
+      - position
+      - route
+      - travel
+  styles:
+    - solid
+  unicode: f59f
+  voted: false
+map-marked-alt:
+  changes:
+    - 5.1.0
+  label: Alternate Map Marked
+  search:
+    terms:
+      - address
+      - coordinates
+      - destination
+      - gps
+      - localize
+      - location
+      - map
+      - navigation
+      - paper
+      - pin
+      - place
+      - point of interest
+      - position
+      - route
+      - travel
+  styles:
+    - solid
+  unicode: f5a0
+  voted: false
+map-marker:
+  changes:
+    - '1'
+    - 5.0.0
+  label: map-marker
+  search:
+    terms:
+      - address
+      - coordinates
+      - destination
+      - gps
+      - localize
+      - location
+      - map
+      - navigation
+      - paper
+      - pin
+      - place
+      - point of interest
+      - position
+      - route
+      - travel
+  styles:
+    - solid
+  unicode: f041
+  voted: false
+map-marker-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Map Marker
+  search:
+    terms:
+      - address
+      - coordinates
+      - destination
+      - gps
+      - localize
+      - location
+      - map
+      - navigation
+      - paper
+      - pin
+      - place
+      - point of interest
+      - position
+      - route
+      - travel
+  styles:
+    - solid
+  unicode: f3c5
+  voted: false
+map-pin:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.2.0
+  label: Map Pin
+  search:
+    terms:
+      - address
+      - agree
+      - coordinates
+      - destination
+      - gps
+      - localize
+      - location
+      - map
+      - marker
+      - navigation
+      - pin
+      - place
+      - position
+      - travel
+  styles:
+    - solid
+  unicode: f276
+  voted: false
+map-signs:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.2.0
+  label: Map Signs
+  search:
+    terms:
+      - directions
+      - directory
+      - map
+      - signage
+      - wayfinding
+  styles:
+    - solid
+  unicode: f277
+  voted: false
+markdown:
+  changes:
+    - 5.2.0
+    - 5.7.0
+  label: Markdown
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f60f
+  voted: true
+marker:
+  changes:
+    - 5.1.0
+  label: Marker
+  search:
+    terms:
+      - design
+      - edit
+      - sharpie
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f5a1
+  voted: true
+mars:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Mars
+  search:
+    terms:
+      - male
+  styles:
+    - solid
+  unicode: f222
+  voted: false
+mars-double:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Mars Double
+  search:
+    terms: []
+  styles:
+    - solid
+  unicode: f227
+  voted: false
+mars-stroke:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Mars Stroke
+  search:
+    terms: []
+  styles:
+    - solid
+  unicode: f229
+  voted: false
+mars-stroke-h:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Mars Stroke Horizontal
+  search:
+    terms: []
+  styles:
+    - solid
+  unicode: f22b
+  voted: false
+mars-stroke-v:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Mars Stroke Vertical
+  search:
+    terms: []
+  styles:
+    - solid
+  unicode: f22a
+  voted: false
+mask:
+  changes:
+    - 5.4.0
+    - 5.10.1
+  label: Mask
+  search:
+    terms:
+      - carnivale
+      - costume
+      - disguise
+      - halloween
+      - secret
+      - super hero
+  styles:
+    - solid
+  unicode: f6fa
+  voted: false
+mastodon:
+  changes:
+    - 5.0.11
+    - 5.8.0
+  label: Mastodon
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f6
+  voted: true
+maxcdn:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: MaxCDN
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f136
+  voted: false
+medal:
+  changes:
+    - 5.1.0
+  label: Medal
+  search:
+    terms:
+      - award
+      - ribbon
+      - star
+      - trophy
+  styles:
+    - solid
+  unicode: f5a2
+  voted: true
+medapps:
+  changes:
+    - 5.0.0
+  label: MedApps
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3c6
+  voted: false
+medium:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Medium
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f23a
+  voted: false
+medium-m:
+  changes:
+    - 5.0.0
+  label: Medium M
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3c7
+  voted: false
+medkit:
+  changes:
+    - '3'
+    - 5.0.0
+  label: medkit
+  search:
+    terms:
+      - first aid
+      - firstaid
+      - health
+      - help
+      - support
+  styles:
+    - solid
+  unicode: f0fa
+  voted: false
+medrt:
+  changes:
+    - 5.0.0
+  label: MRT
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3c8
+  voted: false
+meetup:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Meetup
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2e0
+  voted: false
+megaport:
+  changes:
+    - 5.1.0
+  label: Megaport
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5a3
+  voted: false
+meh:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.0.9
+    - 5.1.0
+  label: Neutral Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - neutral
+      - rating
+  styles:
+    - solid
+    - regular
+  unicode: f11a
+  voted: false
+meh-blank:
+  changes:
+    - 5.1.0
+  label: Face Without Mouth
+  search:
+    terms:
+      - emoticon
+      - face
+      - neutral
+      - rating
+  styles:
+    - solid
+    - regular
+  unicode: f5a4
+  voted: false
+meh-rolling-eyes:
+  changes:
+    - 5.1.0
+  label: Face With Rolling Eyes
+  search:
+    terms:
+      - emoticon
+      - face
+      - neutral
+      - rating
+  styles:
+    - solid
+    - regular
+  unicode: f5a5
+  voted: false
+memory:
+  changes:
+    - 5.0.13
+  label: Memory
+  search:
+    terms:
+      - DIMM
+      - RAM
+      - hardware
+      - storage
+      - technology
+  styles:
+    - solid
+  unicode: f538
+  voted: true
+mendeley:
+  changes:
+    - 5.6.0
+  label: Mendeley
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f7b3
+  voted: true
+menorah:
+  changes:
+    - 5.3.0
+    - 5.4.0
+  label: Menorah
+  search:
+    terms:
+      - candle
+      - hanukkah
+      - jewish
+      - judaism
+      - light
+  styles:
+    - solid
+  unicode: f676
+  voted: false
+mercury:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Mercury
+  search:
+    terms:
+      - transgender
+  styles:
+    - solid
+  unicode: f223
+  voted: false
+meteor:
+  changes:
+    - 5.5.0
+  label: Meteor
+  search:
+    terms:
+      - armageddon
+      - asteroid
+      - comet
+      - shooting star
+      - space
+  styles:
+    - solid
+  unicode: f753
+  voted: false
+microchip:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Microchip
+  search:
+    terms:
+      - cpu
+      - hardware
+      - processor
+      - technology
+  styles:
+    - solid
+  unicode: f2db
+  voted: false
+microphone:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.0.13
+  label: microphone
+  search:
+    terms:
+      - audio
+      - podcast
+      - record
+      - sing
+      - sound
+      - voice
+  styles:
+    - solid
+  unicode: f130
+  voted: false
+microphone-alt:
+  changes:
+    - 5.0.0
+    - 5.0.13
+  label: Alternate Microphone
+  search:
+    terms:
+      - audio
+      - podcast
+      - record
+      - sing
+      - sound
+      - voice
+  styles:
+    - solid
+  unicode: f3c9
+  voted: false
+microphone-alt-slash:
+  changes:
+    - 5.0.13
+  label: Alternate Microphone Slash
+  search:
+    terms:
+      - audio
+      - disable
+      - mute
+      - podcast
+      - record
+      - sing
+      - sound
+      - voice
+  styles:
+    - solid
+  unicode: f539
+  voted: false
+microphone-slash:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.0.13
+  label: Microphone Slash
+  search:
+    terms:
+      - audio
+      - disable
+      - mute
+      - podcast
+      - record
+      - sing
+      - sound
+      - voice
+  styles:
+    - solid
+  unicode: f131
+  voted: false
+microscope:
+  changes:
+    - 5.2.0
+  label: Microscope
+  search:
+    terms:
+      - electron
+      - lens
+      - optics
+      - science
+      - shrink
+  styles:
+    - solid
+  unicode: f610
+  voted: false
+microsoft:
+  changes:
+    - 5.0.0
+  label: Microsoft
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ca
+  voted: true
+minus:
+  changes:
+    - '1'
+    - 5.0.0
+  label: minus
+  search:
+    terms:
+      - collapse
+      - delete
+      - hide
+      - minify
+      - negative
+      - remove
+      - trash
+  styles:
+    - solid
+  unicode: f068
+  voted: false
+minus-circle:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Minus Circle
+  search:
+    terms:
+      - delete
+      - hide
+      - negative
+      - remove
+      - shape
+      - trash
+  styles:
+    - solid
+  unicode: f056
+  voted: false
+minus-square:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Minus Square
+  search:
+    terms:
+      - collapse
+      - delete
+      - hide
+      - minify
+      - negative
+      - remove
+      - shape
+      - trash
+  styles:
+    - solid
+    - regular
+  unicode: f146
+  voted: false
+mitten:
+  changes:
+    - 5.6.0
+  label: Mitten
+  search:
+    terms:
+      - clothing
+      - cold
+      - glove
+      - hands
+      - knitted
+      - seasonal
+      - warmth
+  styles:
+    - solid
+  unicode: f7b5
+mix:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Mix
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3cb
+  voted: false
+mixcloud:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Mixcloud
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f289
+  voted: false
+mizuni:
+  changes:
+    - 5.0.0
+  label: Mizuni
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3cc
+  voted: false
+mobile:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Mobile Phone
+  search:
+    terms:
+      - apple
+      - call
+      - cell phone
+      - cellphone
+      - device
+      - iphone
+      - number
+      - screen
+      - telephone
+  styles:
+    - solid
+  unicode: f10b
+  voted: false
+mobile-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Mobile
+  search:
+    terms:
+      - apple
+      - call
+      - cell phone
+      - cellphone
+      - device
+      - iphone
+      - number
+      - screen
+      - telephone
+  styles:
+    - solid
+  unicode: f3cd
+  voted: false
+modx:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: MODX
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f285
+  voted: false
+monero:
+  changes:
+    - 5.0.0
+  label: Monero
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d0
+  voted: false
+money-bill:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.13
+  label: Money Bill
+  search:
+    terms:
+      - buy
+      - cash
+      - checkout
+      - money
+      - payment
+      - price
+      - purchase
+  styles:
+    - solid
+  unicode: f0d6
+  voted: false
+money-bill-alt:
+  changes:
+    - 5.0.0
+    - 5.0.13
+  label: Alternate Money Bill
+  search:
+    terms:
+      - buy
+      - cash
+      - checkout
+      - money
+      - payment
+      - price
+      - purchase
+  styles:
+    - solid
+    - regular
+  unicode: f3d1
+  voted: false
+money-bill-wave:
+  changes:
+    - 5.0.13
+  label: Wavy Money Bill
+  search:
+    terms:
+      - buy
+      - cash
+      - checkout
+      - money
+      - payment
+      - price
+      - purchase
+  styles:
+    - solid
+  unicode: f53a
+  voted: true
+money-bill-wave-alt:
+  changes:
+    - 5.0.13
+  label: Alternate Wavy Money Bill
+  search:
+    terms:
+      - buy
+      - cash
+      - checkout
+      - money
+      - payment
+      - price
+      - purchase
+  styles:
+    - solid
+  unicode: f53b
+  voted: true
+money-check:
+  changes:
+    - 5.0.13
+  label: Money Check
+  search:
+    terms:
+      - bank check
+      - buy
+      - checkout
+      - cheque
+      - money
+      - payment
+      - price
+      - purchase
+  styles:
+    - solid
+  unicode: f53c
+  voted: true
+money-check-alt:
+  changes:
+    - 5.0.13
+  label: Alternate Money Check
+  search:
+    terms:
+      - bank check
+      - buy
+      - checkout
+      - cheque
+      - money
+      - payment
+      - price
+      - purchase
+  styles:
+    - solid
+  unicode: f53d
+  voted: true
+monument:
+  changes:
+    - 5.1.0
+  label: Monument
+  search:
+    terms:
+      - building
+      - historic
+      - landmark
+      - memorable
+  styles:
+    - solid
+  unicode: f5a6
+  voted: false
+moon:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Moon
+  search:
+    terms:
+      - contrast
+      - crescent
+      - dark
+      - lunar
+      - night
+  styles:
+    - solid
+    - regular
+  unicode: f186
+  voted: false
+mortar-pestle:
+  changes:
+    - 5.1.0
+  label: Mortar Pestle
+  search:
+    terms:
+      - crush
+      - culinary
+      - grind
+      - medical
+      - mix
+      - pharmacy
+      - prescription
+      - spices
+  styles:
+    - solid
+  unicode: f5a7
+  voted: false
+mosque:
+  changes:
+    - 5.3.0
+  label: Mosque
+  search:
+    terms:
+      - building
+      - islam
+      - landmark
+      - muslim
+  styles:
+    - solid
+  unicode: f678
+  voted: false
+motorcycle:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Motorcycle
+  search:
+    terms:
+      - bike
+      - machine
+      - transportation
+      - vehicle
+  styles:
+    - solid
+  unicode: f21c
+  voted: false
+mountain:
+  changes:
+    - 5.4.0
+  label: Mountain
+  search:
+    terms:
+      - glacier
+      - hiking
+      - hill
+      - landscape
+      - travel
+      - view
+  styles:
+    - solid
+  unicode: f6fc
+  voted: false
+mouse-pointer:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.0.3
+  label: Mouse Pointer
+  search:
+    terms:
+      - arrow
+      - cursor
+      - select
+  styles:
+    - solid
+  unicode: f245
+  voted: false
+mug-hot:
+  changes:
+    - 5.6.0
+  label: Mug Hot
+  search:
+    terms:
+      - caliente
+      - cocoa
+      - coffee
+      - cup
+      - drink
+      - holiday
+      - hot chocolate
+      - steam
+      - tea
+      - warmth
+  styles:
+    - solid
+  unicode: f7b6
+music:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.2.0
+  label: Music
+  search:
+    terms:
+      - lyrics
+      - melody
+      - note
+      - sing
+      - sound
+  styles:
+    - solid
+  unicode: f001
+  voted: false
+napster:
+  changes:
+    - 5.0.0
+  label: Napster
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d2
+  voted: false
+neos:
+  changes:
+    - 5.2.0
+    - 5.8.0
+  label: Neos
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f612
+  voted: true
+network-wired:
+  changes:
+    - 5.4.0
+  label: Wired Network
+  search:
+    terms:
+      - computer
+      - connect
+      - ethernet
+      - internet
+      - intranet
+  styles:
+    - solid
+  unicode: f6ff
+  voted: true
+neuter:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Neuter
+  search:
+    terms: []
+  styles:
+    - solid
+  unicode: f22c
+  voted: false
+newspaper:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Newspaper
+  search:
+    terms:
+      - article
+      - editorial
+      - headline
+      - journal
+      - journalism
+      - news
+      - press
+  styles:
+    - solid
+    - regular
+  unicode: f1ea
+  voted: false
+nimblr:
+  changes:
+    - 5.1.0
+    - 5.8.0
+  label: Nimblr
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5a8
+  voted: false
+node:
+  changes:
+    - 5.0.0
+  label: Node.js
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f419
+  voted: true
+node-js:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Node.js JS
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d3
+  voted: false
+not-equal:
+  changes:
+    - 5.0.13
+  label: Not Equal
+  search:
+    terms:
+      - arithmetic
+      - compare
+      - math
+  styles:
+    - solid
+  unicode: f53e
+  voted: true
+notes-medical:
+  changes:
+    - 5.0.7
+  label: Medical Notes
+  search:
+    terms:
+      - clipboard
+      - doctor
+      - ehr
+      - health
+      - history
+      - records
+  styles:
+    - solid
+  unicode: f481
+  voted: false
+npm:
+  changes:
+    - 5.0.0
+  label: npm
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d4
+  voted: false
+ns8:
+  changes:
+    - 5.0.0
+  label: NS8
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d5
+  voted: false
+nutritionix:
+  changes:
+    - 5.0.0
+  label: Nutritionix
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d6
+  voted: false
+object-group:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Object Group
+  search:
+    terms:
+      - combine
+      - copy
+      - design
+      - merge
+      - select
+  styles:
+    - solid
+    - regular
+  unicode: f247
+  voted: false
+object-ungroup:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Object Ungroup
+  search:
+    terms:
+      - copy
+      - design
+      - merge
+      - select
+      - separate
+  styles:
+    - solid
+    - regular
+  unicode: f248
+  voted: false
+odnoklassniki:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Odnoklassniki
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f263
+  voted: false
+odnoklassniki-square:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Odnoklassniki Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f264
+  voted: false
+oil-can:
+  changes:
+    - 5.2.0
+    - 5.10.1
+  label: Oil Can
+  search:
+    terms:
+      - auto
+      - crude
+      - gasoline
+      - grease
+      - lubricate
+      - petroleum
+  styles:
+    - solid
+  unicode: f613
+  voted: false
+old-republic:
+  changes:
+    - 5.0.12
+  label: Old Republic
+  search:
+    terms:
+      - politics
+      - star wars
+  styles:
+    - brands
+  unicode: f510
+  voted: false
+om:
+  changes:
+    - 5.3.0
+  label: Om
+  search:
+    terms:
+      - buddhism
+      - hinduism
+      - jainism
+      - mantra
+  styles:
+    - solid
+  unicode: f679
+  voted: false
+opencart:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: OpenCart
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f23d
+  voted: false
+openid:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: OpenID
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f19b
+  voted: false
+opera:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Opera
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f26a
+  voted: false
+optin-monster:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.7.0
+  label: Optin Monster
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f23c
+  voted: false
+osi:
+  changes:
+    - 5.0.0
+    - 5.8.0
+  label: Open Source Initiative
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f41a
+  voted: false
+otter:
+  changes:
+    - 5.4.0
+  label: Otter
+  search:
+    terms:
+      - animal
+      - badger
+      - fauna
+      - fur
+      - mammal
+      - marten
+  styles:
+    - solid
+  unicode: f700
+  voted: false
+outdent:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: Outdent
+  search:
+    terms:
+      - align
+      - justify
+      - paragraph
+      - tab
+  styles:
+    - solid
+  unicode: f03b
+  voted: false
+page4:
+  changes:
+    - 5.0.0
+  label: page4 Corporation
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d7
+  voted: false
+pagelines:
+  changes:
+    - '4'
+    - 5.0.0
+  label: Pagelines
+  search:
+    terms:
+      - eco
+      - flora
+      - leaf
+      - leaves
+      - nature
+      - plant
+      - tree
+  styles:
+    - brands
+  unicode: f18c
+  voted: false
+pager:
+  changes:
+    - 5.7.0
+  label: Pager
+  search:
+    terms:
+      - beeper
+      - cellphone
+      - communication
+  styles:
+    - solid
+  unicode: f815
+  voted: false
+paint-brush:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.1.0
+  label: Paint Brush
+  search:
+    terms:
+      - acrylic
+      - art
+      - brush
+      - color
+      - fill
+      - paint
+      - pigment
+      - watercolor
+  styles:
+    - solid
+  unicode: f1fc
+  voted: false
+paint-roller:
+  changes:
+    - 5.1.0
+  label: Paint Roller
+  search:
+    terms:
+      - acrylic
+      - art
+      - brush
+      - color
+      - fill
+      - paint
+      - pigment
+      - watercolor
+  styles:
+    - solid
+  unicode: f5aa
+  voted: false
+palette:
+  changes:
+    - 5.0.13
+  label: Palette
+  search:
+    terms:
+      - acrylic
+      - art
+      - brush
+      - color
+      - fill
+      - paint
+      - pigment
+      - watercolor
+  styles:
+    - solid
+  unicode: f53f
+  voted: true
+palfed:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Palfed
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d8
+  voted: false
+pallet:
+  changes:
+    - 5.0.7
+  label: Pallet
+  search:
+    terms:
+      - archive
+      - box
+      - inventory
+      - shipping
+      - warehouse
+  styles:
+    - solid
+  unicode: f482
+  voted: false
+paper-plane:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Paper Plane
+  search:
+    terms:
+      - air
+      - float
+      - fold
+      - mail
+      - paper
+      - send
+  styles:
+    - solid
+    - regular
+  unicode: f1d8
+  voted: false
+paperclip:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Paperclip
+  search:
+    terms:
+      - attach
+      - attachment
+      - connect
+      - link
+  styles:
+    - solid
+  unicode: f0c6
+  voted: false
+parachute-box:
+  changes:
+    - 5.0.9
+  label: Parachute Box
+  search:
+    terms:
+      - aid
+      - assistance
+      - rescue
+      - supplies
+  styles:
+    - solid
+  unicode: f4cd
+  voted: false
+paragraph:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.9.0
+  label: paragraph
+  search:
+    terms:
+      - edit
+      - format
+      - text
+      - writing
+  styles:
+    - solid
+  unicode: f1dd
+  voted: false
+parking:
+  changes:
+    - 5.0.13
+  label: Parking
+  search:
+    terms:
+      - auto
+      - car
+      - garage
+      - meter
+  styles:
+    - solid
+  unicode: f540
+  voted: true
+passport:
+  changes:
+    - 5.1.0
+  label: Passport
+  search:
+    terms:
+      - document
+      - id
+      - identification
+      - issued
+      - travel
+  styles:
+    - solid
+  unicode: f5ab
+  voted: false
+pastafarianism:
+  changes:
+    - 5.3.0
+  label: Pastafarianism
+  search:
+    terms:
+      - agnosticism
+      - atheism
+      - flying spaghetti monster
+      - fsm
+  styles:
+    - solid
+  unicode: f67b
+  voted: false
+paste:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Paste
+  search:
+    terms:
+      - clipboard
+      - copy
+      - document
+      - paper
+  styles:
+    - solid
+  unicode: f0ea
+  voted: false
+patreon:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Patreon
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3d9
+  voted: false
+pause:
+  changes:
+    - '1'
+    - 5.0.0
+  label: pause
+  search:
+    terms:
+      - hold
+      - wait
+  styles:
+    - solid
+  unicode: f04c
+  voted: false
+pause-circle:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Pause Circle
+  search:
+    terms:
+      - hold
+      - wait
+  styles:
+    - solid
+    - regular
+  unicode: f28b
+  voted: false
+paw:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Paw
+  search:
+    terms:
+      - animal
+      - cat
+      - dog
+      - pet
+      - print
+  styles:
+    - solid
+  unicode: f1b0
+  voted: false
+paypal:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Paypal
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1ed
+  voted: false
+peace:
+  changes:
+    - 5.3.0
+  label: Peace
+  search:
+    terms:
+      - serenity
+      - tranquility
+      - truce
+      - war
+  styles:
+    - solid
+  unicode: f67c
+  voted: false
+pen:
+  changes:
+    - 5.0.0
+    - 5.1.0
+  label: Pen
+  search:
+    terms:
+      - design
+      - edit
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f304
+  voted: false
+pen-alt:
+  changes:
+    - 5.0.0
+    - 5.1.0
+  label: Alternate Pen
+  search:
+    terms:
+      - design
+      - edit
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f305
+  voted: false
+pen-fancy:
+  changes:
+    - 5.1.0
+  label: Pen Fancy
+  search:
+    terms:
+      - design
+      - edit
+      - fountain pen
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f5ac
+  voted: false
+pen-nib:
+  changes:
+    - 5.1.0
+  label: Pen Nib
+  search:
+    terms:
+      - design
+      - edit
+      - fountain pen
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f5ad
+  voted: true
+pen-square:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Pen Square
+  search:
+    terms:
+      - edit
+      - pencil-square
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f14b
+  voted: false
+pencil-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Pencil
+  search:
+    terms:
+      - design
+      - edit
+      - pencil
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f303
+  voted: false
+pencil-ruler:
+  changes:
+    - 5.1.0
+  label: Pencil Ruler
+  search:
+    terms:
+      - design
+      - draft
+      - draw
+      - pencil
+  styles:
+    - solid
+  unicode: f5ae
+  voted: false
+penny-arcade:
+  changes:
+    - 5.4.0
+  label: Penny Arcade
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - game
+      - gaming
+      - pax
+      - tabletop
+  styles:
+    - brands
+  unicode: f704
+  voted: false
+people-carry:
+  changes:
+    - 5.0.9
+  label: People Carry
+  search:
+    terms:
+      - box
+      - carry
+      - fragile
+      - help
+      - movers
+      - package
+  styles:
+    - solid
+  unicode: f4ce
+  voted: false
+pepper-hot:
+  changes:
+    - 5.7.0
+  label: Hot Pepper
+  search:
+    terms:
+      - buffalo wings
+      - capsicum
+      - chili
+      - chilli
+      - habanero
+      - jalapeno
+      - mexican
+      - spicy
+      - tabasco
+      - vegetable
+  styles:
+    - solid
+  unicode: f816
+  voted: true
+percent:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Percent
+  search:
+    terms:
+      - discount
+      - fraction
+      - proportion
+      - rate
+      - ratio
+  styles:
+    - solid
+  unicode: f295
+  voted: false
+percentage:
+  changes:
+    - 5.0.13
+  label: Percentage
+  search:
+    terms:
+      - discount
+      - fraction
+      - proportion
+      - rate
+      - ratio
+  styles:
+    - solid
+  unicode: f541
+  voted: true
+periscope:
+  changes:
+    - 5.0.0
+  label: Periscope
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3da
+  voted: false
+person-booth:
+  changes:
+    - 5.5.0
+  label: Person Entering Booth
+  search:
+    terms:
+      - changing
+      - changing room
+      - election
+      - human
+      - person
+      - vote
+      - voting
+  styles:
+    - solid
+  unicode: f756
+  voted: false
+phabricator:
+  changes:
+    - 5.0.0
+  label: Phabricator
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3db
+  voted: false
+phoenix-framework:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Phoenix Framework
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3dc
+  voted: false
+phoenix-squadron:
+  changes:
+    - 5.0.12
+    - 5.8.0
+  label: Phoenix Squadron
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f511
+  voted: false
+phone:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Phone
+  search:
+    terms:
+      - call
+      - earphone
+      - number
+      - support
+      - telephone
+      - voice
+  styles:
+    - solid
+  unicode: f095
+  voted: false
+phone-alt:
+  changes:
+    - 5.9.0
+    - 5.10.1
+  label: Alternate Phone
+  search:
+    terms:
+      - call
+      - earphone
+      - number
+      - support
+      - telephone
+      - voice
+  styles:
+    - solid
+  unicode: f879
+  voted: false
+phone-slash:
+  changes:
+    - 5.0.0
+    - 5.0.9
+  label: Phone Slash
+  search:
+    terms:
+      - call
+      - cancel
+      - earphone
+      - mute
+      - number
+      - support
+      - telephone
+      - voice
+  styles:
+    - solid
+  unicode: f3dd
+  voted: false
+phone-square:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Phone Square
+  search:
+    terms:
+      - call
+      - earphone
+      - number
+      - support
+      - telephone
+      - voice
+  styles:
+    - solid
+  unicode: f098
+  voted: false
+phone-square-alt:
+  changes:
+    - 5.9.0
+    - 5.10.1
+  label: Alternate Phone Square
+  search:
+    terms:
+      - call
+      - earphone
+      - number
+      - support
+      - telephone
+      - voice
+  styles:
+    - solid
+  unicode: f87b
+  voted: false
+phone-volume:
+  changes:
+    - '4.6'
+    - 5.0.0
+    - 5.0.3
+    - 5.7.0
+  label: Phone Volume
+  search:
+    terms:
+      - call
+      - earphone
+      - number
+      - sound
+      - support
+      - telephone
+      - voice
+      - volume-control-phone
+  styles:
+    - solid
+  unicode: f2a0
+  voted: false
+photo-video:
+  changes:
+    - 5.9.0
+  label: Photo Video
+  search:
+    terms:
+      - av
+      - film
+      - image
+      - library
+      - media
+  styles:
+    - solid
+  unicode: f87c
+  voted: false
+php:
+  changes:
+    - 5.0.5
+  label: PHP
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f457
+  voted: true
+pied-piper:
+  changes:
+    - '4.6'
+    - 5.0.0
+    - 5.0.10
+  label: Pied Piper Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2ae
+  voted: false
+pied-piper-alt:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.7.0
+  label: Alternate Pied Piper Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a8
+  voted: false
+pied-piper-hat:
+  changes:
+    - 5.0.10
+  label: Pied Piper-hat
+  search:
+    terms:
+      - clothing
+  styles:
+    - brands
+  unicode: f4e5
+  voted: false
+pied-piper-pp:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Pied Piper PP Logo (Old)
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a7
+  voted: false
+piggy-bank:
+  changes:
+    - 5.0.9
+  label: Piggy Bank
+  search:
+    terms:
+      - bank
+      - save
+      - savings
+  styles:
+    - solid
+  unicode: f4d3
+  voted: false
+pills:
+  changes:
+    - 5.0.7
+  label: Pills
+  search:
+    terms:
+      - drugs
+      - medicine
+      - prescription
+      - tablets
+  styles:
+    - solid
+  unicode: f484
+  voted: false
+pinterest:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Pinterest
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f0d2
+  voted: false
+pinterest-p:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Pinterest P
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f231
+  voted: false
+pinterest-square:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Pinterest Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f0d3
+  voted: false
+pizza-slice:
+  changes:
+    - 5.7.0
+  label: Pizza Slice
+  search:
+    terms:
+      - cheese
+      - chicago
+      - italian
+      - mozzarella
+      - new york
+      - pepperoni
+      - pie
+      - slice
+      - teenage mutant ninja turtles
+      - tomato
+  styles:
+    - solid
+  unicode: f818
+  voted: true
+place-of-worship:
+  changes:
+    - 5.3.0
+  label: Place of Worship
+  search:
+    terms:
+      - building
+      - church
+      - holy
+      - mosque
+      - synagogue
+  styles:
+    - solid
+  unicode: f67f
+  voted: false
+plane:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.13
+  label: plane
+  search:
+    terms:
+      - airplane
+      - destination
+      - fly
+      - location
+      - mode
+      - travel
+      - trip
+  styles:
+    - solid
+  unicode: f072
+  voted: false
+plane-arrival:
+  changes:
+    - 5.1.0
+  label: Plane Arrival
+  search:
+    terms:
+      - airplane
+      - arriving
+      - destination
+      - fly
+      - land
+      - landing
+      - location
+      - mode
+      - travel
+      - trip
+  styles:
+    - solid
+  unicode: f5af
+  voted: false
+plane-departure:
+  changes:
+    - 5.1.0
+    - 5.8.0
+  label: Plane Departure
+  search:
+    terms:
+      - airplane
+      - departing
+      - destination
+      - fly
+      - location
+      - mode
+      - take off
+      - taking off
+      - travel
+      - trip
+  styles:
+    - solid
+  unicode: f5b0
+  voted: false
+play:
+  changes:
+    - '1'
+    - 5.0.0
+  label: play
+  search:
+    terms:
+      - audio
+      - music
+      - playing
+      - sound
+      - start
+      - video
+  styles:
+    - solid
+  unicode: f04b
+  voted: false
+play-circle:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Play Circle
+  search:
+    terms:
+      - audio
+      - music
+      - playing
+      - sound
+      - start
+      - video
+  styles:
+    - solid
+    - regular
+  unicode: f144
+  voted: false
+playstation:
+  changes:
+    - 5.0.0
+  label: PlayStation
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3df
+  voted: false
+plug:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Plug
+  search:
+    terms:
+      - connect
+      - electric
+      - online
+      - power
+  styles:
+    - solid
+  unicode: f1e6
+  voted: false
+plus:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.13
+  label: plus
+  search:
+    terms:
+      - add
+      - create
+      - expand
+      - new
+      - positive
+      - shape
+  styles:
+    - solid
+  unicode: f067
+  voted: false
+plus-circle:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Plus Circle
+  search:
+    terms:
+      - add
+      - create
+      - expand
+      - new
+      - positive
+      - shape
+  styles:
+    - solid
+  unicode: f055
+  voted: false
+plus-square:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Plus Square
+  search:
+    terms:
+      - add
+      - create
+      - expand
+      - new
+      - positive
+      - shape
+  styles:
+    - solid
+    - regular
+  unicode: f0fe
+  voted: false
+podcast:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Podcast
+  search:
+    terms:
+      - audio
+      - broadcast
+      - music
+      - sound
+  styles:
+    - solid
+  unicode: f2ce
+  voted: false
+poll:
+  changes:
+    - 5.3.0
+    - 5.10.1
+  label: Poll
+  search:
+    terms:
+      - results
+      - survey
+      - trend
+      - vote
+      - voting
+  styles:
+    - solid
+  unicode: f681
+  voted: false
+poll-h:
+  changes:
+    - 5.3.0
+    - 5.10.1
+  label: Poll H
+  search:
+    terms:
+      - results
+      - survey
+      - trend
+      - vote
+      - voting
+  styles:
+    - solid
+  unicode: f682
+  voted: false
+poo:
+  changes:
+    - 5.0.0
+    - 5.0.9
+  label: Poo
+  search:
+    terms:
+      - crap
+      - poop
+      - shit
+      - smile
+      - turd
+  styles:
+    - solid
+  unicode: f2fe
+  voted: false
+poo-storm:
+  changes:
+    - 5.5.0
+  label: Poo Storm
+  search:
+    terms:
+      - bolt
+      - cloud
+      - euphemism
+      - lightning
+      - mess
+      - poop
+      - shit
+      - turd
+  styles:
+    - solid
+  unicode: f75a
+  voted: false
+poop:
+  changes:
+    - 5.2.0
+  label: Poop
+  search:
+    terms:
+      - crap
+      - poop
+      - shit
+      - smile
+      - turd
+  styles:
+    - solid
+  unicode: f619
+  voted: false
+portrait:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Portrait
+  search:
+    terms:
+      - id
+      - image
+      - photo
+      - picture
+      - selfie
+  styles:
+    - solid
+  unicode: f3e0
+  voted: false
+pound-sign:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Pound Sign
+  search:
+    terms:
+      - currency
+      - gbp
+      - money
+  styles:
+    - solid
+  unicode: f154
+  voted: false
+power-off:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Power Off
+  search:
+    terms:
+      - cancel
+      - computer
+      - 'on'
+      - reboot
+      - restart
+  styles:
+    - solid
+  unicode: f011
+  voted: false
+pray:
+  changes:
+    - 5.3.0
+  label: Pray
+  search:
+    terms:
+      - kneel
+      - preach
+      - religion
+      - worship
+  styles:
+    - solid
+  unicode: f683
+  voted: false
+praying-hands:
+  changes:
+    - 5.3.0
+  label: Praying Hands
+  search:
+    terms:
+      - kneel
+      - preach
+      - religion
+      - worship
+  styles:
+    - solid
+  unicode: f684
+  voted: false
+prescription:
+  changes:
+    - 5.1.0
+  label: Prescription
+  search:
+    terms:
+      - drugs
+      - medical
+      - medicine
+      - pharmacy
+      - rx
+  styles:
+    - solid
+  unicode: f5b1
+  voted: false
+prescription-bottle:
+  changes:
+    - 5.0.7
+  label: Prescription Bottle
+  search:
+    terms:
+      - drugs
+      - medical
+      - medicine
+      - pharmacy
+      - rx
+  styles:
+    - solid
+  unicode: f485
+  voted: false
+prescription-bottle-alt:
+  changes:
+    - 5.0.7
+  label: Alternate Prescription Bottle
+  search:
+    terms:
+      - drugs
+      - medical
+      - medicine
+      - pharmacy
+      - rx
+  styles:
+    - solid
+  unicode: f486
+  voted: false
+print:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.3.0
+  label: print
+  search:
+    terms:
+      - business
+      - copy
+      - document
+      - office
+      - paper
+  styles:
+    - solid
+  unicode: f02f
+  voted: false
+procedures:
+  changes:
+    - 5.0.7
+  label: Procedures
+  search:
+    terms:
+      - EKG
+      - bed
+      - electrocardiogram
+      - health
+      - hospital
+      - life
+      - patient
+      - vital
+  styles:
+    - solid
+  unicode: f487
+  voted: false
+product-hunt:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Product Hunt
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f288
+  voted: false
+project-diagram:
+  changes:
+    - 5.0.13
+  label: Project Diagram
+  search:
+    terms:
+      - chart
+      - graph
+      - network
+      - pert
+  styles:
+    - solid
+  unicode: f542
+  voted: false
+pushed:
+  changes:
+    - 5.0.0
+  label: Pushed
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3e1
+  voted: false
+puzzle-piece:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Puzzle Piece
+  search:
+    terms:
+      - add-on
+      - addon
+      - game
+      - section
+  styles:
+    - solid
+  unicode: f12e
+  voted: false
+python:
+  changes:
+    - 5.0.0
+  label: Python
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3e2
+  voted: false
+qq:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: QQ
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d6
+  voted: false
+qrcode:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.10.1
+  label: qrcode
+  search:
+    terms:
+      - barcode
+      - info
+      - information
+      - scan
+  styles:
+    - solid
+  unicode: f029
+  voted: false
+question:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Question
+  search:
+    terms:
+      - help
+      - information
+      - support
+      - unknown
+  styles:
+    - solid
+  unicode: f128
+  voted: false
+question-circle:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Question Circle
+  search:
+    terms:
+      - help
+      - information
+      - support
+      - unknown
+  styles:
+    - solid
+    - regular
+  unicode: f059
+  voted: false
+quidditch:
+  changes:
+    - 5.0.5
+  label: Quidditch
+  search:
+    terms:
+      - ball
+      - bludger
+      - broom
+      - golden snitch
+      - harry potter
+      - hogwarts
+      - quaffle
+      - sport
+      - wizard
+  styles:
+    - solid
+  unicode: f458
+  voted: false
+quinscape:
+  changes:
+    - 5.0.5
+    - 5.7.0
+    - 5.8.0
+  label: QuinScape
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f459
+  voted: false
+quora:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Quora
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2c4
+  voted: false
+quote-left:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.0.9
+  label: quote-left
+  search:
+    terms:
+      - mention
+      - note
+      - phrase
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f10d
+  voted: false
+quote-right:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.0.9
+  label: quote-right
+  search:
+    terms:
+      - mention
+      - note
+      - phrase
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f10e
+  voted: false
+quran:
+  changes:
+    - 5.3.0
+  label: Quran
+  search:
+    terms:
+      - book
+      - islam
+      - muslim
+      - religion
+  styles:
+    - solid
+  unicode: f687
+  voted: false
+r-project:
+  changes:
+    - 5.0.11
+    - 5.0.12
+  label: R Project
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f7
+  voted: true
+radiation:
+  changes:
+    - 5.6.0
+    - 5.8.2
+  label: Radiation
+  search:
+    terms:
+      - danger
+      - dangerous
+      - deadly
+      - hazard
+      - nuclear
+      - radioactive
+      - warning
+  styles:
+    - solid
+  unicode: f7b9
+  voted: true
+radiation-alt:
+  changes:
+    - 5.6.0
+    - 5.8.2
+  label: Alternate Radiation
+  search:
+    terms:
+      - danger
+      - dangerous
+      - deadly
+      - hazard
+      - nuclear
+      - radioactive
+      - warning
+  styles:
+    - solid
+  unicode: f7ba
+  voted: true
+rainbow:
+  changes:
+    - 5.5.0
+    - 5.10.1
+  label: Rainbow
+  search:
+    terms:
+      - gold
+      - leprechaun
+      - prism
+      - rain
+      - sky
+  styles:
+    - solid
+  unicode: f75b
+  voted: false
+random:
+  changes:
+    - '1'
+    - 5.0.0
+  label: random
+  search:
+    terms:
+      - arrows
+      - shuffle
+      - sort
+      - swap
+      - switch
+      - transfer
+  styles:
+    - solid
+  unicode: f074
+  voted: false
+raspberry-pi:
+  changes:
+    - 5.6.0
+  label: Raspberry Pi
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f7bb
+  voted: true
+ravelry:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Ravelry
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2d9
+  voted: false
+react:
+  changes:
+    - 5.0.0
+  label: React
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f41b
+  voted: false
+reacteurope:
+  changes:
+    - 5.5.0
+    - 5.8.0
+  label: ReactEurope
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f75d
+  voted: false
+readme:
+  changes:
+    - 5.0.9
+    - 5.0.10
+  label: ReadMe
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4d5
+  voted: false
+rebel:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Rebel Alliance
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d0
+  voted: false
+receipt:
+  changes:
+    - 5.0.13
+  label: Receipt
+  search:
+    terms:
+      - check
+      - invoice
+      - money
+      - pay
+      - table
+  styles:
+    - solid
+  unicode: f543
+  voted: true
+recycle:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Recycle
+  search:
+    terms:
+      - Waste
+      - compost
+      - garbage
+      - reuse
+      - trash
+  styles:
+    - solid
+  unicode: f1b8
+  voted: false
+red-river:
+  changes:
+    - 5.0.0
+  label: red river
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3e3
+  voted: false
+reddit:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: reddit Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a1
+  voted: false
+reddit-alien:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: reddit Alien
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f281
+  voted: false
+reddit-square:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: reddit Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a2
+  voted: false
+redhat:
+  changes:
+    - 5.6.0
+    - 5.8.2
+  label: Redhat
+  search:
+    terms:
+      - linux
+      - operating system
+      - os
+  styles:
+    - brands
+  unicode: f7bc
+  voted: true
+redo:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.8.0
+  label: Redo
+  search:
+    terms:
+      - forward
+      - refresh
+      - reload
+      - repeat
+  styles:
+    - solid
+  unicode: f01e
+  voted: false
+redo-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Redo
+  search:
+    terms:
+      - forward
+      - refresh
+      - reload
+      - repeat
+  styles:
+    - solid
+  unicode: f2f9
+  voted: false
+registered:
+  changes:
+    - '4.4'
+    - 5.0.0
+    - 5.10.1
+  label: Registered Trademark
+  search:
+    terms:
+      - copyright
+      - mark
+      - trademark
+  styles:
+    - solid
+    - regular
+  unicode: f25d
+  voted: false
+remove-format:
+  changes:
+    - 5.9.0
+  label: Remove Format
+  search:
+    terms:
+      - cancel
+      - font
+      - format
+      - remove
+      - style
+      - text
+  styles:
+    - solid
+  unicode: f87d
+  voted: false
+renren:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Renren
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f18b
+  voted: false
+reply:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Reply
+  search:
+    terms:
+      - mail
+      - message
+      - respond
+  styles:
+    - solid
+  unicode: f3e5
+  voted: false
+reply-all:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: reply-all
+  search:
+    terms:
+      - mail
+      - message
+      - respond
+  styles:
+    - solid
+  unicode: f122
+  voted: false
+replyd:
+  changes:
+    - 5.0.0
+  label: replyd
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3e6
+  voted: false
+republican:
+  changes:
+    - 5.5.0
+  label: Republican
+  search:
+    terms:
+      - american
+      - conservative
+      - election
+      - elephant
+      - politics
+      - republican party
+      - right
+      - right-wing
+      - usa
+  styles:
+    - solid
+  unicode: f75e
+  voted: false
+researchgate:
+  changes:
+    - 5.0.11
+  label: Researchgate
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f8
+  voted: true
+resolving:
+  changes:
+    - 5.0.0
+  label: Resolving
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3e7
+  voted: false
+restroom:
+  changes:
+    - 5.6.0
+  label: Restroom
+  search:
+    terms:
+      - bathroom
+      - john
+      - loo
+      - potty
+      - washroom
+      - waste
+      - wc
+  styles:
+    - solid
+  unicode: f7bd
+  voted: true
+retweet:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Retweet
+  search:
+    terms:
+      - refresh
+      - reload
+      - share
+      - swap
+  styles:
+    - solid
+  unicode: f079
+  voted: false
+rev:
+  changes:
+    - 5.1.0
+    - 5.1.1
+    - 5.8.0
+  label: Rev.io
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5b2
+  voted: false
+ribbon:
+  changes:
+    - 5.0.9
+  label: Ribbon
+  search:
+    terms:
+      - badge
+      - cause
+      - lapel
+      - pin
+  styles:
+    - solid
+  unicode: f4d6
+  voted: false
+ring:
+  changes:
+    - 5.4.0
+  label: Ring
+  search:
+    terms:
+      - Dungeons & Dragons
+      - Gollum
+      - band
+      - binding
+      - d&d
+      - dnd
+      - engagement
+      - fantasy
+      - gold
+      - jewelry
+      - marriage
+      - precious
+  styles:
+    - solid
+  unicode: f70b
+  voted: false
+road:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.2.0
+  label: road
+  search:
+    terms:
+      - highway
+      - map
+      - pavement
+      - route
+      - street
+      - travel
+  styles:
+    - solid
+  unicode: f018
+  voted: false
+robot:
+  changes:
+    - 5.0.13
+  label: Robot
+  search:
+    terms:
+      - android
+      - automate
+      - computer
+      - cyborg
+  styles:
+    - solid
+  unicode: f544
+  voted: true
+rocket:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.7.0
+  label: rocket
+  search:
+    terms:
+      - aircraft
+      - app
+      - jet
+      - launch
+      - nasa
+      - space
+  styles:
+    - solid
+  unicode: f135
+  voted: false
+rocketchat:
+  changes:
+    - 5.0.0
+    - 5.4.2
+    - 5.8.0
+  label: Rocket.Chat
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3e8
+  voted: false
+rockrms:
+  changes:
+    - 5.0.0
+  label: Rockrms
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3e9
+  voted: false
+route:
+  changes:
+    - 5.0.9
+    - 5.2.0
+  label: Route
+  search:
+    terms:
+      - directions
+      - navigation
+      - travel
+  styles:
+    - solid
+  unicode: f4d7
+  voted: false
+rss:
+  changes:
+    - '2'
+    - 5.0.0
+  label: rss
+  search:
+    terms:
+      - blog
+      - feed
+      - journal
+      - news
+      - writing
+  styles:
+    - solid
+  unicode: f09e
+  voted: false
+rss-square:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: RSS Square
+  search:
+    terms:
+      - blog
+      - feed
+      - journal
+      - news
+      - writing
+  styles:
+    - solid
+  unicode: f143
+  voted: false
+ruble-sign:
+  changes:
+    - '4'
+    - 5.0.0
+  label: Ruble Sign
+  search:
+    terms:
+      - currency
+      - money
+      - rub
+  styles:
+    - solid
+  unicode: f158
+  voted: false
+ruler:
+  changes:
+    - 5.0.13
+  label: Ruler
+  search:
+    terms:
+      - design
+      - draft
+      - length
+      - measure
+      - planning
+  styles:
+    - solid
+  unicode: f545
+  voted: true
+ruler-combined:
+  changes:
+    - 5.0.13
+  label: Ruler Combined
+  search:
+    terms:
+      - design
+      - draft
+      - length
+      - measure
+      - planning
+  styles:
+    - solid
+  unicode: f546
+  voted: true
+ruler-horizontal:
+  changes:
+    - 5.0.13
+  label: Ruler Horizontal
+  search:
+    terms:
+      - design
+      - draft
+      - length
+      - measure
+      - planning
+  styles:
+    - solid
+  unicode: f547
+  voted: true
+ruler-vertical:
+  changes:
+    - 5.0.13
+  label: Ruler Vertical
+  search:
+    terms:
+      - design
+      - draft
+      - length
+      - measure
+      - planning
+  styles:
+    - solid
+  unicode: f548
+  voted: true
+running:
+  changes:
+    - 5.4.0
+  label: Running
+  search:
+    terms:
+      - exercise
+      - health
+      - jog
+      - person
+      - run
+      - sport
+      - sprint
+  styles:
+    - solid
+  unicode: f70c
+  voted: true
+rupee-sign:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Indian Rupee Sign
+  search:
+    terms:
+      - currency
+      - indian
+      - inr
+      - money
+  styles:
+    - solid
+  unicode: f156
+  voted: false
+sad-cry:
+  changes:
+    - 5.1.0
+  label: Crying Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - tear
+      - tears
+  styles:
+    - solid
+    - regular
+  unicode: f5b3
+  voted: false
+sad-tear:
+  changes:
+    - 5.1.0
+  label: Loudly Crying Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - tear
+      - tears
+  styles:
+    - solid
+    - regular
+  unicode: f5b4
+  voted: false
+safari:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Safari
+  search:
+    terms:
+      - browser
+  styles:
+    - brands
+  unicode: f267
+  voted: false
+salesforce:
+  changes:
+    - 5.8.0
+  label: Salesforce
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f83b
+sass:
+  changes:
+    - 5.0.0
+    - 5.8.0
+  label: Sass
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f41e
+  voted: false
+satellite:
+  changes:
+    - 5.6.0
+    - 5.10.1
+  label: Satellite
+  search:
+    terms:
+      - communications
+      - hardware
+      - orbit
+      - space
+  styles:
+    - solid
+  unicode: f7bf
+  voted: true
+satellite-dish:
+  changes:
+    - 5.6.0
+  label: Satellite Dish
+  search:
+    terms:
+      - SETI
+      - communications
+      - hardware
+      - receiver
+      - saucer
+      - signal
+  styles:
+    - solid
+  unicode: f7c0
+  voted: true
+save:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Save
+  search:
+    terms:
+      - disk
+      - download
+      - floppy
+      - floppy-o
+  styles:
+    - solid
+    - regular
+  unicode: f0c7
+  voted: false
+schlix:
+  changes:
+    - 5.0.0
+  label: SCHLIX
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ea
+  voted: false
+school:
+  changes:
+    - 5.0.13
+  label: School
+  search:
+    terms:
+      - building
+      - education
+      - learn
+      - student
+      - teacher
+  styles:
+    - solid
+  unicode: f549
+  voted: true
+screwdriver:
+  changes:
+    - 5.0.13
+  label: Screwdriver
+  search:
+    terms:
+      - admin
+      - fix
+      - mechanic
+      - repair
+      - settings
+      - tool
+  styles:
+    - solid
+  unicode: f54a
+  voted: true
+scribd:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Scribd
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f28a
+  voted: false
+scroll:
+  changes:
+    - 5.4.0
+  label: Scroll
+  search:
+    terms:
+      - Dungeons & Dragons
+      - announcement
+      - d&d
+      - dnd
+      - fantasy
+      - paper
+      - script
+  styles:
+    - solid
+  unicode: f70e
+  voted: false
+sd-card:
+  changes:
+    - 5.6.0
+  label: Sd Card
+  search:
+    terms:
+      - image
+      - memory
+      - photo
+      - save
+  styles:
+    - solid
+  unicode: f7c2
+  voted: true
+search:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Search
+  search:
+    terms:
+      - bigger
+      - enlarge
+      - find
+      - magnify
+      - preview
+      - zoom
+  styles:
+    - solid
+  unicode: f002
+  voted: false
+search-dollar:
+  changes:
+    - 5.3.0
+  label: Search Dollar
+  search:
+    terms:
+      - bigger
+      - enlarge
+      - find
+      - magnify
+      - money
+      - preview
+      - zoom
+  styles:
+    - solid
+  unicode: f688
+  voted: false
+search-location:
+  changes:
+    - 5.3.0
+  label: Search Location
+  search:
+    terms:
+      - bigger
+      - enlarge
+      - find
+      - magnify
+      - preview
+      - zoom
+  styles:
+    - solid
+  unicode: f689
+  voted: false
+search-minus:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.13
+  label: Search Minus
+  search:
+    terms:
+      - minify
+      - negative
+      - smaller
+      - zoom
+      - zoom out
+  styles:
+    - solid
+  unicode: f010
+  voted: false
+search-plus:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Search Plus
+  search:
+    terms:
+      - bigger
+      - enlarge
+      - magnify
+      - positive
+      - zoom
+      - zoom in
+  styles:
+    - solid
+  unicode: f00e
+  voted: false
+searchengin:
+  changes:
+    - 5.0.0
+  label: Searchengin
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3eb
+  voted: false
+seedling:
+  changes:
+    - 5.0.9
+  label: Seedling
+  search:
+    terms:
+      - flora
+      - grow
+      - plant
+      - vegan
+  styles:
+    - solid
+  unicode: f4d8
+  voted: false
+sellcast:
+  changes:
+    - 5.0.0
+  label: Sellcast
+  search:
+    terms:
+      - eercast
+  styles:
+    - brands
+  unicode: f2da
+  voted: false
+sellsy:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Sellsy
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f213
+  voted: false
+server:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Server
+  search:
+    terms:
+      - computer
+      - cpu
+      - database
+      - hardware
+      - network
+  styles:
+    - solid
+  unicode: f233
+  voted: false
+servicestack:
+  changes:
+    - 5.0.0
+  label: Servicestack
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ec
+  voted: false
+shapes:
+  changes:
+    - 5.2.0
+  label: Shapes
+  search:
+    terms:
+      - blocks
+      - build
+      - circle
+      - square
+      - triangle
+  styles:
+    - solid
+  unicode: f61f
+  voted: false
+share:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Share
+  search:
+    terms:
+      - forward
+      - save
+      - send
+      - social
+  styles:
+    - solid
+  unicode: f064
+  voted: false
+share-alt:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Alternate Share
+  search:
+    terms:
+      - forward
+      - save
+      - send
+      - social
+  styles:
+    - solid
+  unicode: f1e0
+  voted: false
+share-alt-square:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Alternate Share Square
+  search:
+    terms:
+      - forward
+      - save
+      - send
+      - social
+  styles:
+    - solid
+  unicode: f1e1
+  voted: false
+share-square:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Share Square
+  search:
+    terms:
+      - forward
+      - save
+      - send
+      - social
+  styles:
+    - solid
+    - regular
+  unicode: f14d
+  voted: false
+shekel-sign:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Shekel Sign
+  search:
+    terms:
+      - currency
+      - ils
+      - money
+  styles:
+    - solid
+  unicode: f20b
+  voted: true
+shield-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Shield
+  search:
+    terms:
+      - achievement
+      - award
+      - block
+      - defend
+      - security
+      - winner
+  styles:
+    - solid
+  unicode: f3ed
+  voted: false
+ship:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Ship
+  search:
+    terms:
+      - boat
+      - sea
+      - water
+  styles:
+    - solid
+  unicode: f21a
+  voted: false
+shipping-fast:
+  changes:
+    - 5.0.7
+  label: Shipping Fast
+  search:
+    terms:
+      - express
+      - fedex
+      - mail
+      - overnight
+      - package
+      - ups
+  styles:
+    - solid
+  unicode: f48b
+  voted: false
+shirtsinbulk:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.7.0
+  label: Shirts in Bulk
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f214
+  voted: false
+shoe-prints:
+  changes:
+    - 5.0.13
+  label: Shoe Prints
+  search:
+    terms:
+      - feet
+      - footprints
+      - steps
+      - walk
+  styles:
+    - solid
+  unicode: f54b
+  voted: true
+shopping-bag:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Shopping Bag
+  search:
+    terms:
+      - buy
+      - checkout
+      - grocery
+      - payment
+      - purchase
+  styles:
+    - solid
+  unicode: f290
+  voted: false
+shopping-basket:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Shopping Basket
+  search:
+    terms:
+      - buy
+      - checkout
+      - grocery
+      - payment
+      - purchase
+  styles:
+    - solid
+  unicode: f291
+  voted: false
+shopping-cart:
+  changes:
+    - '1'
+    - 5.0.0
+  label: shopping-cart
+  search:
+    terms:
+      - buy
+      - checkout
+      - grocery
+      - payment
+      - purchase
+  styles:
+    - solid
+  unicode: f07a
+  voted: false
+shopware:
+  changes:
+    - 5.1.0
+    - 5.8.0
+  label: Shopware
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5b5
+  voted: false
+shower:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Shower
+  search:
+    terms:
+      - bath
+      - clean
+      - faucet
+      - water
+  styles:
+    - solid
+  unicode: f2cc
+  voted: false
+shuttle-van:
+  changes:
+    - 5.1.0
+  label: Shuttle Van
+  search:
+    terms:
+      - airport
+      - machine
+      - public-transportation
+      - transportation
+      - travel
+      - vehicle
+  styles:
+    - solid
+  unicode: f5b6
+  voted: false
+sign:
+  changes:
+    - 5.0.9
+  label: Sign
+  search:
+    terms:
+      - directions
+      - real estate
+      - signage
+      - wayfinding
+  styles:
+    - solid
+  unicode: f4d9
+  voted: false
+sign-in-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Sign In
+  search:
+    terms:
+      - arrow
+      - enter
+      - join
+      - log in
+      - login
+      - sign in
+      - sign up
+      - sign-in
+      - signin
+      - signup
+  styles:
+    - solid
+  unicode: f2f6
+  voted: false
+sign-language:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Sign Language
+  search:
+    terms:
+      - Translate
+      - asl
+      - deaf
+      - hands
+  styles:
+    - solid
+  unicode: f2a7
+  voted: false
+sign-out-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Sign Out
+  search:
+    terms:
+      - arrow
+      - exit
+      - leave
+      - log out
+      - logout
+      - sign-out
+  styles:
+    - solid
+  unicode: f2f5
+  voted: false
+signal:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.3.0
+    - 5.10.1
+  label: signal
+  search:
+    terms:
+      - bars
+      - graph
+      - online
+      - reception
+      - status
+  styles:
+    - solid
+  unicode: f012
+  voted: false
+signature:
+  changes:
+    - 5.1.0
+    - 5.6.0
+  label: Signature
+  search:
+    terms:
+      - John Hancock
+      - cursive
+      - name
+      - writing
+  styles:
+    - solid
+  unicode: f5b7
+  voted: true
+sim-card:
+  changes:
+    - 5.6.0
+    - 5.8.2
+  label: SIM Card
+  search:
+    terms:
+      - hard drive
+      - hardware
+      - portable
+      - storage
+      - technology
+      - tiny
+  styles:
+    - solid
+  unicode: f7c4
+  voted: true
+simplybuilt:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: SimplyBuilt
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f215
+  voted: false
+sistrix:
+  changes:
+    - 5.0.0
+  label: SISTRIX
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3ee
+  voted: false
+sitemap:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.13
+  label: Sitemap
+  search:
+    terms:
+      - directory
+      - hierarchy
+      - ia
+      - information architecture
+      - organization
+  styles:
+    - solid
+  unicode: f0e8
+  voted: false
+sith:
+  changes:
+    - 5.0.12
+  label: Sith
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f512
+  voted: false
+skating:
+  changes:
+    - 5.6.0
+  label: Skating
+  search:
+    terms:
+      - activity
+      - figure skating
+      - fitness
+      - ice
+      - person
+      - winter
+  styles:
+    - solid
+  unicode: f7c5
+sketch:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Sketch
+  search:
+    terms:
+      - app
+      - design
+      - interface
+  styles:
+    - brands
+  unicode: f7c6
+  voted: false
+skiing:
+  changes:
+    - 5.6.0
+  label: Skiing
+  search:
+    terms:
+      - activity
+      - downhill
+      - fast
+      - fitness
+      - olympics
+      - outdoors
+      - person
+      - seasonal
+      - slalom
+  styles:
+    - solid
+  unicode: f7c9
+skiing-nordic:
+  changes:
+    - 5.6.0
+  label: Skiing Nordic
+  search:
+    terms:
+      - activity
+      - cross country
+      - fitness
+      - outdoors
+      - person
+      - seasonal
+  styles:
+    - solid
+  unicode: f7ca
+skull:
+  changes:
+    - 5.0.13
+  label: Skull
+  search:
+    terms:
+      - bones
+      - skeleton
+      - x-ray
+      - yorick
+  styles:
+    - solid
+  unicode: f54c
+  voted: true
+skull-crossbones:
+  changes:
+    - 5.4.0
+  label: Skull & Crossbones
+  search:
+    terms:
+      - Dungeons & Dragons
+      - alert
+      - bones
+      - d&d
+      - danger
+      - dead
+      - deadly
+      - death
+      - dnd
+      - fantasy
+      - halloween
+      - holiday
+      - jolly-roger
+      - pirate
+      - poison
+      - skeleton
+      - warning
+  styles:
+    - solid
+  unicode: f714
+  voted: false
+skyatlas:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.0.3
+  label: skyatlas
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f216
+  voted: false
+skype:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Skype
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f17e
+  voted: false
+slack:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.7.0
+  label: Slack Logo
+  search:
+    terms:
+      - anchor
+      - hash
+      - hashtag
+  styles:
+    - brands
+  unicode: f198
+  voted: false
+slack-hash:
+  changes:
+    - 5.0.0
+  label: Slack Hashtag
+  search:
+    terms:
+      - anchor
+      - hash
+      - hashtag
+  styles:
+    - brands
+  unicode: f3ef
+  voted: false
+slash:
+  changes:
+    - 5.4.0
+  label: Slash
+  search:
+    terms:
+      - cancel
+      - close
+      - mute
+      - 'off'
+      - stop
+      - x
+  styles:
+    - solid
+  unicode: f715
+  voted: true
+sleigh:
+  changes:
+    - 5.6.0
+  label: Sleigh
+  search:
+    terms:
+      - christmas
+      - claus
+      - fly
+      - holiday
+      - santa
+      - sled
+      - snow
+      - xmas
+  styles:
+    - solid
+  unicode: f7cc
+sliders-h:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.0.11
+  label: Horizontal Sliders
+  search:
+    terms:
+      - adjust
+      - settings
+      - sliders
+      - toggle
+  styles:
+    - solid
+  unicode: f1de
+  voted: false
+slideshare:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Slideshare
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1e7
+  voted: false
+smile:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.0.9
+    - 5.1.0
+  label: Smiling Face
+  search:
+    terms:
+      - approve
+      - emoticon
+      - face
+      - happy
+      - rating
+      - satisfied
+  styles:
+    - solid
+    - regular
+  unicode: f118
+  voted: false
+smile-beam:
+  changes:
+    - 5.1.0
+  label: Beaming Face With Smiling Eyes
+  search:
+    terms:
+      - emoticon
+      - face
+      - happy
+      - positive
+  styles:
+    - solid
+    - regular
+  unicode: f5b8
+  voted: false
+smile-wink:
+  changes:
+    - 5.1.0
+  label: Winking Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - happy
+      - hint
+      - joke
+  styles:
+    - solid
+    - regular
+  unicode: f4da
+  voted: false
+smog:
+  changes:
+    - 5.5.0
+  label: Smog
+  search:
+    terms:
+      - dragon
+      - fog
+      - haze
+      - pollution
+      - smoke
+      - weather
+  styles:
+    - solid
+  unicode: f75f
+  voted: false
+smoking:
+  changes:
+    - 5.0.7
+  label: Smoking
+  search:
+    terms:
+      - cancer
+      - cigarette
+      - nicotine
+      - smoking status
+      - tobacco
+  styles:
+    - solid
+  unicode: f48d
+  voted: true
+smoking-ban:
+  changes:
+    - 5.0.13
+  label: Smoking Ban
+  search:
+    terms:
+      - ban
+      - cancel
+      - no smoking
+      - non-smoking
+  styles:
+    - solid
+  unicode: f54d
+  voted: true
+sms:
+  changes:
+    - 5.6.0
+  label: SMS
+  search:
+    terms:
+      - chat
+      - conversation
+      - message
+      - mobile
+      - notification
+      - phone
+      - sms
+      - texting
+  styles:
+    - solid
+  unicode: f7cd
+  voted: true
+snapchat:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Snapchat
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2ab
+  voted: false
+snapchat-ghost:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Snapchat Ghost
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2ac
+  voted: false
+snapchat-square:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Snapchat Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2ad
+  voted: false
+snowboarding:
+  changes:
+    - 5.6.0
+  label: Snowboarding
+  search:
+    terms:
+      - activity
+      - fitness
+      - olympics
+      - outdoors
+      - person
+  styles:
+    - solid
+  unicode: f7ce
+snowflake:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.5.0
+  label: Snowflake
+  search:
+    terms:
+      - precipitation
+      - rain
+      - winter
+  styles:
+    - solid
+    - regular
+  unicode: f2dc
+  voted: false
+snowman:
+  changes:
+    - 5.6.0
+  label: Snowman
+  search:
+    terms:
+      - decoration
+      - frost
+      - frosty
+      - holiday
+  styles:
+    - solid
+  unicode: f7d0
+snowplow:
+  changes:
+    - 5.6.0
+  label: Snowplow
+  search:
+    terms:
+      - clean up
+      - cold
+      - road
+      - storm
+      - winter
+  styles:
+    - solid
+  unicode: f7d2
+socks:
+  changes:
+    - 5.3.0
+  label: Socks
+  search:
+    terms:
+      - business socks
+      - business time
+      - clothing
+      - feet
+      - flight of the conchords
+      - wednesday
+  styles:
+    - solid
+  unicode: f696
+  voted: false
+solar-panel:
+  changes:
+    - 5.1.0
+  label: Solar Panel
+  search:
+    terms:
+      - clean
+      - eco-friendly
+      - energy
+      - green
+      - sun
+  styles:
+    - solid
+  unicode: f5ba
+  voted: false
+sort:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Sort
+  search:
+    terms:
+      - filter
+      - order
+  styles:
+    - solid
+  unicode: f0dc
+  voted: false
+sort-alpha-down:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.9.0
+  label: Sort Alphabetical Down
+  search:
+    terms:
+      - alphabetical
+      - arrange
+      - filter
+      - order
+      - sort-alpha-asc
+  styles:
+    - solid
+  unicode: f15d
+  voted: false
+sort-alpha-down-alt:
+  changes:
+    - 5.9.0
+  label: Alternate Sort Alphabetical Down
+  search:
+    terms:
+      - alphabetical
+      - arrange
+      - filter
+      - order
+      - sort-alpha-asc
+  styles:
+    - solid
+  unicode: f881
+  voted: false
+sort-alpha-up:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.9.0
+  label: Sort Alphabetical Up
+  search:
+    terms:
+      - alphabetical
+      - arrange
+      - filter
+      - order
+      - sort-alpha-desc
+  styles:
+    - solid
+  unicode: f15e
+  voted: false
+sort-alpha-up-alt:
+  changes:
+    - 5.9.0
+  label: Alternate Sort Alphabetical Up
+  search:
+    terms:
+      - alphabetical
+      - arrange
+      - filter
+      - order
+      - sort-alpha-desc
+  styles:
+    - solid
+  unicode: f882
+  voted: false
+sort-amount-down:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.9.0
+  label: Sort Amount Down
+  search:
+    terms:
+      - arrange
+      - filter
+      - number
+      - order
+      - sort-amount-asc
+  styles:
+    - solid
+  unicode: f160
+  voted: false
+sort-amount-down-alt:
+  changes:
+    - 5.9.0
+  label: Alternate Sort Amount Down
+  search:
+    terms:
+      - arrange
+      - filter
+      - order
+      - sort-amount-asc
+  styles:
+    - solid
+  unicode: f884
+  voted: false
+sort-amount-up:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.9.0
+  label: Sort Amount Up
+  search:
+    terms:
+      - arrange
+      - filter
+      - order
+      - sort-amount-desc
+  styles:
+    - solid
+  unicode: f161
+  voted: false
+sort-amount-up-alt:
+  changes:
+    - 5.9.0
+  label: Alternate Sort Amount Up
+  search:
+    terms:
+      - arrange
+      - filter
+      - order
+      - sort-amount-desc
+  styles:
+    - solid
+  unicode: f885
+  voted: false
+sort-down:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.10.1
+  label: Sort Down (Descending)
+  search:
+    terms:
+      - arrow
+      - descending
+      - filter
+      - order
+      - sort-desc
+  styles:
+    - solid
+  unicode: f0dd
+  voted: false
+sort-numeric-down:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.9.0
+  label: Sort Numeric Down
+  search:
+    terms:
+      - arrange
+      - filter
+      - numbers
+      - order
+      - sort-numeric-asc
+  styles:
+    - solid
+  unicode: f162
+  voted: false
+sort-numeric-down-alt:
+  changes:
+    - 5.9.0
+  label: Alternate Sort Numeric Down
+  search:
+    terms:
+      - arrange
+      - filter
+      - numbers
+      - order
+      - sort-numeric-asc
+  styles:
+    - solid
+  unicode: f886
+  voted: false
+sort-numeric-up:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.9.0
+  label: Sort Numeric Up
+  search:
+    terms:
+      - arrange
+      - filter
+      - numbers
+      - order
+      - sort-numeric-desc
+  styles:
+    - solid
+  unicode: f163
+  voted: false
+sort-numeric-up-alt:
+  changes:
+    - 5.9.0
+  label: Alternate Sort Numeric Up
+  search:
+    terms:
+      - arrange
+      - filter
+      - numbers
+      - order
+      - sort-numeric-desc
+  styles:
+    - solid
+  unicode: f887
+  voted: false
+sort-up:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.10.1
+  label: Sort Up (Ascending)
+  search:
+    terms:
+      - arrow
+      - ascending
+      - filter
+      - order
+      - sort-asc
+  styles:
+    - solid
+  unicode: f0de
+  voted: false
+soundcloud:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: SoundCloud
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1be
+  voted: false
+sourcetree:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Sourcetree
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f7d3
+  voted: true
+spa:
+  changes:
+    - 5.1.0
+  label: Spa
+  search:
+    terms:
+      - flora
+      - massage
+      - mindfulness
+      - plant
+      - wellness
+  styles:
+    - solid
+  unicode: f5bb
+  voted: false
+space-shuttle:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Space Shuttle
+  search:
+    terms:
+      - astronaut
+      - machine
+      - nasa
+      - rocket
+      - transportation
+  styles:
+    - solid
+  unicode: f197
+  voted: false
+speakap:
+  changes:
+    - 5.0.0
+    - 5.4.0
+    - 5.8.0
+  label: Speakap
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3f3
+  voted: false
+speaker-deck:
+  changes:
+    - 5.8.0
+  label: Speaker Deck
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f83c
+spell-check:
+  changes:
+    - 5.9.0
+  label: Spell Check
+  search:
+    terms:
+      - dictionary
+      - edit
+      - editor
+      - grammar
+      - text
+  styles:
+    - solid
+  unicode: f891
+  voted: false
+spider:
+  changes:
+    - 5.4.0
+  label: Spider
+  search:
+    terms:
+      - arachnid
+      - bug
+      - charlotte
+      - crawl
+      - eight
+      - halloween
+  styles:
+    - solid
+  unicode: f717
+  voted: true
+spinner:
+  changes:
+    - '3'
+    - 5.0.0
+  label: Spinner
+  search:
+    terms:
+      - circle
+      - loading
+      - progress
+  styles:
+    - solid
+  unicode: f110
+  voted: false
+splotch:
+  changes:
+    - 5.1.0
+  label: Splotch
+  search:
+    terms:
+      - Ink
+      - blob
+      - blotch
+      - glob
+      - stain
+  styles:
+    - solid
+  unicode: f5bc
+  voted: false
+spotify:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Spotify
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1bc
+  voted: false
+spray-can:
+  changes:
+    - 5.1.0
+  label: Spray Can
+  search:
+    terms:
+      - Paint
+      - aerosol
+      - design
+      - graffiti
+      - tag
+  styles:
+    - solid
+  unicode: f5bd
+  voted: false
+square:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.10.1
+  label: Square
+  search:
+    terms:
+      - block
+      - box
+      - shape
+  styles:
+    - solid
+    - regular
+  unicode: f0c8
+  voted: false
+square-full:
+  changes:
+    - 5.0.5
+  label: Square Full
+  search:
+    terms:
+      - block
+      - box
+      - shape
+  styles:
+    - solid
+  unicode: f45c
+  voted: false
+square-root-alt:
+  changes:
+    - 5.3.0
+  label: Alternate Square Root
+  search:
+    terms:
+      - arithmetic
+      - calculus
+      - division
+      - math
+  styles:
+    - solid
+  unicode: f698
+  voted: false
+squarespace:
+  changes:
+    - 5.1.0
+  label: Squarespace
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5be
+  voted: true
+stack-exchange:
+  changes:
+    - '4'
+    - 5.0.0
+    - 5.0.3
+  label: Stack Exchange
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f18d
+  voted: false
+stack-overflow:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Stack Overflow
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f16c
+  voted: false
+stackpath:
+  changes:
+    - 5.8.2
+  label: Stackpath
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f842
+stamp:
+  changes:
+    - 5.1.0
+  label: Stamp
+  search:
+    terms:
+      - art
+      - certificate
+      - imprint
+      - rubber
+      - seal
+  styles:
+    - solid
+  unicode: f5bf
+  voted: false
+star:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Star
+  search:
+    terms:
+      - achievement
+      - award
+      - favorite
+      - important
+      - night
+      - rating
+      - score
+  styles:
+    - solid
+    - regular
+  unicode: f005
+  voted: false
+star-and-crescent:
+  changes:
+    - 5.3.0
+  label: Star and Crescent
+  search:
+    terms:
+      - islam
+      - muslim
+      - religion
+  styles:
+    - solid
+  unicode: f699
+  voted: false
+star-half:
+  changes:
+    - '1'
+    - 5.0.0
+  label: star-half
+  search:
+    terms:
+      - achievement
+      - award
+      - rating
+      - score
+      - star-half-empty
+      - star-half-full
+  styles:
+    - solid
+    - regular
+  unicode: f089
+  voted: false
+star-half-alt:
+  changes:
+    - 5.1.0
+  label: Alternate Star Half
+  search:
+    terms:
+      - achievement
+      - award
+      - rating
+      - score
+      - star-half-empty
+      - star-half-full
+  styles:
+    - solid
+  unicode: f5c0
+  voted: true
+star-of-david:
+  changes:
+    - 5.3.0
+  label: Star of David
+  search:
+    terms:
+      - jewish
+      - judaism
+      - religion
+  styles:
+    - solid
+  unicode: f69a
+  voted: false
+star-of-life:
+  changes:
+    - 5.2.0
+  label: Star of Life
+  search:
+    terms:
+      - doctor
+      - emt
+      - first aid
+      - health
+      - medical
+  styles:
+    - solid
+  unicode: f621
+  voted: false
+staylinked:
+  changes:
+    - 5.0.0
+  label: StayLinked
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3f5
+  voted: false
+steam:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Steam
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1b6
+  voted: false
+steam-square:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Steam Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1b7
+  voted: false
+steam-symbol:
+  changes:
+    - 5.0.0
+  label: Steam Symbol
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3f6
+  voted: false
+step-backward:
+  changes:
+    - '1'
+    - 5.0.0
+  label: step-backward
+  search:
+    terms:
+      - beginning
+      - first
+      - previous
+      - rewind
+      - start
+  styles:
+    - solid
+  unicode: f048
+  voted: false
+step-forward:
+  changes:
+    - '1'
+    - 5.0.0
+  label: step-forward
+  search:
+    terms:
+      - end
+      - last
+      - next
+  styles:
+    - solid
+  unicode: f051
+  voted: false
+stethoscope:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.0.7
+  label: Stethoscope
+  search:
+    terms:
+      - diagnosis
+      - doctor
+      - general practitioner
+      - hospital
+      - infirmary
+      - medicine
+      - office
+      - outpatient
+  styles:
+    - solid
+  unicode: f0f1
+  voted: false
+sticker-mule:
+  changes:
+    - 5.0.0
+    - 5.7.0
+  label: Sticker Mule
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3f7
+  voted: false
+sticky-note:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Sticky Note
+  search:
+    terms:
+      - message
+      - note
+      - paper
+      - reminder
+      - sticker
+  styles:
+    - solid
+    - regular
+  unicode: f249
+  voted: false
+stop:
+  changes:
+    - '1'
+    - 5.0.0
+  label: stop
+  search:
+    terms:
+      - block
+      - box
+      - square
+  styles:
+    - solid
+  unicode: f04d
+  voted: false
+stop-circle:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: Stop Circle
+  search:
+    terms:
+      - block
+      - box
+      - circle
+      - square
+  styles:
+    - solid
+    - regular
+  unicode: f28d
+  voted: false
+stopwatch:
+  changes:
+    - 5.0.0
+  label: Stopwatch
+  search:
+    terms:
+      - clock
+      - reminder
+      - time
+  styles:
+    - solid
+  unicode: f2f2
+  voted: false
+store:
+  changes:
+    - 5.0.13
+  label: Store
+  search:
+    terms:
+      - building
+      - buy
+      - purchase
+      - shopping
+  styles:
+    - solid
+  unicode: f54e
+  voted: true
+store-alt:
+  changes:
+    - 5.0.13
+  label: Alternate Store
+  search:
+    terms:
+      - building
+      - buy
+      - purchase
+      - shopping
+  styles:
+    - solid
+  unicode: f54f
+  voted: true
+strava:
+  changes:
+    - 5.0.0
+    - 5.0.1
+    - 5.7.0
+    - 5.8.0
+  label: Strava
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f428
+  voted: false
+stream:
+  changes:
+    - 5.0.13
+  label: Stream
+  search:
+    terms:
+      - flow
+      - list
+      - timeline
+  styles:
+    - solid
+  unicode: f550
+  voted: false
+street-view:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.2.0
+  label: Street View
+  search:
+    terms:
+      - directions
+      - location
+      - map
+      - navigation
+  styles:
+    - solid
+  unicode: f21d
+  voted: false
+strikethrough:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.9.0
+  label: Strikethrough
+  search:
+    terms:
+      - cancel
+      - edit
+      - font
+      - format
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f0cc
+  voted: false
+stripe:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Stripe
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f429
+  voted: false
+stripe-s:
+  changes:
+    - 5.0.1
+    - 5.8.0
+  label: Stripe S
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f42a
+  voted: false
+stroopwafel:
+  changes:
+    - 5.0.13
+  label: Stroopwafel
+  search:
+    terms:
+      - caramel
+      - cookie
+      - dessert
+      - sweets
+      - waffle
+  styles:
+    - solid
+  unicode: f551
+  voted: false
+studiovinari:
+  changes:
+    - 5.0.0
+  label: Studio Vinari
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3f8
+  voted: false
+stumbleupon:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: StumbleUpon Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a4
+  voted: false
+stumbleupon-circle:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: StumbleUpon Circle
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1a3
+  voted: false
+subscript:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.9.0
+  label: subscript
+  search:
+    terms:
+      - edit
+      - font
+      - format
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f12c
+  voted: false
+subway:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Subway
+  search:
+    terms:
+      - machine
+      - railway
+      - train
+      - transportation
+      - vehicle
+  styles:
+    - solid
+  unicode: f239
+  voted: false
+suitcase:
+  changes:
+    - '3'
+    - 5.0.0
+    - 5.0.9
+  label: Suitcase
+  search:
+    terms:
+      - baggage
+      - luggage
+      - move
+      - suitcase
+      - travel
+      - trip
+  styles:
+    - solid
+  unicode: f0f2
+  voted: false
+suitcase-rolling:
+  changes:
+    - 5.1.0
+  label: Suitcase Rolling
+  search:
+    terms:
+      - baggage
+      - luggage
+      - move
+      - suitcase
+      - travel
+      - trip
+  styles:
+    - solid
+  unicode: f5c1
+  voted: false
+sun:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.5.0
+  label: Sun
+  search:
+    terms:
+      - brighten
+      - contrast
+      - day
+      - lighter
+      - sol
+      - solar
+      - star
+      - weather
+  styles:
+    - solid
+    - regular
+  unicode: f185
+  voted: false
+superpowers:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Superpowers
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2dd
+  voted: false
+superscript:
+  changes:
+    - '3.1'
+    - 5.0.0
+    - 5.9.0
+  label: superscript
+  search:
+    terms:
+      - edit
+      - exponential
+      - font
+      - format
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f12b
+  voted: false
+supple:
+  changes:
+    - 5.0.0
+  label: Supple
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3f9
+  voted: false
+surprise:
+  changes:
+    - 5.1.0
+  label: Hushed Face
+  search:
+    terms:
+      - emoticon
+      - face
+      - shocked
+  styles:
+    - solid
+    - regular
+  unicode: f5c2
+  voted: false
+suse:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: Suse
+  search:
+    terms:
+      - linux
+      - operating system
+      - os
+  styles:
+    - brands
+  unicode: f7d6
+  voted: true
+swatchbook:
+  changes:
+    - 5.1.0
+  label: Swatchbook
+  search:
+    terms:
+      - Pantone
+      - color
+      - design
+      - hue
+      - palette
+  styles:
+    - solid
+  unicode: f5c3
+  voted: false
+swimmer:
+  changes:
+    - 5.1.0
+  label: Swimmer
+  search:
+    terms:
+      - athlete
+      - head
+      - man
+      - olympics
+      - person
+      - pool
+      - water
+  styles:
+    - solid
+  unicode: f5c4
+  voted: false
+swimming-pool:
+  changes:
+    - 5.1.0
+  label: Swimming Pool
+  search:
+    terms:
+      - ladder
+      - recreation
+      - swim
+      - water
+  styles:
+    - solid
+  unicode: f5c5
+  voted: false
+symfony:
+  changes:
+    - 5.8.0
+  label: Symfony
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f83d
+synagogue:
+  changes:
+    - 5.3.0
+  label: Synagogue
+  search:
+    terms:
+      - building
+      - jewish
+      - judaism
+      - religion
+      - star of david
+      - temple
+  styles:
+    - solid
+  unicode: f69b
+  voted: false
+sync:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.8.0
+  label: Sync
+  search:
+    terms:
+      - exchange
+      - refresh
+      - reload
+      - rotate
+      - swap
+  styles:
+    - solid
+  unicode: f021
+  voted: false
+sync-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Sync
+  search:
+    terms:
+      - exchange
+      - refresh
+      - reload
+      - rotate
+      - swap
+  styles:
+    - solid
+  unicode: f2f1
+  voted: false
+syringe:
+  changes:
+    - 5.0.7
+  label: Syringe
+  search:
+    terms:
+      - doctor
+      - immunizations
+      - medical
+      - needle
+  styles:
+    - solid
+  unicode: f48e
+  voted: false
+table:
+  changes:
+    - '2'
+    - 5.0.0
+  label: table
+  search:
+    terms:
+      - data
+      - excel
+      - spreadsheet
+  styles:
+    - solid
+  unicode: f0ce
+  voted: false
+table-tennis:
+  changes:
+    - 5.0.5
+  label: Table Tennis
+  search:
+    terms:
+      - ball
+      - paddle
+      - ping pong
+  styles:
+    - solid
+  unicode: f45d
+  voted: false
+tablet:
+  changes:
+    - '3'
+    - 5.0.0
+  label: tablet
+  search:
+    terms:
+      - apple
+      - device
+      - ipad
+      - kindle
+      - screen
+  styles:
+    - solid
+  unicode: f10a
+  voted: false
+tablet-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Tablet
+  search:
+    terms:
+      - apple
+      - device
+      - ipad
+      - kindle
+      - screen
+  styles:
+    - solid
+  unicode: f3fa
+  voted: false
+tablets:
+  changes:
+    - 5.0.7
+  label: Tablets
+  search:
+    terms:
+      - drugs
+      - medicine
+      - pills
+      - prescription
+  styles:
+    - solid
+  unicode: f490
+  voted: false
+tachometer-alt:
+  changes:
+    - 5.0.0
+    - 5.2.0
+  label: Alternate Tachometer
+  search:
+    terms:
+      - dashboard
+      - fast
+      - odometer
+      - speed
+      - speedometer
+  styles:
+    - solid
+  unicode: f3fd
+  voted: false
+tag:
+  changes:
+    - '1'
+    - 5.0.0
+  label: tag
+  search:
+    terms:
+      - discount
+      - label
+      - price
+      - shopping
+  styles:
+    - solid
+  unicode: f02b
+  voted: false
+tags:
+  changes:
+    - '1'
+    - 5.0.0
+  label: tags
+  search:
+    terms:
+      - discount
+      - label
+      - price
+      - shopping
+  styles:
+    - solid
+  unicode: f02c
+  voted: false
+tape:
+  changes:
+    - 5.0.9
+  label: Tape
+  search:
+    terms:
+      - design
+      - package
+      - sticky
+  styles:
+    - solid
+  unicode: f4db
+  voted: false
+tasks:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.9.0
+  label: Tasks
+  search:
+    terms:
+      - checklist
+      - downloading
+      - downloads
+      - loading
+      - progress
+      - project management
+      - settings
+      - to do
+  styles:
+    - solid
+  unicode: f0ae
+  voted: false
+taxi:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.1.0
+  label: Taxi
+  search:
+    terms:
+      - cab
+      - cabbie
+      - car
+      - car service
+      - lyft
+      - machine
+      - transportation
+      - travel
+      - uber
+      - vehicle
+  styles:
+    - solid
+  unicode: f1ba
+  voted: false
+teamspeak:
+  changes:
+    - 5.0.11
+    - 5.1.0
+    - 5.8.0
+  label: TeamSpeak
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f4f9
+  voted: true
+teeth:
+  changes:
+    - 5.2.0
+  label: Teeth
+  search:
+    terms:
+      - bite
+      - dental
+      - dentist
+      - gums
+      - mouth
+      - smile
+      - tooth
+  styles:
+    - solid
+  unicode: f62e
+  voted: false
+teeth-open:
+  changes:
+    - 5.2.0
+  label: Teeth Open
+  search:
+    terms:
+      - dental
+      - dentist
+      - gums bite
+      - mouth
+      - smile
+      - tooth
+  styles:
+    - solid
+  unicode: f62f
+  voted: false
+telegram:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Telegram
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2c6
+  voted: false
+telegram-plane:
+  changes:
+    - 5.0.0
+  label: Telegram Plane
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f3fe
+  voted: false
+temperature-high:
+  changes:
+    - 5.5.0
+  label: High Temperature
+  search:
+    terms:
+      - cook
+      - mercury
+      - summer
+      - thermometer
+      - warm
+  styles:
+    - solid
+  unicode: f769
+  voted: false
+temperature-low:
+  changes:
+    - 5.5.0
+  label: Low Temperature
+  search:
+    terms:
+      - cold
+      - cool
+      - mercury
+      - thermometer
+      - winter
+  styles:
+    - solid
+  unicode: f76b
+  voted: false
+tencent-weibo:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Tencent Weibo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d5
+  voted: false
+tenge:
+  changes:
+    - 5.6.0
+  label: Tenge
+  search:
+    terms:
+      - currency
+      - kazakhstan
+      - money
+      - price
+  styles:
+    - solid
+  unicode: f7d7
+  voted: true
+terminal:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Terminal
+  search:
+    terms:
+      - code
+      - command
+      - console
+      - development
+      - prompt
+  styles:
+    - solid
+  unicode: f120
+  voted: false
+text-height:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: text-height
+  search:
+    terms:
+      - edit
+      - font
+      - format
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f034
+  voted: false
+text-width:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.9.0
+  label: Text Width
+  search:
+    terms:
+      - edit
+      - font
+      - format
+      - text
+      - type
+  styles:
+    - solid
+  unicode: f035
+  voted: false
+th:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.7.0
+  label: th
+  search:
+    terms:
+      - blocks
+      - boxes
+      - grid
+      - squares
+  styles:
+    - solid
+  unicode: f00a
+  voted: false
+th-large:
+  changes:
+    - '1'
+    - 5.0.0
+  label: th-large
+  search:
+    terms:
+      - blocks
+      - boxes
+      - grid
+      - squares
+  styles:
+    - solid
+  unicode: f009
+  voted: false
+th-list:
+  changes:
+    - '1'
+    - 5.0.0
+  label: th-list
+  search:
+    terms:
+      - checklist
+      - completed
+      - done
+      - finished
+      - ol
+      - todo
+      - ul
+  styles:
+    - solid
+  unicode: f00b
+  voted: false
+the-red-yeti:
+  changes:
+    - 5.3.0
+    - 5.7.0
+    - 5.8.0
+  label: The Red Yeti
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f69d
+  voted: false
+theater-masks:
+  changes:
+    - 5.2.0
+  label: Theater Masks
+  search:
+    terms:
+      - comedy
+      - perform
+      - theatre
+      - tragedy
+  styles:
+    - solid
+  unicode: f630
+  voted: false
+themeco:
+  changes:
+    - 5.1.0
+    - 5.8.0
+  label: Themeco
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5c6
+  voted: false
+themeisle:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: ThemeIsle
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2b2
+  voted: false
+thermometer:
+  changes:
+    - 5.0.7
+  label: Thermometer
+  search:
+    terms:
+      - mercury
+      - status
+      - temperature
+  styles:
+    - solid
+  unicode: f491
+  voted: false
+thermometer-empty:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Thermometer Empty
+  search:
+    terms:
+      - cold
+      - mercury
+      - status
+      - temperature
+  styles:
+    - solid
+  unicode: f2cb
+  voted: false
+thermometer-full:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Thermometer Full
+  search:
+    terms:
+      - fever
+      - hot
+      - mercury
+      - status
+      - temperature
+  styles:
+    - solid
+  unicode: f2c7
+  voted: false
+thermometer-half:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Thermometer 1/2 Full
+  search:
+    terms:
+      - mercury
+      - status
+      - temperature
+  styles:
+    - solid
+  unicode: f2c9
+  voted: false
+thermometer-quarter:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Thermometer 1/4 Full
+  search:
+    terms:
+      - mercury
+      - status
+      - temperature
+  styles:
+    - solid
+  unicode: f2ca
+  voted: false
+thermometer-three-quarters:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Thermometer 3/4 Full
+  search:
+    terms:
+      - mercury
+      - status
+      - temperature
+  styles:
+    - solid
+  unicode: f2c8
+  voted: false
+think-peaks:
+  changes:
+    - 5.4.2
+    - 5.8.0
+  label: Think Peaks
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f731
+  voted: false
+thumbs-down:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: thumbs-down
+  search:
+    terms:
+      - disagree
+      - disapprove
+      - dislike
+      - hand
+      - social
+      - thumbs-o-down
+  styles:
+    - solid
+    - regular
+  unicode: f165
+  voted: false
+thumbs-up:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: thumbs-up
+  search:
+    terms:
+      - agree
+      - approve
+      - favorite
+      - hand
+      - like
+      - ok
+      - okay
+      - social
+      - success
+      - thumbs-o-up
+      - 'yes'
+      - you got it dude
+  styles:
+    - solid
+    - regular
+  unicode: f164
+  voted: false
+thumbtack:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Thumbtack
+  search:
+    terms:
+      - coordinates
+      - location
+      - marker
+      - pin
+      - thumb-tack
+  styles:
+    - solid
+  unicode: f08d
+  voted: false
+ticket-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Ticket
+  search:
+    terms:
+      - movie
+      - pass
+      - support
+      - ticket
+  styles:
+    - solid
+  unicode: f3ff
+  voted: false
+times:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.13
+  label: Times
+  search:
+    terms:
+      - close
+      - cross
+      - error
+      - exit
+      - incorrect
+      - notice
+      - notification
+      - notify
+      - problem
+      - wrong
+      - x
+  styles:
+    - solid
+  unicode: f00d
+  voted: false
+times-circle:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Times Circle
+  search:
+    terms:
+      - close
+      - cross
+      - exit
+      - incorrect
+      - notice
+      - notification
+      - notify
+      - problem
+      - wrong
+      - x
+  styles:
+    - solid
+    - regular
+  unicode: f057
+  voted: false
+tint:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.1.0
+  label: tint
+  search:
+    terms:
+      - color
+      - drop
+      - droplet
+      - raindrop
+      - waterdrop
+  styles:
+    - solid
+  unicode: f043
+  voted: false
+tint-slash:
+  changes:
+    - 5.1.0
+  label: Tint Slash
+  search:
+    terms:
+      - color
+      - drop
+      - droplet
+      - raindrop
+      - waterdrop
+  styles:
+    - solid
+  unicode: f5c7
+  voted: false
+tired:
+  changes:
+    - 5.1.0
+  label: Tired Face
+  search:
+    terms:
+      - angry
+      - emoticon
+      - face
+      - grumpy
+      - upset
+  styles:
+    - solid
+    - regular
+  unicode: f5c8
+  voted: false
+toggle-off:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Toggle Off
+  search:
+    terms:
+      - switch
+  styles:
+    - solid
+  unicode: f204
+  voted: false
+toggle-on:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Toggle On
+  search:
+    terms:
+      - switch
+  styles:
+    - solid
+  unicode: f205
+  voted: false
+toilet:
+  changes:
+    - 5.6.0
+  label: Toilet
+  search:
+    terms:
+      - bathroom
+      - flush
+      - john
+      - loo
+      - pee
+      - plumbing
+      - poop
+      - porcelain
+      - potty
+      - restroom
+      - throne
+      - washroom
+      - waste
+      - wc
+  styles:
+    - solid
+  unicode: f7d8
+  voted: true
+toilet-paper:
+  changes:
+    - 5.4.0
+  label: Toilet Paper
+  search:
+    terms:
+      - bathroom
+      - halloween
+      - holiday
+      - lavatory
+      - prank
+      - restroom
+      - roll
+  styles:
+    - solid
+  unicode: f71e
+  voted: false
+toolbox:
+  changes:
+    - 5.0.13
+  label: Toolbox
+  search:
+    terms:
+      - admin
+      - container
+      - fix
+      - repair
+      - settings
+      - tools
+  styles:
+    - solid
+  unicode: f552
+  voted: true
+tools:
+  changes:
+    - 5.6.0
+  label: Tools
+  search:
+    terms:
+      - admin
+      - fix
+      - repair
+      - screwdriver
+      - settings
+      - tools
+      - wrench
+  styles:
+    - solid
+  unicode: f7d9
+  voted: true
+tooth:
+  changes:
+    - 5.1.0
+  label: Tooth
+  search:
+    terms:
+      - bicuspid
+      - dental
+      - dentist
+      - molar
+      - mouth
+      - teeth
+  styles:
+    - solid
+  unicode: f5c9
+  voted: true
+torah:
+  changes:
+    - 5.3.0
+    - 5.7.0
+    - 5.9.0
+  label: Torah
+  search:
+    terms:
+      - book
+      - jewish
+      - judaism
+      - religion
+      - scroll
+  styles:
+    - solid
+  unicode: f6a0
+  voted: false
+torii-gate:
+  changes:
+    - 5.3.0
+  label: Torii Gate
+  search:
+    terms:
+      - building
+      - shintoism
+  styles:
+    - solid
+  unicode: f6a1
+  voted: false
+tractor:
+  changes:
+    - 5.4.0
+  label: Tractor
+  search:
+    terms:
+      - agriculture
+      - farm
+      - vehicle
+  styles:
+    - solid
+  unicode: f722
+  voted: false
+trade-federation:
+  changes:
+    - 5.0.12
+  label: Trade Federation
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f513
+  voted: false
+trademark:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Trademark
+  search:
+    terms:
+      - copyright
+      - register
+      - symbol
+  styles:
+    - solid
+  unicode: f25c
+  voted: false
+traffic-light:
+  changes:
+    - 5.2.0
+  label: Traffic Light
+  search:
+    terms:
+      - direction
+      - road
+      - signal
+      - travel
+  styles:
+    - solid
+  unicode: f637
+  voted: false
+train:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Train
+  search:
+    terms:
+      - bullet
+      - commute
+      - locomotive
+      - railway
+      - subway
+  styles:
+    - solid
+  unicode: f238
+  voted: false
+tram:
+  changes:
+    - 5.6.0
+  label: Tram
+  search:
+    terms:
+      - crossing
+      - machine
+      - mountains
+      - seasonal
+      - transportation
+  styles:
+    - solid
+  unicode: f7da
+transgender:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Transgender
+  search:
+    terms:
+      - intersex
+  styles:
+    - solid
+  unicode: f224
+  voted: false
+transgender-alt:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Alternate Transgender
+  search:
+    terms:
+      - intersex
+  styles:
+    - solid
+  unicode: f225
+  voted: false
+trash:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.7.0
+  label: Trash
+  search:
+    terms:
+      - delete
+      - garbage
+      - hide
+      - remove
+  styles:
+    - solid
+  unicode: f1f8
+  voted: false
+trash-alt:
+  changes:
+    - 5.0.0
+    - 5.7.0
+  label: Alternate Trash
+  search:
+    terms:
+      - delete
+      - garbage
+      - hide
+      - remove
+      - trash-o
+  styles:
+    - solid
+    - regular
+  unicode: f2ed
+  voted: false
+trash-restore:
+  changes:
+    - 5.7.0
+  label: Trash Restore
+  search:
+    terms:
+      - back
+      - control z
+      - oops
+      - undo
+  styles:
+    - solid
+  unicode: f829
+  voted: true
+trash-restore-alt:
+  changes:
+    - 5.7.0
+  label: Alternative Trash Restore
+  search:
+    terms:
+      - back
+      - control z
+      - oops
+      - undo
+  styles:
+    - solid
+  unicode: f82a
+  voted: true
+tree:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Tree
+  search:
+    terms:
+      - bark
+      - fall
+      - flora
+      - forest
+      - nature
+      - plant
+      - seasonal
+  styles:
+    - solid
+  unicode: f1bb
+  voted: false
+trello:
+  changes:
+    - '3.2'
+    - 5.0.0
+    - 5.6.0
+  label: Trello
+  search:
+    terms:
+      - atlassian
+  styles:
+    - brands
+  unicode: f181
+  voted: false
+tripadvisor:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: TripAdvisor
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f262
+  voted: false
+trophy:
+  changes:
+    - '1'
+    - 5.0.0
+  label: trophy
+  search:
+    terms:
+      - achievement
+      - award
+      - cup
+      - game
+      - winner
+  styles:
+    - solid
+  unicode: f091
+  voted: false
+truck:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.7
+  label: truck
+  search:
+    terms:
+      - cargo
+      - delivery
+      - shipping
+      - vehicle
+  styles:
+    - solid
+  unicode: f0d1
+  voted: false
+truck-loading:
+  changes:
+    - 5.0.9
+  label: Truck Loading
+  search:
+    terms:
+      - box
+      - cargo
+      - delivery
+      - inventory
+      - moving
+      - rental
+      - vehicle
+  styles:
+    - solid
+  unicode: f4de
+  voted: false
+truck-monster:
+  changes:
+    - 5.2.0
+  label: Truck Monster
+  search:
+    terms:
+      - offroad
+      - vehicle
+      - wheel
+  styles:
+    - solid
+  unicode: f63b
+  voted: false
+truck-moving:
+  changes:
+    - 5.0.9
+  label: Truck Moving
+  search:
+    terms:
+      - cargo
+      - inventory
+      - rental
+      - vehicle
+  styles:
+    - solid
+  unicode: f4df
+  voted: false
+truck-pickup:
+  changes:
+    - 5.2.0
+  label: Truck Side
+  search:
+    terms:
+      - cargo
+      - vehicle
+  styles:
+    - solid
+  unicode: f63c
+  voted: false
+tshirt:
+  changes:
+    - 5.0.13
+  label: T-Shirt
+  search:
+    terms:
+      - clothing
+      - fashion
+      - garment
+      - shirt
+  styles:
+    - solid
+  unicode: f553
+  voted: true
+tty:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.7.0
+  label: TTY
+  search:
+    terms:
+      - communication
+      - deaf
+      - telephone
+      - teletypewriter
+      - text
+  styles:
+    - solid
+  unicode: f1e4
+  voted: false
+tumblr:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Tumblr
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f173
+  voted: false
+tumblr-square:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Tumblr Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f174
+  voted: false
+tv:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Television
+  search:
+    terms:
+      - computer
+      - display
+      - monitor
+      - television
+  styles:
+    - solid
+  unicode: f26c
+  voted: false
+twitch:
+  changes:
+    - '4.2'
+    - 5.0.0
+  label: Twitch
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1e8
+  voted: false
+twitter:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Twitter
+  search:
+    terms:
+      - social network
+      - tweet
+  styles:
+    - brands
+  unicode: f099
+  voted: false
+twitter-square:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Twitter Square
+  search:
+    terms:
+      - social network
+      - tweet
+  styles:
+    - brands
+  unicode: f081
+  voted: false
+typo3:
+  changes:
+    - 5.0.1
+    - 5.8.0
+  label: Typo3
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f42b
+  voted: false
+uber:
+  changes:
+    - 5.0.0
+  label: Uber
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f402
+  voted: false
+ubuntu:
+  changes:
+    - 5.6.0
+  label: Ubuntu
+  search:
+    terms:
+      - linux
+      - operating system
+      - os
+  styles:
+    - brands
+  unicode: f7df
+  voted: true
+uikit:
+  changes:
+    - 5.0.0
+  label: UIkit
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f403
+  voted: false
+umbrella:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Umbrella
+  search:
+    terms:
+      - protection
+      - rain
+      - storm
+      - wet
+  styles:
+    - solid
+  unicode: f0e9
+  voted: false
+umbrella-beach:
+  changes:
+    - 5.1.0
+  label: Umbrella Beach
+  search:
+    terms:
+      - protection
+      - recreation
+      - sand
+      - shade
+      - summer
+      - sun
+  styles:
+    - solid
+  unicode: f5ca
+  voted: false
+underline:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.9.0
+  label: Underline
+  search:
+    terms:
+      - edit
+      - emphasis
+      - format
+      - text
+      - writing
+  styles:
+    - solid
+  unicode: f0cd
+  voted: false
+undo:
+  changes:
+    - '2'
+    - 5.0.0
+  label: Undo
+  search:
+    terms:
+      - back
+      - control z
+      - exchange
+      - oops
+      - return
+      - rotate
+      - swap
+  styles:
+    - solid
+  unicode: f0e2
+  voted: false
+undo-alt:
+  changes:
+    - 5.0.0
+  label: Alternate Undo
+  search:
+    terms:
+      - back
+      - control z
+      - exchange
+      - oops
+      - return
+      - swap
+  styles:
+    - solid
+  unicode: f2ea
+  voted: false
+uniregistry:
+  changes:
+    - 5.0.0
+  label: Uniregistry
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f404
+  voted: false
+universal-access:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Universal Access
+  search:
+    terms:
+      - accessibility
+      - hearing
+      - person
+      - seeing
+      - visual impairment
+  styles:
+    - solid
+  unicode: f29a
+  voted: false
+university:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.0.3
+  label: University
+  search:
+    terms:
+      - bank
+      - building
+      - college
+      - higher education - students
+      - institution
+  styles:
+    - solid
+  unicode: f19c
+  voted: false
+unlink:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: unlink
+  search:
+    terms:
+      - attachment
+      - chain
+      - chain-broken
+      - remove
+  styles:
+    - solid
+  unicode: f127
+  voted: false
+unlock:
+  changes:
+    - '2'
+    - 5.0.0
+  label: unlock
+  search:
+    terms:
+      - admin
+      - lock
+      - password
+      - private
+      - protect
+  styles:
+    - solid
+  unicode: f09c
+  voted: false
+unlock-alt:
+  changes:
+    - '3.1'
+    - 5.0.0
+  label: Alternate Unlock
+  search:
+    terms:
+      - admin
+      - lock
+      - password
+      - private
+      - protect
+  styles:
+    - solid
+  unicode: f13e
+  voted: false
+untappd:
+  changes:
+    - 5.0.0
+  label: Untappd
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f405
+  voted: false
+upload:
+  changes:
+    - '1'
+    - 5.0.0
+  label: Upload
+  search:
+    terms:
+      - hard drive
+      - import
+      - publish
+  styles:
+    - solid
+  unicode: f093
+  voted: false
+ups:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: UPS
+  search:
+    terms:
+      - United Parcel Service
+      - package
+      - shipping
+  styles:
+    - brands
+  unicode: f7e0
+usb:
+  changes:
+    - '4.5'
+    - 5.0.0
+  label: USB
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f287
+  voted: false
+user:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.3
+    - 5.0.11
+  label: User
+  search:
+    terms:
+      - account
+      - avatar
+      - head
+      - human
+      - man
+      - person
+      - profile
+  styles:
+    - solid
+    - regular
+  unicode: f007
+  voted: false
+user-alt:
+  changes:
+    - 5.0.0
+    - 5.0.3
+    - 5.0.11
+  label: Alternate User
+  search:
+    terms:
+      - account
+      - avatar
+      - head
+      - human
+      - man
+      - person
+      - profile
+  styles:
+    - solid
+  unicode: f406
+  voted: false
+user-alt-slash:
+  changes:
+    - 5.0.11
+  label: Alternate User Slash
+  search:
+    terms:
+      - account
+      - avatar
+      - head
+      - human
+      - man
+      - person
+      - profile
+  styles:
+    - solid
+  unicode: f4fa
+  voted: false
+user-astronaut:
+  changes:
+    - 5.0.11
+  label: User Astronaut
+  search:
+    terms:
+      - avatar
+      - clothing
+      - cosmonaut
+      - nasa
+      - space
+      - suit
+  styles:
+    - solid
+  unicode: f4fb
+  voted: false
+user-check:
+  changes:
+    - 5.0.11
+  label: User Check
+  search:
+    terms:
+      - accept
+      - check
+      - person
+      - verified
+  styles:
+    - solid
+  unicode: f4fc
+  voted: false
+user-circle:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.0.3
+    - 5.0.11
+  label: User Circle
+  search:
+    terms:
+      - account
+      - avatar
+      - head
+      - human
+      - man
+      - person
+      - profile
+  styles:
+    - solid
+    - regular
+  unicode: f2bd
+  voted: false
+user-clock:
+  changes:
+    - 5.0.11
+  label: User Clock
+  search:
+    terms:
+      - alert
+      - person
+      - remind
+      - time
+  styles:
+    - solid
+  unicode: f4fd
+  voted: false
+user-cog:
+  changes:
+    - 5.0.11
+  label: User Cog
+  search:
+    terms:
+      - admin
+      - cog
+      - person
+      - settings
+  styles:
+    - solid
+  unicode: f4fe
+  voted: false
+user-edit:
+  changes:
+    - 5.0.11
+  label: User Edit
+  search:
+    terms:
+      - edit
+      - pen
+      - pencil
+      - person
+      - update
+      - write
+  styles:
+    - solid
+  unicode: f4ff
+  voted: false
+user-friends:
+  changes:
+    - 5.0.11
+  label: User Friends
+  search:
+    terms:
+      - group
+      - people
+      - person
+      - team
+      - users
+  styles:
+    - solid
+  unicode: f500
+  voted: false
+user-graduate:
+  changes:
+    - 5.0.11
+  label: User Graduate
+  search:
+    terms:
+      - cap
+      - clothing
+      - commencement
+      - gown
+      - graduation
+      - person
+      - student
+  styles:
+    - solid
+  unicode: f501
+  voted: false
+user-injured:
+  changes:
+    - 5.4.0
+  label: User Injured
+  search:
+    terms:
+      - cast
+      - injury
+      - ouch
+      - patient
+      - person
+      - sling
+  styles:
+    - solid
+  unicode: f728
+  voted: false
+user-lock:
+  changes:
+    - 5.0.11
+    - 5.9.0
+  label: User Lock
+  search:
+    terms:
+      - admin
+      - lock
+      - person
+      - private
+      - unlock
+  styles:
+    - solid
+  unicode: f502
+  voted: false
+user-md:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.3
+    - 5.0.7
+    - 5.0.11
+  label: Doctor
+  search:
+    terms:
+      - job
+      - medical
+      - nurse
+      - occupation
+      - physician
+      - profile
+      - surgeon
+  styles:
+    - solid
+  unicode: f0f0
+  voted: false
+user-minus:
+  changes:
+    - 5.0.11
+  label: User Minus
+  search:
+    terms:
+      - delete
+      - negative
+      - remove
+  styles:
+    - solid
+  unicode: f503
+  voted: false
+user-ninja:
+  changes:
+    - 5.0.11
+  label: User Ninja
+  search:
+    terms:
+      - assassin
+      - avatar
+      - dangerous
+      - deadly
+      - sneaky
+  styles:
+    - solid
+  unicode: f504
+  voted: false
+user-nurse:
+  changes:
+    - 5.7.0
+  label: Nurse
+  search:
+    terms:
+      - doctor
+      - midwife
+      - practitioner
+      - surgeon
+  styles:
+    - solid
+  unicode: f82f
+  voted: false
+user-plus:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.0.3
+    - 5.0.11
+  label: User Plus
+  search:
+    terms:
+      - add
+      - avatar
+      - positive
+      - sign up
+      - signup
+      - team
+  styles:
+    - solid
+  unicode: f234
+  voted: false
+user-secret:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.0.3
+    - 5.0.11
+  label: User Secret
+  search:
+    terms:
+      - clothing
+      - coat
+      - hat
+      - incognito
+      - person
+      - privacy
+      - spy
+      - whisper
+  styles:
+    - solid
+  unicode: f21b
+  voted: false
+user-shield:
+  changes:
+    - 5.0.11
+  label: User Shield
+  search:
+    terms:
+      - admin
+      - person
+      - private
+      - protect
+      - safe
+  styles:
+    - solid
+  unicode: f505
+  voted: false
+user-slash:
+  changes:
+    - 5.0.11
+  label: User Slash
+  search:
+    terms:
+      - ban
+      - delete
+      - remove
+  styles:
+    - solid
+  unicode: f506
+  voted: false
+user-tag:
+  changes:
+    - 5.0.11
+  label: User Tag
+  search:
+    terms:
+      - avatar
+      - discount
+      - label
+      - person
+      - role
+      - special
+  styles:
+    - solid
+  unicode: f507
+  voted: false
+user-tie:
+  changes:
+    - 5.0.11
+  label: User Tie
+  search:
+    terms:
+      - avatar
+      - business
+      - clothing
+      - formal
+      - professional
+      - suit
+  styles:
+    - solid
+  unicode: f508
+  voted: false
+user-times:
+  changes:
+    - '4.3'
+    - 5.0.0
+    - 5.0.3
+    - 5.0.11
+  label: Remove User
+  search:
+    terms:
+      - archive
+      - delete
+      - remove
+      - x
+  styles:
+    - solid
+  unicode: f235
+  voted: false
+users:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.3
+    - 5.0.11
+  label: Users
+  search:
+    terms:
+      - friends
+      - group
+      - people
+      - persons
+      - profiles
+      - team
+  styles:
+    - solid
+  unicode: f0c0
+  voted: false
+users-cog:
+  changes:
+    - 5.0.11
+  label: Users Cog
+  search:
+    terms:
+      - admin
+      - cog
+      - group
+      - person
+      - settings
+      - team
+  styles:
+    - solid
+  unicode: f509
+  voted: false
+usps:
+  changes:
+    - 5.6.0
+    - 5.8.0
+  label: United States Postal Service
+  search:
+    terms:
+      - american
+      - package
+      - shipping
+      - usa
+  styles:
+    - brands
+  unicode: f7e1
+ussunnah:
+  changes:
+    - 5.0.0
+  label: us-Sunnah Foundation
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f407
+  voted: false
+utensil-spoon:
+  changes:
+    - 5.0.0
+  label: Utensil Spoon
+  search:
+    terms:
+      - cutlery
+      - dining
+      - scoop
+      - silverware
+      - spoon
+  styles:
+    - solid
+  unicode: f2e5
+  voted: false
+utensils:
+  changes:
+    - 5.0.0
+  label: Utensils
+  search:
+    terms:
+      - cutlery
+      - dining
+      - dinner
+      - eat
+      - food
+      - fork
+      - knife
+      - restaurant
+  styles:
+    - solid
+  unicode: f2e7
+  voted: false
+vaadin:
+  changes:
+    - 5.0.0
+  label: Vaadin
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f408
+  voted: false
+vector-square:
+  changes:
+    - 5.1.0
+  label: Vector Square
+  search:
+    terms:
+      - anchors
+      - lines
+      - object
+      - render
+      - shape
+  styles:
+    - solid
+  unicode: f5cb
+  voted: false
+venus:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Venus
+  search:
+    terms:
+      - female
+  styles:
+    - solid
+  unicode: f221
+  voted: false
+venus-double:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Venus Double
+  search:
+    terms:
+      - female
+  styles:
+    - solid
+  unicode: f226
+  voted: false
+venus-mars:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Venus Mars
+  search:
+    terms:
+      - Gender
+  styles:
+    - solid
+  unicode: f228
+  voted: false
+viacoin:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: Viacoin
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f237
+  voted: false
+viadeo:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: Video
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2a9
+  voted: false
+viadeo-square:
+  changes:
+    - '4.6'
+    - 5.0.0
+    - 5.7.0
+  label: Video Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2aa
+  voted: false
+vial:
+  changes:
+    - 5.0.7
+  label: Vial
+  search:
+    terms:
+      - experiment
+      - lab
+      - sample
+      - science
+      - test
+      - test tube
+  styles:
+    - solid
+  unicode: f492
+  voted: false
+vials:
+  changes:
+    - 5.0.7
+  label: Vials
+  search:
+    terms:
+      - experiment
+      - lab
+      - sample
+      - science
+      - test
+      - test tube
+  styles:
+    - solid
+  unicode: f493
+  voted: false
+viber:
+  changes:
+    - 5.0.0
+    - 5.0.3
+  label: Viber
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f409
+  voted: false
+video:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.0.9
+  label: Video
+  search:
+    terms:
+      - camera
+      - film
+      - movie
+      - record
+      - video-camera
+  styles:
+    - solid
+  unicode: f03d
+  voted: false
+video-slash:
+  changes:
+    - 5.0.9
+  label: Video Slash
+  search:
+    terms:
+      - add
+      - create
+      - film
+      - new
+      - positive
+      - record
+      - video
+  styles:
+    - solid
+  unicode: f4e2
+  voted: false
+vihara:
+  changes:
+    - 5.3.0
+  label: Vihara
+  search:
+    terms:
+      - buddhism
+      - buddhist
+      - building
+      - monastery
+  styles:
+    - solid
+  unicode: f6a7
+  voted: false
+vimeo:
+  changes:
+    - 5.0.0
+  label: Vimeo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f40a
+  voted: false
+vimeo-square:
+  changes:
+    - '4'
+    - 5.0.0
+  label: Vimeo Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f194
+  voted: false
+vimeo-v:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Vimeo
+  search:
+    terms:
+      - vimeo
+  styles:
+    - brands
+  unicode: f27d
+  voted: false
+vine:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: Vine
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1ca
+  voted: false
+vk:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: VK
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f189
+  voted: false
+vnv:
+  changes:
+    - 5.0.0
+  label: VNV
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f40b
+  voted: false
+voicemail:
+  changes:
+    - 5.9.0
+  label: Voicemail
+  search:
+    terms:
+      - answer
+      - inbox
+      - message
+      - phone
+  styles:
+    - solid
+  unicode: f897
+  voted: true
+volleyball-ball:
+  changes:
+    - 5.0.5
+    - 5.8.0
+  label: Volleyball Ball
+  search:
+    terms:
+      - beach
+      - olympics
+      - sport
+  styles:
+    - solid
+  unicode: f45f
+  voted: false
+volume-down:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.3.0
+  label: Volume Down
+  search:
+    terms:
+      - audio
+      - lower
+      - music
+      - quieter
+      - sound
+      - speaker
+  styles:
+    - solid
+  unicode: f027
+  voted: false
+volume-mute:
+  changes:
+    - 5.3.0
+  label: Volume Mute
+  search:
+    terms:
+      - audio
+      - music
+      - quiet
+      - sound
+      - speaker
+  styles:
+    - solid
+  unicode: f6a9
+  voted: true
+volume-off:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.3.0
+    - 5.8.0
+  label: Volume Off
+  search:
+    terms:
+      - audio
+      - ban
+      - music
+      - mute
+      - quiet
+      - silent
+      - sound
+  styles:
+    - solid
+  unicode: f026
+  voted: false
+volume-up:
+  changes:
+    - '1'
+    - 5.0.0
+    - 5.3.0
+  label: Volume Up
+  search:
+    terms:
+      - audio
+      - higher
+      - louder
+      - music
+      - sound
+      - speaker
+  styles:
+    - solid
+  unicode: f028
+  voted: false
+vote-yea:
+  changes:
+    - 5.5.0
+  label: Vote Yea
+  search:
+    terms:
+      - accept
+      - cast
+      - election
+      - politics
+      - positive
+      - 'yes'
+  styles:
+    - solid
+  unicode: f772
+  voted: false
+vr-cardboard:
+  changes:
+    - 5.4.0
+  label: Cardboard VR
+  search:
+    terms:
+      - 3d
+      - augment
+      - google
+      - reality
+      - virtual
+  styles:
+    - solid
+  unicode: f729
+  voted: true
+vuejs:
+  changes:
+    - 5.0.0
+  label: Vue.js
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f41f
+  voted: false
+walking:
+  changes:
+    - 5.0.13
+  label: Walking
+  search:
+    terms:
+      - exercise
+      - health
+      - pedometer
+      - person
+      - steps
+  styles:
+    - solid
+  unicode: f554
+  voted: true
+wallet:
+  changes:
+    - 5.0.13
+  label: Wallet
+  search:
+    terms:
+      - billfold
+      - cash
+      - currency
+      - money
+  styles:
+    - solid
+  unicode: f555
+  voted: true
+warehouse:
+  changes:
+    - 5.0.7
+  label: Warehouse
+  search:
+    terms:
+      - building
+      - capacity
+      - garage
+      - inventory
+      - storage
+  styles:
+    - solid
+  unicode: f494
+  voted: false
+water:
+  changes:
+    - 5.5.0
+  label: Water
+  search:
+    terms:
+      - lake
+      - liquid
+      - ocean
+      - sea
+      - swim
+      - wet
+  styles:
+    - solid
+  unicode: f773
+  voted: false
+wave-square:
+  changes:
+    - 5.8.0
+  label: Square Wave
+  search:
+    terms:
+      - frequency
+      - pulse
+      - signal
+  styles:
+    - solid
+  unicode: f83e
+  voted: false
+waze:
+  changes:
+    - 5.8.0
+  label: Waze
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f83f
+weebly:
+  changes:
+    - 5.1.0
+  label: Weebly
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5cc
+  voted: true
+weibo:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Weibo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f18a
+  voted: false
+weight:
+  changes:
+    - 5.0.7
+  label: Weight
+  search:
+    terms:
+      - health
+      - measurement
+      - scale
+      - weight
+  styles:
+    - solid
+  unicode: f496
+  voted: false
+weight-hanging:
+  changes:
+    - 5.1.0
+  label: Hanging Weight
+  search:
+    terms:
+      - anvil
+      - heavy
+      - measurement
+  styles:
+    - solid
+  unicode: f5cd
+  voted: false
+weixin:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.0.3
+  label: Weixin (WeChat)
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1d7
+  voted: false
+whatsapp:
+  changes:
+    - '4.3'
+    - 5.0.0
+  label: What's App
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f232
+  voted: false
+whatsapp-square:
+  changes:
+    - 5.0.0
+  label: What's App Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f40c
+  voted: false
+wheelchair:
+  changes:
+    - '4'
+    - 5.0.0
+  label: Wheelchair
+  search:
+    terms:
+      - accessible
+      - handicap
+      - person
+  styles:
+    - solid
+  unicode: f193
+  voted: false
+whmcs:
+  changes:
+    - 5.0.0
+  label: WHMCS
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f40d
+  voted: false
+wifi:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.3.0
+    - 5.10.1
+  label: WiFi
+  search:
+    terms:
+      - connection
+      - hotspot
+      - internet
+      - network
+      - wireless
+  styles:
+    - solid
+  unicode: f1eb
+  voted: false
+wikipedia-w:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Wikipedia W
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f266
+  voted: false
+wind:
+  changes:
+    - 5.4.0
+    - 5.5.0
+  label: Wind
+  search:
+    terms:
+      - air
+      - blow
+      - breeze
+      - fall
+      - seasonal
+      - weather
+  styles:
+    - solid
+  unicode: f72e
+  voted: false
+window-close:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Window Close
+  search:
+    terms:
+      - browser
+      - cancel
+      - computer
+      - development
+  styles:
+    - solid
+    - regular
+  unicode: f410
+  voted: false
+window-maximize:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Window Maximize
+  search:
+    terms:
+      - browser
+      - computer
+      - development
+      - expand
+  styles:
+    - solid
+    - regular
+  unicode: f2d0
+  voted: false
+window-minimize:
+  changes:
+    - '4.7'
+    - 5.0.0
+    - 5.10.1
+  label: Window Minimize
+  search:
+    terms:
+      - browser
+      - collapse
+      - computer
+      - development
+  styles:
+    - solid
+    - regular
+  unicode: f2d1
+  voted: false
+window-restore:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: Window Restore
+  search:
+    terms:
+      - browser
+      - computer
+      - development
+  styles:
+    - solid
+    - regular
+  unicode: f2d2
+  voted: false
+windows:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Windows
+  search:
+    terms:
+      - microsoft
+      - operating system
+      - os
+  styles:
+    - brands
+  unicode: f17a
+  voted: false
+wine-bottle:
+  changes:
+    - 5.4.0
+  label: Wine Bottle
+  search:
+    terms:
+      - alcohol
+      - beverage
+      - cabernet
+      - drink
+      - glass
+      - grapes
+      - merlot
+      - sauvignon
+  styles:
+    - solid
+  unicode: f72f
+  voted: false
+wine-glass:
+  changes:
+    - 5.0.9
+    - 5.1.0
+    - 5.10.1
+  label: Wine Glass
+  search:
+    terms:
+      - alcohol
+      - beverage
+      - cabernet
+      - drink
+      - grapes
+      - merlot
+      - sauvignon
+  styles:
+    - solid
+  unicode: f4e3
+  voted: false
+wine-glass-alt:
+  changes:
+    - 5.1.0
+    - 5.10.1
+  label: Alternate Wine Glas
+  search:
+    terms:
+      - alcohol
+      - beverage
+      - cabernet
+      - drink
+      - grapes
+      - merlot
+      - sauvignon
+  styles:
+    - solid
+  unicode: f5ce
+  voted: false
+wix:
+  changes:
+    - 5.1.0
+  label: Wix
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f5cf
+  voted: true
+wizards-of-the-coast:
+  changes:
+    - 5.4.0
+  label: Wizards of the Coast
+  search:
+    terms:
+      - Dungeons & Dragons
+      - d&d
+      - dnd
+      - fantasy
+      - game
+      - gaming
+      - tabletop
+  styles:
+    - brands
+  unicode: f730
+  voted: false
+wolf-pack-battalion:
+  changes:
+    - 5.0.12
+    - 5.8.0
+  label: Wolf Pack Battalion
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f514
+  voted: false
+won-sign:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Won Sign
+  search:
+    terms:
+      - currency
+      - krw
+      - money
+  styles:
+    - solid
+  unicode: f159
+  voted: false
+wordpress:
+  changes:
+    - '4.1'
+    - 5.0.0
+  label: WordPress Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f19a
+  voted: false
+wordpress-simple:
+  changes:
+    - 5.0.0
+  label: Wordpress Simple
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f411
+  voted: false
+wpbeginner:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: WPBeginner
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f297
+  voted: false
+wpexplorer:
+  changes:
+    - '4.7'
+    - 5.0.0
+  label: WPExplorer
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2de
+  voted: false
+wpforms:
+  changes:
+    - '4.6'
+    - 5.0.0
+  label: WPForms
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f298
+  voted: false
+wpressr:
+  changes:
+    - 5.4.2
+  label: wpressr
+  search:
+    terms:
+      - rendact
+  styles:
+    - brands
+  unicode: f3e4
+  voted: false
+wrench:
+  changes:
+    - '2'
+    - 5.0.0
+    - 5.0.13
+  label: Wrench
+  search:
+    terms:
+      - construction
+      - fix
+      - mechanic
+      - plumbing
+      - settings
+      - spanner
+      - tool
+      - update
+  styles:
+    - solid
+  unicode: f0ad
+  voted: false
+x-ray:
+  changes:
+    - 5.0.7
+  label: X-Ray
+  search:
+    terms:
+      - health
+      - medical
+      - radiological images
+      - radiology
+      - skeleton
+  styles:
+    - solid
+  unicode: f497
+  voted: false
+xbox:
+  changes:
+    - 5.0.0
+  label: Xbox
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f412
+  voted: false
+xing:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Xing
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f168
+  voted: false
+xing-square:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Xing Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f169
+  voted: false
+y-combinator:
+  changes:
+    - '4.4'
+    - 5.0.0
+  label: Y Combinator
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f23b
+  voted: false
+yahoo:
+  changes:
+    - '4.1'
+    - 5.0.0
+    - 5.0.3
+  label: Yahoo Logo
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f19e
+  voted: false
+yammer:
+  changes:
+    - 5.8.0
+  label: Yammer
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f840
+yandex:
+  changes:
+    - 5.0.0
+  label: Yandex
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f413
+  voted: false
+yandex-international:
+  changes:
+    - 5.0.0
+  label: Yandex International
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f414
+  voted: false
+yarn:
+  changes:
+    - 5.6.0
+  label: Yarn
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f7e3
+  voted: true
+yelp:
+  changes:
+    - '4.2'
+    - 5.0.0
+    - 5.7.0
+    - 5.8.0
+  label: Yelp
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f1e9
+  voted: false
+yen-sign:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: Yen Sign
+  search:
+    terms:
+      - currency
+      - jpy
+      - money
+  styles:
+    - solid
+  unicode: f157
+  voted: false
+yin-yang:
+  changes:
+    - 5.3.0
+  label: Yin Yang
+  search:
+    terms:
+      - daoism
+      - opposites
+      - taoism
+  styles:
+    - solid
+  unicode: f6ad
+  voted: false
+yoast:
+  changes:
+    - '4.6'
+    - 5.0.0
+    - 5.0.3
+  label: Yoast
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f2b1
+  voted: false
+youtube:
+  changes:
+    - '3.2'
+    - 5.0.0
+  label: YouTube
+  search:
+    terms:
+      - film
+      - video
+      - youtube-play
+      - youtube-square
+  styles:
+    - brands
+  unicode: f167
+  voted: false
+youtube-square:
+  changes:
+    - 5.0.3
+  label: YouTube Square
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f431
+  voted: false
+zhihu:
+  changes:
+    - 5.2.0
+  label: Zhihu
+  search:
+    terms: []
+  styles:
+    - brands
+  unicode: f63f
+  voted: true

+ 2307 - 0
resources/fontawesome/metadata/shims.json

@@ -0,0 +1,2307 @@
+[
+  [
+    "glass",
+    null,
+    "glass-martini"
+  ],
+  [
+    "meetup",
+    "fab",
+    null
+  ],
+  [
+    "star-o",
+    "far",
+    "star"
+  ],
+  [
+    "remove",
+    null,
+    "times"
+  ],
+  [
+    "close",
+    null,
+    "times"
+  ],
+  [
+    "gear",
+    null,
+    "cog"
+  ],
+  [
+    "trash-o",
+    "far",
+    "trash-alt"
+  ],
+  [
+    "file-o",
+    "far",
+    "file"
+  ],
+  [
+    "clock-o",
+    "far",
+    "clock"
+  ],
+  [
+    "arrow-circle-o-down",
+    "far",
+    "arrow-alt-circle-down"
+  ],
+  [
+    "arrow-circle-o-up",
+    "far",
+    "arrow-alt-circle-up"
+  ],
+  [
+    "play-circle-o",
+    "far",
+    "play-circle"
+  ],
+  [
+    "repeat",
+    null,
+    "redo"
+  ],
+  [
+    "rotate-right",
+    null,
+    "redo"
+  ],
+  [
+    "refresh",
+    null,
+    "sync"
+  ],
+  [
+    "list-alt",
+    "far",
+    null
+  ],
+  [
+    "dedent",
+    null,
+    "outdent"
+  ],
+  [
+    "video-camera",
+    null,
+    "video"
+  ],
+  [
+    "picture-o",
+    "far",
+    "image"
+  ],
+  [
+    "photo",
+    "far",
+    "image"
+  ],
+  [
+    "image",
+    "far",
+    "image"
+  ],
+  [
+    "pencil",
+    null,
+    "pencil-alt"
+  ],
+  [
+    "map-marker",
+    null,
+    "map-marker-alt"
+  ],
+  [
+    "pencil-square-o",
+    "far",
+    "edit"
+  ],
+  [
+    "share-square-o",
+    "far",
+    "share-square"
+  ],
+  [
+    "check-square-o",
+    "far",
+    "check-square"
+  ],
+  [
+    "arrows",
+    null,
+    "arrows-alt"
+  ],
+  [
+    "times-circle-o",
+    "far",
+    "times-circle"
+  ],
+  [
+    "check-circle-o",
+    "far",
+    "check-circle"
+  ],
+  [
+    "mail-forward",
+    null,
+    "share"
+  ],
+  [
+    "eye",
+    "far",
+    null
+  ],
+  [
+    "eye-slash",
+    "far",
+    null
+  ],
+  [
+    "warning",
+    null,
+    "exclamation-triangle"
+  ],
+  [
+    "calendar",
+    null,
+    "calendar-alt"
+  ],
+  [
+    "arrows-v",
+    null,
+    "arrows-alt-v"
+  ],
+  [
+    "arrows-h",
+    null,
+    "arrows-alt-h"
+  ],
+  [
+    "bar-chart",
+    "far",
+    "chart-bar"
+  ],
+  [
+    "bar-chart-o",
+    "far",
+    "chart-bar"
+  ],
+  [
+    "twitter-square",
+    "fab",
+    null
+  ],
+  [
+    "facebook-square",
+    "fab",
+    null
+  ],
+  [
+    "gears",
+    null,
+    "cogs"
+  ],
+  [
+    "thumbs-o-up",
+    "far",
+    "thumbs-up"
+  ],
+  [
+    "thumbs-o-down",
+    "far",
+    "thumbs-down"
+  ],
+  [
+    "heart-o",
+    "far",
+    "heart"
+  ],
+  [
+    "sign-out",
+    null,
+    "sign-out-alt"
+  ],
+  [
+    "linkedin-square",
+    "fab",
+    "linkedin"
+  ],
+  [
+    "thumb-tack",
+    null,
+    "thumbtack"
+  ],
+  [
+    "external-link",
+    null,
+    "external-link-alt"
+  ],
+  [
+    "sign-in",
+    null,
+    "sign-in-alt"
+  ],
+  [
+    "github-square",
+    "fab",
+    null
+  ],
+  [
+    "lemon-o",
+    "far",
+    "lemon"
+  ],
+  [
+    "square-o",
+    "far",
+    "square"
+  ],
+  [
+    "bookmark-o",
+    "far",
+    "bookmark"
+  ],
+  [
+    "twitter",
+    "fab",
+    null
+  ],
+  [
+    "facebook",
+    "fab",
+    "facebook-f"
+  ],
+  [
+    "facebook-f",
+    "fab",
+    "facebook-f"
+  ],
+  [
+    "github",
+    "fab",
+    null
+  ],
+  [
+    "credit-card",
+    "far",
+    null
+  ],
+  [
+    "feed",
+    null,
+    "rss"
+  ],
+  [
+    "hdd-o",
+    "far",
+    "hdd"
+  ],
+  [
+    "hand-o-right",
+    "far",
+    "hand-point-right"
+  ],
+  [
+    "hand-o-left",
+    "far",
+    "hand-point-left"
+  ],
+  [
+    "hand-o-up",
+    "far",
+    "hand-point-up"
+  ],
+  [
+    "hand-o-down",
+    "far",
+    "hand-point-down"
+  ],
+  [
+    "arrows-alt",
+    null,
+    "expand-arrows-alt"
+  ],
+  [
+    "group",
+    null,
+    "users"
+  ],
+  [
+    "chain",
+    null,
+    "link"
+  ],
+  [
+    "scissors",
+    null,
+    "cut"
+  ],
+  [
+    "files-o",
+    "far",
+    "copy"
+  ],
+  [
+    "floppy-o",
+    "far",
+    "save"
+  ],
+  [
+    "navicon",
+    null,
+    "bars"
+  ],
+  [
+    "reorder",
+    null,
+    "bars"
+  ],
+  [
+    "pinterest",
+    "fab",
+    null
+  ],
+  [
+    "pinterest-square",
+    "fab",
+    null
+  ],
+  [
+    "google-plus-square",
+    "fab",
+    null
+  ],
+  [
+    "google-plus",
+    "fab",
+    "google-plus-g"
+  ],
+  [
+    "money",
+    "far",
+    "money-bill-alt"
+  ],
+  [
+    "unsorted",
+    null,
+    "sort"
+  ],
+  [
+    "sort-desc",
+    null,
+    "sort-down"
+  ],
+  [
+    "sort-asc",
+    null,
+    "sort-up"
+  ],
+  [
+    "linkedin",
+    "fab",
+    "linkedin-in"
+  ],
+  [
+    "rotate-left",
+    null,
+    "undo"
+  ],
+  [
+    "legal",
+    null,
+    "gavel"
+  ],
+  [
+    "tachometer",
+    null,
+    "tachometer-alt"
+  ],
+  [
+    "dashboard",
+    null,
+    "tachometer-alt"
+  ],
+  [
+    "comment-o",
+    "far",
+    "comment"
+  ],
+  [
+    "comments-o",
+    "far",
+    "comments"
+  ],
+  [
+    "flash",
+    null,
+    "bolt"
+  ],
+  [
+    "clipboard",
+    "far",
+    null
+  ],
+  [
+    "paste",
+    "far",
+    "clipboard"
+  ],
+  [
+    "lightbulb-o",
+    "far",
+    "lightbulb"
+  ],
+  [
+    "exchange",
+    null,
+    "exchange-alt"
+  ],
+  [
+    "cloud-download",
+    null,
+    "cloud-download-alt"
+  ],
+  [
+    "cloud-upload",
+    null,
+    "cloud-upload-alt"
+  ],
+  [
+    "bell-o",
+    "far",
+    "bell"
+  ],
+  [
+    "cutlery",
+    null,
+    "utensils"
+  ],
+  [
+    "file-text-o",
+    "far",
+    "file-alt"
+  ],
+  [
+    "building-o",
+    "far",
+    "building"
+  ],
+  [
+    "hospital-o",
+    "far",
+    "hospital"
+  ],
+  [
+    "tablet",
+    null,
+    "tablet-alt"
+  ],
+  [
+    "mobile",
+    null,
+    "mobile-alt"
+  ],
+  [
+    "mobile-phone",
+    null,
+    "mobile-alt"
+  ],
+  [
+    "circle-o",
+    "far",
+    "circle"
+  ],
+  [
+    "mail-reply",
+    null,
+    "reply"
+  ],
+  [
+    "github-alt",
+    "fab",
+    null
+  ],
+  [
+    "folder-o",
+    "far",
+    "folder"
+  ],
+  [
+    "folder-open-o",
+    "far",
+    "folder-open"
+  ],
+  [
+    "smile-o",
+    "far",
+    "smile"
+  ],
+  [
+    "frown-o",
+    "far",
+    "frown"
+  ],
+  [
+    "meh-o",
+    "far",
+    "meh"
+  ],
+  [
+    "keyboard-o",
+    "far",
+    "keyboard"
+  ],
+  [
+    "flag-o",
+    "far",
+    "flag"
+  ],
+  [
+    "mail-reply-all",
+    null,
+    "reply-all"
+  ],
+  [
+    "star-half-o",
+    "far",
+    "star-half"
+  ],
+  [
+    "star-half-empty",
+    "far",
+    "star-half"
+  ],
+  [
+    "star-half-full",
+    "far",
+    "star-half"
+  ],
+  [
+    "code-fork",
+    null,
+    "code-branch"
+  ],
+  [
+    "chain-broken",
+    null,
+    "unlink"
+  ],
+  [
+    "shield",
+    null,
+    "shield-alt"
+  ],
+  [
+    "calendar-o",
+    "far",
+    "calendar"
+  ],
+  [
+    "maxcdn",
+    "fab",
+    null
+  ],
+  [
+    "html5",
+    "fab",
+    null
+  ],
+  [
+    "css3",
+    "fab",
+    null
+  ],
+  [
+    "ticket",
+    null,
+    "ticket-alt"
+  ],
+  [
+    "minus-square-o",
+    "far",
+    "minus-square"
+  ],
+  [
+    "level-up",
+    null,
+    "level-up-alt"
+  ],
+  [
+    "level-down",
+    null,
+    "level-down-alt"
+  ],
+  [
+    "pencil-square",
+    null,
+    "pen-square"
+  ],
+  [
+    "external-link-square",
+    null,
+    "external-link-square-alt"
+  ],
+  [
+    "compass",
+    "far",
+    null
+  ],
+  [
+    "caret-square-o-down",
+    "far",
+    "caret-square-down"
+  ],
+  [
+    "toggle-down",
+    "far",
+    "caret-square-down"
+  ],
+  [
+    "caret-square-o-up",
+    "far",
+    "caret-square-up"
+  ],
+  [
+    "toggle-up",
+    "far",
+    "caret-square-up"
+  ],
+  [
+    "caret-square-o-right",
+    "far",
+    "caret-square-right"
+  ],
+  [
+    "toggle-right",
+    "far",
+    "caret-square-right"
+  ],
+  [
+    "eur",
+    null,
+    "euro-sign"
+  ],
+  [
+    "euro",
+    null,
+    "euro-sign"
+  ],
+  [
+    "gbp",
+    null,
+    "pound-sign"
+  ],
+  [
+    "usd",
+    null,
+    "dollar-sign"
+  ],
+  [
+    "dollar",
+    null,
+    "dollar-sign"
+  ],
+  [
+    "inr",
+    null,
+    "rupee-sign"
+  ],
+  [
+    "rupee",
+    null,
+    "rupee-sign"
+  ],
+  [
+    "jpy",
+    null,
+    "yen-sign"
+  ],
+  [
+    "cny",
+    null,
+    "yen-sign"
+  ],
+  [
+    "rmb",
+    null,
+    "yen-sign"
+  ],
+  [
+    "yen",
+    null,
+    "yen-sign"
+  ],
+  [
+    "rub",
+    null,
+    "ruble-sign"
+  ],
+  [
+    "ruble",
+    null,
+    "ruble-sign"
+  ],
+  [
+    "rouble",
+    null,
+    "ruble-sign"
+  ],
+  [
+    "krw",
+    null,
+    "won-sign"
+  ],
+  [
+    "won",
+    null,
+    "won-sign"
+  ],
+  [
+    "btc",
+    "fab",
+    null
+  ],
+  [
+    "bitcoin",
+    "fab",
+    "btc"
+  ],
+  [
+    "file-text",
+    null,
+    "file-alt"
+  ],
+  [
+    "sort-alpha-asc",
+    null,
+    "sort-alpha-down"
+  ],
+  [
+    "sort-alpha-desc",
+    null,
+    "sort-alpha-down-alt"
+  ],
+  [
+    "sort-amount-asc",
+    null,
+    "sort-amount-down"
+  ],
+  [
+    "sort-amount-desc",
+    null,
+    "sort-amount-down-alt"
+  ],
+  [
+    "sort-numeric-asc",
+    null,
+    "sort-numeric-down"
+  ],
+  [
+    "sort-numeric-desc",
+    null,
+    "sort-numeric-down-alt"
+  ],
+  [
+    "youtube-square",
+    "fab",
+    null
+  ],
+  [
+    "youtube",
+    "fab",
+    null
+  ],
+  [
+    "xing",
+    "fab",
+    null
+  ],
+  [
+    "xing-square",
+    "fab",
+    null
+  ],
+  [
+    "youtube-play",
+    "fab",
+    "youtube"
+  ],
+  [
+    "dropbox",
+    "fab",
+    null
+  ],
+  [
+    "stack-overflow",
+    "fab",
+    null
+  ],
+  [
+    "instagram",
+    "fab",
+    null
+  ],
+  [
+    "flickr",
+    "fab",
+    null
+  ],
+  [
+    "adn",
+    "fab",
+    null
+  ],
+  [
+    "bitbucket",
+    "fab",
+    null
+  ],
+  [
+    "bitbucket-square",
+    "fab",
+    "bitbucket"
+  ],
+  [
+    "tumblr",
+    "fab",
+    null
+  ],
+  [
+    "tumblr-square",
+    "fab",
+    null
+  ],
+  [
+    "long-arrow-down",
+    null,
+    "long-arrow-alt-down"
+  ],
+  [
+    "long-arrow-up",
+    null,
+    "long-arrow-alt-up"
+  ],
+  [
+    "long-arrow-left",
+    null,
+    "long-arrow-alt-left"
+  ],
+  [
+    "long-arrow-right",
+    null,
+    "long-arrow-alt-right"
+  ],
+  [
+    "apple",
+    "fab",
+    null
+  ],
+  [
+    "windows",
+    "fab",
+    null
+  ],
+  [
+    "android",
+    "fab",
+    null
+  ],
+  [
+    "linux",
+    "fab",
+    null
+  ],
+  [
+    "dribbble",
+    "fab",
+    null
+  ],
+  [
+    "skype",
+    "fab",
+    null
+  ],
+  [
+    "foursquare",
+    "fab",
+    null
+  ],
+  [
+    "trello",
+    "fab",
+    null
+  ],
+  [
+    "gratipay",
+    "fab",
+    null
+  ],
+  [
+    "gittip",
+    "fab",
+    "gratipay"
+  ],
+  [
+    "sun-o",
+    "far",
+    "sun"
+  ],
+  [
+    "moon-o",
+    "far",
+    "moon"
+  ],
+  [
+    "vk",
+    "fab",
+    null
+  ],
+  [
+    "weibo",
+    "fab",
+    null
+  ],
+  [
+    "renren",
+    "fab",
+    null
+  ],
+  [
+    "pagelines",
+    "fab",
+    null
+  ],
+  [
+    "stack-exchange",
+    "fab",
+    null
+  ],
+  [
+    "arrow-circle-o-right",
+    "far",
+    "arrow-alt-circle-right"
+  ],
+  [
+    "arrow-circle-o-left",
+    "far",
+    "arrow-alt-circle-left"
+  ],
+  [
+    "caret-square-o-left",
+    "far",
+    "caret-square-left"
+  ],
+  [
+    "toggle-left",
+    "far",
+    "caret-square-left"
+  ],
+  [
+    "dot-circle-o",
+    "far",
+    "dot-circle"
+  ],
+  [
+    "vimeo-square",
+    "fab",
+    null
+  ],
+  [
+    "try",
+    null,
+    "lira-sign"
+  ],
+  [
+    "turkish-lira",
+    null,
+    "lira-sign"
+  ],
+  [
+    "plus-square-o",
+    "far",
+    "plus-square"
+  ],
+  [
+    "slack",
+    "fab",
+    null
+  ],
+  [
+    "wordpress",
+    "fab",
+    null
+  ],
+  [
+    "openid",
+    "fab",
+    null
+  ],
+  [
+    "institution",
+    null,
+    "university"
+  ],
+  [
+    "bank",
+    null,
+    "university"
+  ],
+  [
+    "mortar-board",
+    null,
+    "graduation-cap"
+  ],
+  [
+    "yahoo",
+    "fab",
+    null
+  ],
+  [
+    "google",
+    "fab",
+    null
+  ],
+  [
+    "reddit",
+    "fab",
+    null
+  ],
+  [
+    "reddit-square",
+    "fab",
+    null
+  ],
+  [
+    "stumbleupon-circle",
+    "fab",
+    null
+  ],
+  [
+    "stumbleupon",
+    "fab",
+    null
+  ],
+  [
+    "delicious",
+    "fab",
+    null
+  ],
+  [
+    "digg",
+    "fab",
+    null
+  ],
+  [
+    "pied-piper-pp",
+    "fab",
+    null
+  ],
+  [
+    "pied-piper-alt",
+    "fab",
+    null
+  ],
+  [
+    "drupal",
+    "fab",
+    null
+  ],
+  [
+    "joomla",
+    "fab",
+    null
+  ],
+  [
+    "spoon",
+    null,
+    "utensil-spoon"
+  ],
+  [
+    "behance",
+    "fab",
+    null
+  ],
+  [
+    "behance-square",
+    "fab",
+    null
+  ],
+  [
+    "steam",
+    "fab",
+    null
+  ],
+  [
+    "steam-square",
+    "fab",
+    null
+  ],
+  [
+    "automobile",
+    null,
+    "car"
+  ],
+  [
+    "cab",
+    null,
+    "taxi"
+  ],
+  [
+    "envelope-o",
+    "far",
+    "envelope"
+  ],
+  [
+    "deviantart",
+    "fab",
+    null
+  ],
+  [
+    "soundcloud",
+    "fab",
+    null
+  ],
+  [
+    "file-pdf-o",
+    "far",
+    "file-pdf"
+  ],
+  [
+    "file-word-o",
+    "far",
+    "file-word"
+  ],
+  [
+    "file-excel-o",
+    "far",
+    "file-excel"
+  ],
+  [
+    "file-powerpoint-o",
+    "far",
+    "file-powerpoint"
+  ],
+  [
+    "file-image-o",
+    "far",
+    "file-image"
+  ],
+  [
+    "file-photo-o",
+    "far",
+    "file-image"
+  ],
+  [
+    "file-picture-o",
+    "far",
+    "file-image"
+  ],
+  [
+    "file-archive-o",
+    "far",
+    "file-archive"
+  ],
+  [
+    "file-zip-o",
+    "far",
+    "file-archive"
+  ],
+  [
+    "file-audio-o",
+    "far",
+    "file-audio"
+  ],
+  [
+    "file-sound-o",
+    "far",
+    "file-audio"
+  ],
+  [
+    "file-video-o",
+    "far",
+    "file-video"
+  ],
+  [
+    "file-movie-o",
+    "far",
+    "file-video"
+  ],
+  [
+    "file-code-o",
+    "far",
+    "file-code"
+  ],
+  [
+    "vine",
+    "fab",
+    null
+  ],
+  [
+    "codepen",
+    "fab",
+    null
+  ],
+  [
+    "jsfiddle",
+    "fab",
+    null
+  ],
+  [
+    "life-ring",
+    "far",
+    null
+  ],
+  [
+    "life-bouy",
+    "far",
+    "life-ring"
+  ],
+  [
+    "life-buoy",
+    "far",
+    "life-ring"
+  ],
+  [
+    "life-saver",
+    "far",
+    "life-ring"
+  ],
+  [
+    "support",
+    "far",
+    "life-ring"
+  ],
+  [
+    "circle-o-notch",
+    null,
+    "circle-notch"
+  ],
+  [
+    "rebel",
+    "fab",
+    null
+  ],
+  [
+    "ra",
+    "fab",
+    "rebel"
+  ],
+  [
+    "resistance",
+    "fab",
+    "rebel"
+  ],
+  [
+    "empire",
+    "fab",
+    null
+  ],
+  [
+    "ge",
+    "fab",
+    "empire"
+  ],
+  [
+    "git-square",
+    "fab",
+    null
+  ],
+  [
+    "git",
+    "fab",
+    null
+  ],
+  [
+    "hacker-news",
+    "fab",
+    null
+  ],
+  [
+    "y-combinator-square",
+    "fab",
+    "hacker-news"
+  ],
+  [
+    "yc-square",
+    "fab",
+    "hacker-news"
+  ],
+  [
+    "tencent-weibo",
+    "fab",
+    null
+  ],
+  [
+    "qq",
+    "fab",
+    null
+  ],
+  [
+    "weixin",
+    "fab",
+    null
+  ],
+  [
+    "wechat",
+    "fab",
+    "weixin"
+  ],
+  [
+    "send",
+    null,
+    "paper-plane"
+  ],
+  [
+    "paper-plane-o",
+    "far",
+    "paper-plane"
+  ],
+  [
+    "send-o",
+    "far",
+    "paper-plane"
+  ],
+  [
+    "circle-thin",
+    "far",
+    "circle"
+  ],
+  [
+    "header",
+    null,
+    "heading"
+  ],
+  [
+    "sliders",
+    null,
+    "sliders-h"
+  ],
+  [
+    "futbol-o",
+    "far",
+    "futbol"
+  ],
+  [
+    "soccer-ball-o",
+    "far",
+    "futbol"
+  ],
+  [
+    "slideshare",
+    "fab",
+    null
+  ],
+  [
+    "twitch",
+    "fab",
+    null
+  ],
+  [
+    "yelp",
+    "fab",
+    null
+  ],
+  [
+    "newspaper-o",
+    "far",
+    "newspaper"
+  ],
+  [
+    "paypal",
+    "fab",
+    null
+  ],
+  [
+    "google-wallet",
+    "fab",
+    null
+  ],
+  [
+    "cc-visa",
+    "fab",
+    null
+  ],
+  [
+    "cc-mastercard",
+    "fab",
+    null
+  ],
+  [
+    "cc-discover",
+    "fab",
+    null
+  ],
+  [
+    "cc-amex",
+    "fab",
+    null
+  ],
+  [
+    "cc-paypal",
+    "fab",
+    null
+  ],
+  [
+    "cc-stripe",
+    "fab",
+    null
+  ],
+  [
+    "bell-slash-o",
+    "far",
+    "bell-slash"
+  ],
+  [
+    "trash",
+    null,
+    "trash-alt"
+  ],
+  [
+    "copyright",
+    "far",
+    null
+  ],
+  [
+    "eyedropper",
+    null,
+    "eye-dropper"
+  ],
+  [
+    "area-chart",
+    null,
+    "chart-area"
+  ],
+  [
+    "pie-chart",
+    null,
+    "chart-pie"
+  ],
+  [
+    "line-chart",
+    null,
+    "chart-line"
+  ],
+  [
+    "lastfm",
+    "fab",
+    null
+  ],
+  [
+    "lastfm-square",
+    "fab",
+    null
+  ],
+  [
+    "ioxhost",
+    "fab",
+    null
+  ],
+  [
+    "angellist",
+    "fab",
+    null
+  ],
+  [
+    "cc",
+    "far",
+    "closed-captioning"
+  ],
+  [
+    "ils",
+    null,
+    "shekel-sign"
+  ],
+  [
+    "shekel",
+    null,
+    "shekel-sign"
+  ],
+  [
+    "sheqel",
+    null,
+    "shekel-sign"
+  ],
+  [
+    "meanpath",
+    "fab",
+    "font-awesome"
+  ],
+  [
+    "buysellads",
+    "fab",
+    null
+  ],
+  [
+    "connectdevelop",
+    "fab",
+    null
+  ],
+  [
+    "dashcube",
+    "fab",
+    null
+  ],
+  [
+    "forumbee",
+    "fab",
+    null
+  ],
+  [
+    "leanpub",
+    "fab",
+    null
+  ],
+  [
+    "sellsy",
+    "fab",
+    null
+  ],
+  [
+    "shirtsinbulk",
+    "fab",
+    null
+  ],
+  [
+    "simplybuilt",
+    "fab",
+    null
+  ],
+  [
+    "skyatlas",
+    "fab",
+    null
+  ],
+  [
+    "diamond",
+    "far",
+    "gem"
+  ],
+  [
+    "intersex",
+    null,
+    "transgender"
+  ],
+  [
+    "facebook-official",
+    "fab",
+    "facebook"
+  ],
+  [
+    "pinterest-p",
+    "fab",
+    null
+  ],
+  [
+    "whatsapp",
+    "fab",
+    null
+  ],
+  [
+    "hotel",
+    null,
+    "bed"
+  ],
+  [
+    "viacoin",
+    "fab",
+    null
+  ],
+  [
+    "medium",
+    "fab",
+    null
+  ],
+  [
+    "y-combinator",
+    "fab",
+    null
+  ],
+  [
+    "yc",
+    "fab",
+    "y-combinator"
+  ],
+  [
+    "optin-monster",
+    "fab",
+    null
+  ],
+  [
+    "opencart",
+    "fab",
+    null
+  ],
+  [
+    "expeditedssl",
+    "fab",
+    null
+  ],
+  [
+    "battery-4",
+    null,
+    "battery-full"
+  ],
+  [
+    "battery",
+    null,
+    "battery-full"
+  ],
+  [
+    "battery-3",
+    null,
+    "battery-three-quarters"
+  ],
+  [
+    "battery-2",
+    null,
+    "battery-half"
+  ],
+  [
+    "battery-1",
+    null,
+    "battery-quarter"
+  ],
+  [
+    "battery-0",
+    null,
+    "battery-empty"
+  ],
+  [
+    "object-group",
+    "far",
+    null
+  ],
+  [
+    "object-ungroup",
+    "far",
+    null
+  ],
+  [
+    "sticky-note-o",
+    "far",
+    "sticky-note"
+  ],
+  [
+    "cc-jcb",
+    "fab",
+    null
+  ],
+  [
+    "cc-diners-club",
+    "fab",
+    null
+  ],
+  [
+    "clone",
+    "far",
+    null
+  ],
+  [
+    "hourglass-o",
+    "far",
+    "hourglass"
+  ],
+  [
+    "hourglass-1",
+    null,
+    "hourglass-start"
+  ],
+  [
+    "hourglass-2",
+    null,
+    "hourglass-half"
+  ],
+  [
+    "hourglass-3",
+    null,
+    "hourglass-end"
+  ],
+  [
+    "hand-rock-o",
+    "far",
+    "hand-rock"
+  ],
+  [
+    "hand-grab-o",
+    "far",
+    "hand-rock"
+  ],
+  [
+    "hand-paper-o",
+    "far",
+    "hand-paper"
+  ],
+  [
+    "hand-stop-o",
+    "far",
+    "hand-paper"
+  ],
+  [
+    "hand-scissors-o",
+    "far",
+    "hand-scissors"
+  ],
+  [
+    "hand-lizard-o",
+    "far",
+    "hand-lizard"
+  ],
+  [
+    "hand-spock-o",
+    "far",
+    "hand-spock"
+  ],
+  [
+    "hand-pointer-o",
+    "far",
+    "hand-pointer"
+  ],
+  [
+    "hand-peace-o",
+    "far",
+    "hand-peace"
+  ],
+  [
+    "registered",
+    "far",
+    null
+  ],
+  [
+    "creative-commons",
+    "fab",
+    null
+  ],
+  [
+    "gg",
+    "fab",
+    null
+  ],
+  [
+    "gg-circle",
+    "fab",
+    null
+  ],
+  [
+    "tripadvisor",
+    "fab",
+    null
+  ],
+  [
+    "odnoklassniki",
+    "fab",
+    null
+  ],
+  [
+    "odnoklassniki-square",
+    "fab",
+    null
+  ],
+  [
+    "get-pocket",
+    "fab",
+    null
+  ],
+  [
+    "wikipedia-w",
+    "fab",
+    null
+  ],
+  [
+    "safari",
+    "fab",
+    null
+  ],
+  [
+    "chrome",
+    "fab",
+    null
+  ],
+  [
+    "firefox",
+    "fab",
+    null
+  ],
+  [
+    "opera",
+    "fab",
+    null
+  ],
+  [
+    "internet-explorer",
+    "fab",
+    null
+  ],
+  [
+    "television",
+    null,
+    "tv"
+  ],
+  [
+    "contao",
+    "fab",
+    null
+  ],
+  [
+    "500px",
+    "fab",
+    null
+  ],
+  [
+    "amazon",
+    "fab",
+    null
+  ],
+  [
+    "calendar-plus-o",
+    "far",
+    "calendar-plus"
+  ],
+  [
+    "calendar-minus-o",
+    "far",
+    "calendar-minus"
+  ],
+  [
+    "calendar-times-o",
+    "far",
+    "calendar-times"
+  ],
+  [
+    "calendar-check-o",
+    "far",
+    "calendar-check"
+  ],
+  [
+    "map-o",
+    "far",
+    "map"
+  ],
+  [
+    "commenting",
+    null,
+    "comment-dots"
+  ],
+  [
+    "commenting-o",
+    "far",
+    "comment-dots"
+  ],
+  [
+    "houzz",
+    "fab",
+    null
+  ],
+  [
+    "vimeo",
+    "fab",
+    "vimeo-v"
+  ],
+  [
+    "black-tie",
+    "fab",
+    null
+  ],
+  [
+    "fonticons",
+    "fab",
+    null
+  ],
+  [
+    "reddit-alien",
+    "fab",
+    null
+  ],
+  [
+    "edge",
+    "fab",
+    null
+  ],
+  [
+    "credit-card-alt",
+    null,
+    "credit-card"
+  ],
+  [
+    "codiepie",
+    "fab",
+    null
+  ],
+  [
+    "modx",
+    "fab",
+    null
+  ],
+  [
+    "fort-awesome",
+    "fab",
+    null
+  ],
+  [
+    "usb",
+    "fab",
+    null
+  ],
+  [
+    "product-hunt",
+    "fab",
+    null
+  ],
+  [
+    "mixcloud",
+    "fab",
+    null
+  ],
+  [
+    "scribd",
+    "fab",
+    null
+  ],
+  [
+    "pause-circle-o",
+    "far",
+    "pause-circle"
+  ],
+  [
+    "stop-circle-o",
+    "far",
+    "stop-circle"
+  ],
+  [
+    "bluetooth",
+    "fab",
+    null
+  ],
+  [
+    "bluetooth-b",
+    "fab",
+    null
+  ],
+  [
+    "gitlab",
+    "fab",
+    null
+  ],
+  [
+    "wpbeginner",
+    "fab",
+    null
+  ],
+  [
+    "wpforms",
+    "fab",
+    null
+  ],
+  [
+    "envira",
+    "fab",
+    null
+  ],
+  [
+    "wheelchair-alt",
+    "fab",
+    "accessible-icon"
+  ],
+  [
+    "question-circle-o",
+    "far",
+    "question-circle"
+  ],
+  [
+    "volume-control-phone",
+    null,
+    "phone-volume"
+  ],
+  [
+    "asl-interpreting",
+    null,
+    "american-sign-language-interpreting"
+  ],
+  [
+    "deafness",
+    null,
+    "deaf"
+  ],
+  [
+    "hard-of-hearing",
+    null,
+    "deaf"
+  ],
+  [
+    "glide",
+    "fab",
+    null
+  ],
+  [
+    "glide-g",
+    "fab",
+    null
+  ],
+  [
+    "signing",
+    null,
+    "sign-language"
+  ],
+  [
+    "viadeo",
+    "fab",
+    null
+  ],
+  [
+    "viadeo-square",
+    "fab",
+    null
+  ],
+  [
+    "snapchat",
+    "fab",
+    null
+  ],
+  [
+    "snapchat-ghost",
+    "fab",
+    null
+  ],
+  [
+    "snapchat-square",
+    "fab",
+    null
+  ],
+  [
+    "pied-piper",
+    "fab",
+    null
+  ],
+  [
+    "first-order",
+    "fab",
+    null
+  ],
+  [
+    "yoast",
+    "fab",
+    null
+  ],
+  [
+    "themeisle",
+    "fab",
+    null
+  ],
+  [
+    "google-plus-official",
+    "fab",
+    "google-plus"
+  ],
+  [
+    "google-plus-circle",
+    "fab",
+    "google-plus"
+  ],
+  [
+    "font-awesome",
+    "fab",
+    null
+  ],
+  [
+    "fa",
+    "fab",
+    "font-awesome"
+  ],
+  [
+    "handshake-o",
+    "far",
+    "handshake"
+  ],
+  [
+    "envelope-open-o",
+    "far",
+    "envelope-open"
+  ],
+  [
+    "linode",
+    "fab",
+    null
+  ],
+  [
+    "address-book-o",
+    "far",
+    "address-book"
+  ],
+  [
+    "vcard",
+    null,
+    "address-card"
+  ],
+  [
+    "address-card-o",
+    "far",
+    "address-card"
+  ],
+  [
+    "vcard-o",
+    "far",
+    "address-card"
+  ],
+  [
+    "user-circle-o",
+    "far",
+    "user-circle"
+  ],
+  [
+    "user-o",
+    "far",
+    "user"
+  ],
+  [
+    "id-badge",
+    "far",
+    null
+  ],
+  [
+    "drivers-license",
+    null,
+    "id-card"
+  ],
+  [
+    "id-card-o",
+    "far",
+    "id-card"
+  ],
+  [
+    "drivers-license-o",
+    "far",
+    "id-card"
+  ],
+  [
+    "quora",
+    "fab",
+    null
+  ],
+  [
+    "free-code-camp",
+    "fab",
+    null
+  ],
+  [
+    "telegram",
+    "fab",
+    null
+  ],
+  [
+    "thermometer-4",
+    null,
+    "thermometer-full"
+  ],
+  [
+    "thermometer",
+    null,
+    "thermometer-full"
+  ],
+  [
+    "thermometer-3",
+    null,
+    "thermometer-three-quarters"
+  ],
+  [
+    "thermometer-2",
+    null,
+    "thermometer-half"
+  ],
+  [
+    "thermometer-1",
+    null,
+    "thermometer-quarter"
+  ],
+  [
+    "thermometer-0",
+    null,
+    "thermometer-empty"
+  ],
+  [
+    "bathtub",
+    null,
+    "bath"
+  ],
+  [
+    "s15",
+    null,
+    "bath"
+  ],
+  [
+    "window-maximize",
+    "far",
+    null
+  ],
+  [
+    "window-restore",
+    "far",
+    null
+  ],
+  [
+    "times-rectangle",
+    null,
+    "window-close"
+  ],
+  [
+    "window-close-o",
+    "far",
+    "window-close"
+  ],
+  [
+    "times-rectangle-o",
+    "far",
+    "window-close"
+  ],
+  [
+    "bandcamp",
+    "fab",
+    null
+  ],
+  [
+    "grav",
+    "fab",
+    null
+  ],
+  [
+    "etsy",
+    "fab",
+    null
+  ],
+  [
+    "imdb",
+    "fab",
+    null
+  ],
+  [
+    "ravelry",
+    "fab",
+    null
+  ],
+  [
+    "eercast",
+    "fab",
+    "sellcast"
+  ],
+  [
+    "snowflake-o",
+    "far",
+    "snowflake"
+  ],
+  [
+    "superpowers",
+    "fab",
+    null
+  ],
+  [
+    "wpexplorer",
+    "fab",
+    null
+  ],
+  [
+    "spotify",
+    "fab",
+    null
+  ]
+]

+ 294 - 0
resources/fontawesome/metadata/shims.yml

@@ -0,0 +1,294 @@
+area-chart:
+  name: chart-area
+arrow-circle-o-down:
+  name: arrow-alt-circle-down
+  prefix: far
+arrow-circle-o-left:
+  name: arrow-alt-circle-left
+  prefix: far
+arrow-circle-o-right:
+  name: arrow-alt-circle-right
+  prefix: far
+arrow-circle-o-up:
+  name: arrow-alt-circle-up
+  prefix: far
+arrows:
+  name: arrows-alt
+arrows-alt:
+  name: expand-arrows-alt
+arrows-h:
+  name: arrows-alt-h
+arrows-v:
+  name: arrows-alt-v
+bar-chart:
+  name: chart-bar
+  prefix: far
+bitbucket-square:
+  name: bitbucket
+  prefix: fab
+calendar:
+  name: calendar-alt
+calendar-o:
+  name: calendar
+  prefix: far
+caret-square-o-down:
+  name: caret-square-down
+  prefix: far
+caret-square-o-left:
+  name: caret-square-left
+  prefix: far
+caret-square-o-right:
+  name: caret-square-right
+  prefix: far
+caret-square-o-up:
+  name: caret-square-up
+  prefix: far
+cc:
+  name: closed-captioning
+  prefix: far
+chain-broken:
+  name: unlink
+circle-o-notch:
+  name: circle-notch
+circle-thin:
+  name: circle
+  prefix: far
+clipboard:
+  prefix: far
+clone:
+  prefix: far
+cloud-download:
+  name: cloud-download-alt
+cloud-upload:
+  name: cloud-upload-alt
+code-fork:
+  name: code-branch
+comment-alt:
+  name: comment-dots
+  prefix: far
+commenting:
+  name: comment-dots
+compass:
+  prefix: far
+copyright:
+  prefix: far
+creative-commons:
+  prefix: fab
+credit-card:
+  prefix: far
+credit-card-alt:
+  name: credit-card
+cutlery:
+  name: utensils
+diamond:
+  name: gem
+  prefix: far
+eercast:
+  name: sellcast
+  prefix: fab
+eur:
+  name: euro-sign
+exchange:
+  name: exchange-alt
+external-link:
+  name: external-link-alt
+external-link-square:
+  name: external-link-square-alt
+eye:
+  prefix: far
+eye-dropper:
+  name: eye-dropper
+  prefix: far
+eye-slash:
+  prefix: far
+eyedropper:
+  name: eye-dropper
+facebook:
+  name: facebook-f
+  prefix: fab
+facebook-official:
+  name: facebook
+  prefix: fab
+file-text:
+  name: file-alt
+files-o:
+  name: copy
+  prefix: far
+floppy-o:
+  name: save
+  prefix: far
+gbp:
+  name: pound-sign
+glass:
+  name: glass-martini
+google-plus:
+  name: google-plus-g
+  prefix: fab
+google-plus-circle:
+  name: google-plus
+  prefix: fab
+google-plus-official:
+  name: google-plus
+  prefix: fab
+hand-o-down:
+  name: hand-point-down
+  prefix: far
+hand-o-left:
+  name: hand-point-left
+  prefix: far
+hand-o-right:
+  name: hand-point-right
+  prefix: far
+hand-o-up:
+  name: hand-point-up
+  prefix: far
+header:
+  name: heading
+id-badge:
+  prefix: far
+ils:
+  name: shekel-sign
+inr:
+  name: rupee-sign
+intersex:
+  name: transgender
+jpy:
+  name: yen-sign
+krw:
+  name: won-sign
+level-down:
+  name: level-down-alt
+level-up:
+  name: level-up-alt
+life-ring:
+  prefix: far
+line-chart:
+  name: chart-line
+linkedin:
+  name: linkedin-in
+  prefix: fab
+linkedin-square:
+  name: linkedin
+  prefix: fab
+list-alt:
+  prefix: far
+long-arrow-down:
+  name: long-arrow-alt-down
+long-arrow-left:
+  name: long-arrow-alt-left
+long-arrow-right:
+  name: long-arrow-alt-right
+long-arrow-up:
+  name: long-arrow-alt-up
+map-marker:
+  name: map-marker-alt
+meanpath:
+  name: font-awesome
+  prefix: fab
+mobile:
+  name: mobile-alt
+money:
+  name: money-bill-alt
+  prefix: far
+object-group:
+  prefix: far
+object-ungroup:
+  prefix: far
+paste:
+  prefix: far
+pencil:
+  name: pencil-alt
+pencil-square:
+  name: pen-square
+pencil-square-o:
+  name: edit
+  prefix: far
+picture:
+  name: image
+pie-chart:
+  name: chart-pie
+refresh:
+  name: sync
+registered:
+  prefix: far
+repeat:
+  name: redo
+rub:
+  name: ruble-sign
+scissors:
+  name: cut
+shield:
+  name: shield-alt
+sign-in:
+  name: sign-in-alt
+sign-out:
+  name: sign-out-alt
+sliders:
+  name: sliders-h
+sort-alpha-asc:
+  name: sort-alpha-down
+sort-alpha-desc:
+  name: sort-alpha-down-alt
+sort-amount-asc:
+  name: sort-amount-down
+sort-amount-desc:
+  name: sort-amount-down-alt
+sort-asc:
+  name: sort-up
+sort-desc:
+  name: sort-down
+sort-numeric-asc:
+  name: sort-numeric-down
+sort-numeric-desc:
+  name: sort-numeric-down-alt
+spoon:
+  name: utensil-spoon
+star-half-empty:
+  name: star-half
+star-half-full:
+  name: star-half
+support:
+  name: life-ring
+  prefix: far
+tablet:
+  name: tablet-alt
+tachometer:
+  name: tachometer-alt
+television:
+  name: tv
+thumb-tack:
+  name: thumbtack
+thumbs-o-down:
+  name: thumbs-down
+  prefix: far
+thumbs-o-up:
+  name: thumbs-up
+  prefix: far
+ticket:
+  name: ticket-alt
+trash:
+  name: trash-alt
+trash-o:
+  name: trash-alt
+  prefix: far
+try:
+  name: lira-sign
+usd:
+  name: dollar-sign
+video-camera:
+  name: video
+vimeo:
+  name: vimeo-v
+  prefix: fab
+volume-control-phone:
+  name: phone-volume
+wheelchair-alt:
+  name: accessible-icon
+  prefix: fab
+window-maximize:
+  prefix: far
+window-restore:
+  prefix: far
+youtube-play:
+  name: youtube
+  prefix: fab

+ 680 - 0
resources/fontawesome/metadata/sponsors.yml

@@ -0,0 +1,680 @@
+accusoft:
+  icons:
+    - accusoft
+  label: Accusoft
+  url: 'https://www.accusoft.com'
+administrator-technology:
+  icons:
+    - stream
+  label: Administrator Technology
+  url: 'https://administrator.de'
+adversal:
+  icons:
+    - adversal
+  label: Adversal
+  url: 'https://www.adversal.com'
+affiliatetheme:
+  icons:
+    - affiliatetheme
+  label: affiliatetheme
+  url: 'https://affiliatetheme.io/en'
+algolia:
+  icons:
+    - algolia
+  label: Algolia
+  url: 'http://www.algolia.com'
+amazon-web-services:
+  icons:
+    - aws
+  label: Amazon Web Services
+  url: 'https://aws.amazon.com'
+amilia:
+  icons:
+    - amilia
+  label: Amilia
+  url: 'http://www.amilia.com'
+angry-creative:
+  icons:
+    - angrycreative
+  label: Angry Creative
+  url: 'https://angrycreative.se'
+app-signal:
+  icons:
+    - stroopwafel
+  label: AppSignal
+  url: 'https://appsignal.com'
+apper-systems-ab:
+  icons:
+    - apper
+  label: Apper Systems AB
+  url: 'http://www.apper.com'
+'asymmetrik,ltd':
+  icons:
+    - asymmetrik
+  label: 'Asymmetrik, Ltd.'
+  url: 'http://asymmetrik.com'
+ausmed-education:
+  icons:
+    - user-nurse
+  label: Ausmed Education
+  url: 'https://www.ausmed.com.au'
+avianex:
+  icons:
+    - avianex
+  label: avianex
+  url: 'https://www.avianex.de'
+bi-mobject:
+  icons:
+    - bimobject
+  label: BIMobject
+  url: 'http://bimobject.com'
+bity:
+  icons:
+    - bity
+  label: Bity
+  url: 'http://bity.com'
+blackpulp-designs:
+  icons:
+    - pray
+  label: Blackpulp Designs
+  url: 'https://www.blackpulp.com'
+blissbook:
+  icons:
+    - pen-fancy
+  label: Blissbook
+  url: 'https://blissbook.com'
+büromöbel-experte-gmb-h &co-kg:
+  icons:
+    - buromobelexperte
+  label: Büromöbel-Experte GmbH & Co. KG.
+  url: 'https://www.bueromoebel-experte.de'
+c-panel:
+  icons:
+    - cpanel
+  label: cPanel
+  url: 'http://cpanel.com'
+centercode:
+  icons:
+    - centercode
+  label: Centercode
+  url: 'https://www.centercode.com'
+cibltd:
+  icons:
+    - drum-steelpan
+  label: Comprehensive Insurance Brokers Limited
+  url: 'http://www.cibltd.com'
+clear-blue-technologies:
+  icons:
+    - solar-panel
+  label: Clear Blue Technologies
+  url: 'http://www.clearbluetechnologies.com'
+cloudscale-ch:
+  icons:
+    - cloudscale
+  label: cloudscale.ch
+  url: 'https://www.cloudscale.ch'
+cloudsmith:
+  icons:
+    - cloudsmith
+  label: Cloudsmith
+  url: 'https://cloudsmith.io'
+cloudversify:
+  icons:
+    - cloudversify
+  label: cloudversify
+  url: 'https://www.cloudversify.com'
+cuttlefish:
+  icons:
+    - cuttlefish
+  label: Cuttlefish
+  url: 'http://wearecuttlefish.com'
+cymedica:
+  icons:
+    - wave-square
+  label: CyMedica
+  url: 'https://www.cymedicaortho.com'
+darren-wiebe:
+  icons:
+    - church
+  label: Darren Wiebe
+deploy-dog:
+  icons:
+    - deploydog
+  label: deploy.dog
+  url: 'http://deploy.dog'
+deskpro:
+  icons:
+    - deskpro
+  label: Deskpro
+  url: 'http://www.deskpro.com'
+discourse:
+  icons:
+    - discourse
+  label: Discourse
+  url: 'https://discourse.org'
+doc-hub:
+  icons:
+    - dochub
+  label: DocHub
+  url: 'https://dochub.com'
+draft2-digital:
+  icons:
+    - draft2digital
+  label: Draft2Digital
+  url: 'http://draft2digital.com'
+dyalog-apl:
+  icons:
+    - dyalog
+  label: Dyalog APL
+  url: 'http://www.dyalog.com'
+firstdraft:
+  icons:
+    - firstdraft
+  label: firstdraft
+  url: 'http://www.firstdraft.com'
+fleetplan:
+  icons:
+    - helicopter
+  label: FLEETPLAN
+  url: 'https://www.fleetplan.net'
+getaroom:
+  icons:
+    - archway
+    - dumbbell
+    - hotel
+    - map-marked
+    - map-marked-alt
+    - monument
+    - spa
+    - swimmer
+    - swimming-pool
+  label: getaroom
+  url: 'https://www.getaroom.com'
+git-kraken:
+  icons:
+    - gitkraken
+  label: GitKraken
+  url: 'https://www.gitkraken.com'
+gofore:
+  icons:
+    - gofore
+  label: Gofore
+  url: 'http://gofore.com'
+'gripfire,inc':
+  icons:
+    - gripfire
+  label: 'Gripfire, Inc.'
+  url: 'http://gripfire.io'
+harvard-medical-school:
+  icons:
+    - allergies
+    - ambulance
+    - band-aid
+    - briefcase-medical
+    - burn
+    - capsules
+    - diagnoses
+    - dna
+    - file-medical
+    - file-medical-alt
+    - first-aid
+    - heart
+    - heartbeat
+    - hospital
+    - hospital-alt
+    - hospital-symbol
+    - id-card-alt
+    - notes-medical
+    - pills
+    - plus
+    - prescription-bottle
+    - prescription-bottle-alt
+    - procedures
+    - smoking
+    - stethoscope
+    - syringe
+    - tablets
+    - thermometer
+    - user-md
+    - vial
+    - vials
+    - weight
+    - x-ray
+  label: Harvard Medical School
+  url: 'https://hms.harvard.edu'
+hips:
+  icons:
+    - hips
+  label: Hips
+  url: 'https://hips.com'
+hire-a-helper:
+  icons:
+    - archive
+    - box-open
+    - couch
+    - dolly
+    - people-carry
+    - route
+    - sign
+    - suitcase
+    - tape
+    - truck-loading
+    - truck-moving
+    - wine-glass
+  label: HireAHelper
+  url: 'https://www.hireahelper.com'
+hornbill:
+  icons:
+    - hornbill
+  label: Hornbill
+  url: 'https://www.hornbill.com'
+hotjar:
+  icons:
+    - hotjar
+  label: Hotjar
+  url: 'https://www.hotjar.com'
+hub-spot:
+  icons:
+    - hubspot
+  label: HubSpot
+  url: 'http://www.HubSpot.com'
+in-site-systems:
+  icons:
+    - toolbox
+  label: InSite Systems
+  url: 'https://www.insitesystems.com'
+inspira-bvba:
+  icons:
+    - chess-knight
+  label: Inspira bvba
+  url: 'https://www.inspira.be'
+joe-emison:
+  icons:
+    - blender-phone
+  label: Joe Emison
+joget:
+  icons:
+    - joget
+  label: Joget
+  url: 'http://www.joget.org'
+jon-galloway:
+  icons:
+    - crow
+  label: Jon Galloway
+kevin-barone:
+  icons:
+    - file-contract
+  label: Kevin Barone
+key-cdn:
+  icons:
+    - keycdn
+  label: KeyCDN
+  url: 'https://www.keycdn.com'
+korvue:
+  icons:
+    - korvue
+  label: Korvue
+  url: 'https://korvue.com'
+max-elman:
+  icons:
+    - frog
+  label: Max Elman
+med-apps:
+  icons:
+    - medapps
+  label: MedApps
+  url: 'http://medapps.com.au'
+medapps:
+  icons:
+    - book-medical
+    - clinic-medical
+    - comment-medical
+    - crutch
+    - laptop-medical
+    - pager
+  label: MedApps
+  url: 'https://medapps.com.au'
+megaport:
+  icons:
+    - megaport
+  label: Megaport
+  url: 'https://www.megaport.com'
+mix:
+  icons:
+    - mix
+  label: Mix
+  url: 'http://mix.com'
+mizuni:
+  icons:
+    - mizuni
+  label: Mizuni
+  url: 'http://www.mizuni.com'
+mrt:
+  icons:
+    - medrt
+  label: MRT
+  url: 'https://medrt.co.jp'
+mylogin-info:
+  icons:
+    - user-shield
+  label: mylogin.info
+  url: 'https://www.mylogin.info'
+napster:
+  icons:
+    - napster
+  label: Napster
+  url: 'http://www.napster.com'
+nimblr:
+  icons:
+    - nimblr
+  label: Nimblr
+  url: 'https://nimblr.ai'
+nompse:
+  icons:
+    - chalkboard
+    - chalkboard-teacher
+  label: Nomp.se
+  url: 'https://nomp.se'
+ns8:
+  icons:
+    - ns8
+  label: NS8
+  url: 'https://www.ns8.com'
+nutritionix:
+  icons:
+    - nutritionix
+  label: Nutritionix
+  url: 'http://www.nutritionix.com'
+page4-corporation:
+  icons:
+    - page4
+  label: page4 Corporation
+  url: 'https://en.page4.com'
+pal-fed:
+  icons:
+    - palfed
+  label: PalFed
+  url: 'https://www.palfed.com'
+pcsg:
+  icons:
+    - horse-head
+  label: PCSG
+  url: 'https://www.pcsg.de'
+phabricator:
+  icons:
+    - phabricator
+  label: Phabricator
+  url: 'http://phacility.com'
+promo-wizard:
+  icons:
+    - hat-wizard
+  label: Promo Wizard
+  url: 'https://promowizard.co.uk'
+pulse-eight:
+  icons:
+    - volume-mute
+  label: Pulse-Eight
+  url: 'https://pulse-eight.com'
+purely-interactive:
+  icons:
+    - kiwi-bird
+  label: Purely Interactive
+  url: 'https://www.purelyinteractive.ca'
+pushed:
+  icons:
+    - pushed
+  label: Pushed
+  url: 'https://pushed.co'
+quin-scape:
+  icons:
+    - quinscape
+  label: QuinScape
+  url: 'https://www.quinscape.de'
+reacteurope:
+  icons:
+    - reacteurope
+  label: ReactEurope
+  url: 'https://www.react-europe.org'
+readme-io:
+  icons:
+    - readme
+  label: Readme.io
+  url: 'http://readme.io'
+red-river:
+  icons:
+    - red-river
+  label: red river
+  url: 'https://river.red'
+replyd:
+  icons:
+    - replyd
+  label: replyd
+resolving:
+  icons:
+    - resolving
+  label: Resolving
+  url: 'https://resolving.com'
+rev-io:
+  icons:
+    - rev
+  label: Rev.io
+  url: 'https://rev.io'
+rock-rms:
+  icons:
+    - rockrms
+  label: Rock RMS
+  url: 'http://rockrms.com'
+rocket-chat:
+  icons:
+    - comment
+    - comment-alt
+    - comment-dots
+    - comment-slash
+    - comments
+    - frown
+    - meh
+    - phone
+    - phone-slash
+    - poo
+    - quote-left
+    - quote-right
+    - rocketchat
+    - smile
+    - video
+    - video-slash
+  label: Rocket.Chat
+  url: 'https://rocket.chat'
+rodney-oliver:
+  icons:
+    - folder-minus
+    - folder-plus
+  label: Rodney Oliver
+schlix:
+  icons:
+    - schlix
+  label: SCHLIX
+  url: 'http://schlix.com'
+search-eng-in:
+  icons:
+    - searchengin
+  label: SearchEng.in
+  url: 'http://searcheng.in'
+service-stack:
+  icons:
+    - servicestack
+  label: ServiceStack
+  url: 'https://servicestack.net'
+shawn-storie:
+  icons:
+    - teeth
+    - teeth-open
+  label: Shawn Storie
+shopware:
+  icons:
+    - shopware
+  label: Shopware
+  url: 'https://shopware.de'
+shp:
+  icons:
+    - school
+  label: SHP
+  url: 'http://shp.com'
+silicon-barn-inc:
+  icons:
+    - project-diagram
+  label: Silicon Barn Inc
+  url: 'https://siliconbarn.com'
+sistrix:
+  icons:
+    - sistrix
+  label: SISTRIX
+  url: 'https://www.sistrix.de'
+smup:
+  icons:
+    - shoe-prints
+  label: Smup
+  url: 'https://www.atomsoftware.com.au'
+speakap:
+  icons:
+    - speakap
+  label: Speakap
+  url: 'https://speakap.com'
+stay-linked:
+  icons:
+    - box
+    - boxes
+    - clipboard-check
+    - clipboard-list
+    - dolly
+    - dolly-flatbed
+    - pallet
+    - shipping-fast
+    - truck
+    - warehouse
+  label: StayLinked
+  url: 'https://www.staylinked.com'
+sticker-mule:
+  icons:
+    - sticker-mule
+  label: Sticker Mule
+  url: 'https://stickermule.com'
+studio-vinari:
+  icons:
+    - studiovinari
+  label: Studio Vinari
+  url: 'https://studiovinari.com'
+supple:
+  icons:
+    - ad
+    - bullhorn
+    - bullseye
+    - comment-dollar
+    - comments-dollar
+    - envelope-open-text
+    - funnel-dollar
+    - mail-bulk
+    - poll
+    - poll-h
+    - search-dollar
+    - search-location
+    - supple
+  label: Supple
+  url: 'https://supple.com.au'
+the-red-yeti:
+  icons:
+    - the-red-yeti
+  label: The Red Yeti
+  url: 'http://theredyeti.com'
+the-us-sunnah-foundation:
+  icons:
+    - dollar-sign
+    - donate
+    - dove
+    - gift
+    - globe
+    - hand-holding-heart
+    - hand-holding-usd
+    - hands-helping
+    - handshake
+    - heart
+    - leaf
+    - parachute-box
+    - piggy-bank
+    - ribbon
+    - seedling
+  label: The us-Sunnah Foundation
+  url: 'https://www.ussunnah.org'
+themeco:
+  icons:
+    - themeco
+  label: Themeco
+  url: 'https://theme.co'
+think-peaks:
+  icons:
+    - think-peaks
+  label: Think Peaks
+  url: 'https://thinkpeaks.com/'
+typo3:
+  icons:
+    - typo3
+  label: Typo3
+  url: 'https://typo3.org'
+uniregistry:
+  icons:
+    - uniregistry
+  label: Uniregistry
+  url: 'https://uniregistry.com'
+us-sunnah-foundation:
+  icons:
+    - ussunnah
+  label: us-Sunnah Foundation
+  url: 'https://www.ussunnah.org'
+vaadin:
+  icons:
+    - vaadin
+  label: Vaadin
+  url: 'http://vaadin.com'
+via:
+  icons:
+    - car-crash
+    - draw-polygon
+    - house-damage
+    - layer-group
+    - skull-crossbones
+    - user-injured
+  label: VIA Traffic Software Solutions
+  url: 'https://www.via.software'
+victor-costan:
+  icons:
+    - otter
+  label: Staphany Park and Victor Costan
+vnv:
+  icons:
+    - vnv
+  label: VNV
+  url: 'https://www.vnv.ch'
+weedable:
+  icons:
+    - bong
+    - cannabis
+    - hippo
+    - joint
+    - mortar-pestle
+    - prescription
+  label: Weedable
+  url: 'https://www.weedable.com'
+whmcs:
+  icons:
+    - whmcs
+  label: WHMCS
+  url: 'https://www.whmcs.com'
+workrails:
+  icons:
+    - briefcase
+  label: WorkRails
+  url: 'https://www.workrails.com'
+wpressr:
+  icons:
+    - wpressr
+  label: wpressr
+  url: 'https://wpressr.com'

+ 20 - 0
resources/fontawesome/scss/_animated.scss

@@ -0,0 +1,20 @@
+// Animated Icons
+// --------------------------
+
+.#{$fa-css-prefix}-spin {
+  animation: fa-spin 2s infinite linear;
+}
+
+.#{$fa-css-prefix}-pulse {
+  animation: fa-spin 1s infinite steps(8);
+}
+
+@keyframes fa-spin {
+  0% {
+    transform: rotate(0deg);
+  }
+
+  100% {
+    transform: rotate(360deg);
+  }
+}

+ 20 - 0
resources/fontawesome/scss/_bordered-pulled.scss

@@ -0,0 +1,20 @@
+// Bordered & Pulled
+// -------------------------
+
+.#{$fa-css-prefix}-border {
+  border: solid .08em $fa-border-color;
+  border-radius: .1em;
+  padding: .2em .25em .15em;
+}
+
+.#{$fa-css-prefix}-pull-left { float: left; }
+.#{$fa-css-prefix}-pull-right { float: right; }
+
+.#{$fa-css-prefix},
+.fas,
+.far,
+.fal,
+.fab {
+  &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
+  &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
+}

+ 21 - 0
resources/fontawesome/scss/_core.scss

@@ -0,0 +1,21 @@
+// Base Class Definition
+// -------------------------
+
+.#{$fa-css-prefix},
+.fas,
+.far,
+.fal,
+.fad,
+.fab {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  text-rendering: auto;
+  line-height: 1;
+}
+
+%fa-icon {
+  @include fa-icon;
+}

+ 6 - 0
resources/fontawesome/scss/_fixed-width.scss

@@ -0,0 +1,6 @@
+// Fixed Width Icons
+// -------------------------
+.#{$fa-css-prefix}-fw {
+  text-align: center;
+  width: $fa-fw-width;
+}

+ 1388 - 0
resources/fontawesome/scss/_icons.scss

@@ -0,0 +1,1388 @@
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+readers do not read off random characters that represent icons */
+
+.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); }
+.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); }
+.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); }
+.#{$fa-css-prefix}-acquisitions-incorporated:before { content: fa-content($fa-var-acquisitions-incorporated); }
+.#{$fa-css-prefix}-ad:before { content: fa-content($fa-var-ad); }
+.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); }
+.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); }
+.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); }
+.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); }
+.#{$fa-css-prefix}-adobe:before { content: fa-content($fa-var-adobe); }
+.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); }
+.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); }
+.#{$fa-css-prefix}-air-freshener:before { content: fa-content($fa-var-air-freshener); }
+.#{$fa-css-prefix}-airbnb:before { content: fa-content($fa-var-airbnb); }
+.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); }
+.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); }
+.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); }
+.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); }
+.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); }
+.#{$fa-css-prefix}-alipay:before { content: fa-content($fa-var-alipay); }
+.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); }
+.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); }
+.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); }
+.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); }
+.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); }
+.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); }
+.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); }
+.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); }
+.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); }
+.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); }
+.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); }
+.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); }
+.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); }
+.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); }
+.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); }
+.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); }
+.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); }
+.#{$fa-css-prefix}-angry:before { content: fa-content($fa-var-angry); }
+.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); }
+.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); }
+.#{$fa-css-prefix}-ankh:before { content: fa-content($fa-var-ankh); }
+.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); }
+.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); }
+.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); }
+.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); }
+.#{$fa-css-prefix}-apple-alt:before { content: fa-content($fa-var-apple-alt); }
+.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); }
+.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); }
+.#{$fa-css-prefix}-archway:before { content: fa-content($fa-var-archway); }
+.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); }
+.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); }
+.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); }
+.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); }
+.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); }
+.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); }
+.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); }
+.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); }
+.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); }
+.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); }
+.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); }
+.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); }
+.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); }
+.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); }
+.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); }
+.#{$fa-css-prefix}-artstation:before { content: fa-content($fa-var-artstation); }
+.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); }
+.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); }
+.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); }
+.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); }
+.#{$fa-css-prefix}-atlas:before { content: fa-content($fa-var-atlas); }
+.#{$fa-css-prefix}-atlassian:before { content: fa-content($fa-var-atlassian); }
+.#{$fa-css-prefix}-atom:before { content: fa-content($fa-var-atom); }
+.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); }
+.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); }
+.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); }
+.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); }
+.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); }
+.#{$fa-css-prefix}-award:before { content: fa-content($fa-var-award); }
+.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); }
+.#{$fa-css-prefix}-baby:before { content: fa-content($fa-var-baby); }
+.#{$fa-css-prefix}-baby-carriage:before { content: fa-content($fa-var-baby-carriage); }
+.#{$fa-css-prefix}-backspace:before { content: fa-content($fa-var-backspace); }
+.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); }
+.#{$fa-css-prefix}-bacon:before { content: fa-content($fa-var-bacon); }
+.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); }
+.#{$fa-css-prefix}-balance-scale-left:before { content: fa-content($fa-var-balance-scale-left); }
+.#{$fa-css-prefix}-balance-scale-right:before { content: fa-content($fa-var-balance-scale-right); }
+.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); }
+.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); }
+.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); }
+.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); }
+.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); }
+.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); }
+.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); }
+.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); }
+.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); }
+.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); }
+.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); }
+.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); }
+.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); }
+.#{$fa-css-prefix}-battle-net:before { content: fa-content($fa-var-battle-net); }
+.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); }
+.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); }
+.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); }
+.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); }
+.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); }
+.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); }
+.#{$fa-css-prefix}-bezier-curve:before { content: fa-content($fa-var-bezier-curve); }
+.#{$fa-css-prefix}-bible:before { content: fa-content($fa-var-bible); }
+.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); }
+.#{$fa-css-prefix}-biking:before { content: fa-content($fa-var-biking); }
+.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); }
+.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); }
+.#{$fa-css-prefix}-biohazard:before { content: fa-content($fa-var-biohazard); }
+.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); }
+.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); }
+.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); }
+.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); }
+.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); }
+.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); }
+.#{$fa-css-prefix}-blender:before { content: fa-content($fa-var-blender); }
+.#{$fa-css-prefix}-blender-phone:before { content: fa-content($fa-var-blender-phone); }
+.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); }
+.#{$fa-css-prefix}-blog:before { content: fa-content($fa-var-blog); }
+.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); }
+.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); }
+.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); }
+.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); }
+.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); }
+.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); }
+.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); }
+.#{$fa-css-prefix}-bone:before { content: fa-content($fa-var-bone); }
+.#{$fa-css-prefix}-bong:before { content: fa-content($fa-var-bong); }
+.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); }
+.#{$fa-css-prefix}-book-dead:before { content: fa-content($fa-var-book-dead); }
+.#{$fa-css-prefix}-book-medical:before { content: fa-content($fa-var-book-medical); }
+.#{$fa-css-prefix}-book-open:before { content: fa-content($fa-var-book-open); }
+.#{$fa-css-prefix}-book-reader:before { content: fa-content($fa-var-book-reader); }
+.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); }
+.#{$fa-css-prefix}-bootstrap:before { content: fa-content($fa-var-bootstrap); }
+.#{$fa-css-prefix}-border-all:before { content: fa-content($fa-var-border-all); }
+.#{$fa-css-prefix}-border-none:before { content: fa-content($fa-var-border-none); }
+.#{$fa-css-prefix}-border-style:before { content: fa-content($fa-var-border-style); }
+.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); }
+.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); }
+.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); }
+.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); }
+.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); }
+.#{$fa-css-prefix}-brain:before { content: fa-content($fa-var-brain); }
+.#{$fa-css-prefix}-bread-slice:before { content: fa-content($fa-var-bread-slice); }
+.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); }
+.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); }
+.#{$fa-css-prefix}-broadcast-tower:before { content: fa-content($fa-var-broadcast-tower); }
+.#{$fa-css-prefix}-broom:before { content: fa-content($fa-var-broom); }
+.#{$fa-css-prefix}-brush:before { content: fa-content($fa-var-brush); }
+.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); }
+.#{$fa-css-prefix}-buffer:before { content: fa-content($fa-var-buffer); }
+.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); }
+.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); }
+.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); }
+.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); }
+.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); }
+.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); }
+.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); }
+.#{$fa-css-prefix}-bus-alt:before { content: fa-content($fa-var-bus-alt); }
+.#{$fa-css-prefix}-business-time:before { content: fa-content($fa-var-business-time); }
+.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); }
+.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); }
+.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); }
+.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); }
+.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); }
+.#{$fa-css-prefix}-calendar-day:before { content: fa-content($fa-var-calendar-day); }
+.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); }
+.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); }
+.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); }
+.#{$fa-css-prefix}-calendar-week:before { content: fa-content($fa-var-calendar-week); }
+.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); }
+.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); }
+.#{$fa-css-prefix}-campground:before { content: fa-content($fa-var-campground); }
+.#{$fa-css-prefix}-canadian-maple-leaf:before { content: fa-content($fa-var-canadian-maple-leaf); }
+.#{$fa-css-prefix}-candy-cane:before { content: fa-content($fa-var-candy-cane); }
+.#{$fa-css-prefix}-cannabis:before { content: fa-content($fa-var-cannabis); }
+.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); }
+.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); }
+.#{$fa-css-prefix}-car-alt:before { content: fa-content($fa-var-car-alt); }
+.#{$fa-css-prefix}-car-battery:before { content: fa-content($fa-var-car-battery); }
+.#{$fa-css-prefix}-car-crash:before { content: fa-content($fa-var-car-crash); }
+.#{$fa-css-prefix}-car-side:before { content: fa-content($fa-var-car-side); }
+.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); }
+.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); }
+.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); }
+.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); }
+.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); }
+.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); }
+.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); }
+.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); }
+.#{$fa-css-prefix}-carrot:before { content: fa-content($fa-var-carrot); }
+.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); }
+.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); }
+.#{$fa-css-prefix}-cash-register:before { content: fa-content($fa-var-cash-register); }
+.#{$fa-css-prefix}-cat:before { content: fa-content($fa-var-cat); }
+.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); }
+.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); }
+.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); }
+.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); }
+.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); }
+.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); }
+.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); }
+.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); }
+.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); }
+.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); }
+.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); }
+.#{$fa-css-prefix}-centos:before { content: fa-content($fa-var-centos); }
+.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); }
+.#{$fa-css-prefix}-chair:before { content: fa-content($fa-var-chair); }
+.#{$fa-css-prefix}-chalkboard:before { content: fa-content($fa-var-chalkboard); }
+.#{$fa-css-prefix}-chalkboard-teacher:before { content: fa-content($fa-var-chalkboard-teacher); }
+.#{$fa-css-prefix}-charging-station:before { content: fa-content($fa-var-charging-station); }
+.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); }
+.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); }
+.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); }
+.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); }
+.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); }
+.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); }
+.#{$fa-css-prefix}-check-double:before { content: fa-content($fa-var-check-double); }
+.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); }
+.#{$fa-css-prefix}-cheese:before { content: fa-content($fa-var-cheese); }
+.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); }
+.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); }
+.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); }
+.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); }
+.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); }
+.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); }
+.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); }
+.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); }
+.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); }
+.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); }
+.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); }
+.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); }
+.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); }
+.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); }
+.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); }
+.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); }
+.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); }
+.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); }
+.#{$fa-css-prefix}-chromecast:before { content: fa-content($fa-var-chromecast); }
+.#{$fa-css-prefix}-church:before { content: fa-content($fa-var-church); }
+.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); }
+.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); }
+.#{$fa-css-prefix}-city:before { content: fa-content($fa-var-city); }
+.#{$fa-css-prefix}-clinic-medical:before { content: fa-content($fa-var-clinic-medical); }
+.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); }
+.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); }
+.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); }
+.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); }
+.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); }
+.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); }
+.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); }
+.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); }
+.#{$fa-css-prefix}-cloud-meatball:before { content: fa-content($fa-var-cloud-meatball); }
+.#{$fa-css-prefix}-cloud-moon:before { content: fa-content($fa-var-cloud-moon); }
+.#{$fa-css-prefix}-cloud-moon-rain:before { content: fa-content($fa-var-cloud-moon-rain); }
+.#{$fa-css-prefix}-cloud-rain:before { content: fa-content($fa-var-cloud-rain); }
+.#{$fa-css-prefix}-cloud-showers-heavy:before { content: fa-content($fa-var-cloud-showers-heavy); }
+.#{$fa-css-prefix}-cloud-sun:before { content: fa-content($fa-var-cloud-sun); }
+.#{$fa-css-prefix}-cloud-sun-rain:before { content: fa-content($fa-var-cloud-sun-rain); }
+.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); }
+.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); }
+.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); }
+.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); }
+.#{$fa-css-prefix}-cocktail:before { content: fa-content($fa-var-cocktail); }
+.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); }
+.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); }
+.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); }
+.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); }
+.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); }
+.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); }
+.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); }
+.#{$fa-css-prefix}-coins:before { content: fa-content($fa-var-coins); }
+.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); }
+.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); }
+.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); }
+.#{$fa-css-prefix}-comment-dollar:before { content: fa-content($fa-var-comment-dollar); }
+.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); }
+.#{$fa-css-prefix}-comment-medical:before { content: fa-content($fa-var-comment-medical); }
+.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); }
+.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); }
+.#{$fa-css-prefix}-comments-dollar:before { content: fa-content($fa-var-comments-dollar); }
+.#{$fa-css-prefix}-compact-disc:before { content: fa-content($fa-var-compact-disc); }
+.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); }
+.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); }
+.#{$fa-css-prefix}-compress-arrows-alt:before { content: fa-content($fa-var-compress-arrows-alt); }
+.#{$fa-css-prefix}-concierge-bell:before { content: fa-content($fa-var-concierge-bell); }
+.#{$fa-css-prefix}-confluence:before { content: fa-content($fa-var-confluence); }
+.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); }
+.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); }
+.#{$fa-css-prefix}-cookie:before { content: fa-content($fa-var-cookie); }
+.#{$fa-css-prefix}-cookie-bite:before { content: fa-content($fa-var-cookie-bite); }
+.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); }
+.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); }
+.#{$fa-css-prefix}-cotton-bureau:before { content: fa-content($fa-var-cotton-bureau); }
+.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); }
+.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); }
+.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); }
+.#{$fa-css-prefix}-creative-commons-by:before { content: fa-content($fa-var-creative-commons-by); }
+.#{$fa-css-prefix}-creative-commons-nc:before { content: fa-content($fa-var-creative-commons-nc); }
+.#{$fa-css-prefix}-creative-commons-nc-eu:before { content: fa-content($fa-var-creative-commons-nc-eu); }
+.#{$fa-css-prefix}-creative-commons-nc-jp:before { content: fa-content($fa-var-creative-commons-nc-jp); }
+.#{$fa-css-prefix}-creative-commons-nd:before { content: fa-content($fa-var-creative-commons-nd); }
+.#{$fa-css-prefix}-creative-commons-pd:before { content: fa-content($fa-var-creative-commons-pd); }
+.#{$fa-css-prefix}-creative-commons-pd-alt:before { content: fa-content($fa-var-creative-commons-pd-alt); }
+.#{$fa-css-prefix}-creative-commons-remix:before { content: fa-content($fa-var-creative-commons-remix); }
+.#{$fa-css-prefix}-creative-commons-sa:before { content: fa-content($fa-var-creative-commons-sa); }
+.#{$fa-css-prefix}-creative-commons-sampling:before { content: fa-content($fa-var-creative-commons-sampling); }
+.#{$fa-css-prefix}-creative-commons-sampling-plus:before { content: fa-content($fa-var-creative-commons-sampling-plus); }
+.#{$fa-css-prefix}-creative-commons-share:before { content: fa-content($fa-var-creative-commons-share); }
+.#{$fa-css-prefix}-creative-commons-zero:before { content: fa-content($fa-var-creative-commons-zero); }
+.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); }
+.#{$fa-css-prefix}-critical-role:before { content: fa-content($fa-var-critical-role); }
+.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); }
+.#{$fa-css-prefix}-crop-alt:before { content: fa-content($fa-var-crop-alt); }
+.#{$fa-css-prefix}-cross:before { content: fa-content($fa-var-cross); }
+.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); }
+.#{$fa-css-prefix}-crow:before { content: fa-content($fa-var-crow); }
+.#{$fa-css-prefix}-crown:before { content: fa-content($fa-var-crown); }
+.#{$fa-css-prefix}-crutch:before { content: fa-content($fa-var-crutch); }
+.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); }
+.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); }
+.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); }
+.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); }
+.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); }
+.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); }
+.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); }
+.#{$fa-css-prefix}-d-and-d-beyond:before { content: fa-content($fa-var-d-and-d-beyond); }
+.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); }
+.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); }
+.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); }
+.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); }
+.#{$fa-css-prefix}-democrat:before { content: fa-content($fa-var-democrat); }
+.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); }
+.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); }
+.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); }
+.#{$fa-css-prefix}-dev:before { content: fa-content($fa-var-dev); }
+.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); }
+.#{$fa-css-prefix}-dharmachakra:before { content: fa-content($fa-var-dharmachakra); }
+.#{$fa-css-prefix}-dhl:before { content: fa-content($fa-var-dhl); }
+.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); }
+.#{$fa-css-prefix}-diaspora:before { content: fa-content($fa-var-diaspora); }
+.#{$fa-css-prefix}-dice:before { content: fa-content($fa-var-dice); }
+.#{$fa-css-prefix}-dice-d20:before { content: fa-content($fa-var-dice-d20); }
+.#{$fa-css-prefix}-dice-d6:before { content: fa-content($fa-var-dice-d6); }
+.#{$fa-css-prefix}-dice-five:before { content: fa-content($fa-var-dice-five); }
+.#{$fa-css-prefix}-dice-four:before { content: fa-content($fa-var-dice-four); }
+.#{$fa-css-prefix}-dice-one:before { content: fa-content($fa-var-dice-one); }
+.#{$fa-css-prefix}-dice-six:before { content: fa-content($fa-var-dice-six); }
+.#{$fa-css-prefix}-dice-three:before { content: fa-content($fa-var-dice-three); }
+.#{$fa-css-prefix}-dice-two:before { content: fa-content($fa-var-dice-two); }
+.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); }
+.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); }
+.#{$fa-css-prefix}-digital-tachograph:before { content: fa-content($fa-var-digital-tachograph); }
+.#{$fa-css-prefix}-directions:before { content: fa-content($fa-var-directions); }
+.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); }
+.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); }
+.#{$fa-css-prefix}-divide:before { content: fa-content($fa-var-divide); }
+.#{$fa-css-prefix}-dizzy:before { content: fa-content($fa-var-dizzy); }
+.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); }
+.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); }
+.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); }
+.#{$fa-css-prefix}-dog:before { content: fa-content($fa-var-dog); }
+.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); }
+.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); }
+.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); }
+.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); }
+.#{$fa-css-prefix}-door-closed:before { content: fa-content($fa-var-door-closed); }
+.#{$fa-css-prefix}-door-open:before { content: fa-content($fa-var-door-open); }
+.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); }
+.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); }
+.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); }
+.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); }
+.#{$fa-css-prefix}-drafting-compass:before { content: fa-content($fa-var-drafting-compass); }
+.#{$fa-css-prefix}-dragon:before { content: fa-content($fa-var-dragon); }
+.#{$fa-css-prefix}-draw-polygon:before { content: fa-content($fa-var-draw-polygon); }
+.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); }
+.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); }
+.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); }
+.#{$fa-css-prefix}-drum:before { content: fa-content($fa-var-drum); }
+.#{$fa-css-prefix}-drum-steelpan:before { content: fa-content($fa-var-drum-steelpan); }
+.#{$fa-css-prefix}-drumstick-bite:before { content: fa-content($fa-var-drumstick-bite); }
+.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); }
+.#{$fa-css-prefix}-dumbbell:before { content: fa-content($fa-var-dumbbell); }
+.#{$fa-css-prefix}-dumpster:before { content: fa-content($fa-var-dumpster); }
+.#{$fa-css-prefix}-dumpster-fire:before { content: fa-content($fa-var-dumpster-fire); }
+.#{$fa-css-prefix}-dungeon:before { content: fa-content($fa-var-dungeon); }
+.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); }
+.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); }
+.#{$fa-css-prefix}-ebay:before { content: fa-content($fa-var-ebay); }
+.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); }
+.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); }
+.#{$fa-css-prefix}-egg:before { content: fa-content($fa-var-egg); }
+.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); }
+.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); }
+.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); }
+.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); }
+.#{$fa-css-prefix}-ello:before { content: fa-content($fa-var-ello); }
+.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); }
+.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); }
+.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); }
+.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); }
+.#{$fa-css-prefix}-envelope-open-text:before { content: fa-content($fa-var-envelope-open-text); }
+.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); }
+.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); }
+.#{$fa-css-prefix}-equals:before { content: fa-content($fa-var-equals); }
+.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); }
+.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); }
+.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); }
+.#{$fa-css-prefix}-ethernet:before { content: fa-content($fa-var-ethernet); }
+.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); }
+.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); }
+.#{$fa-css-prefix}-evernote:before { content: fa-content($fa-var-evernote); }
+.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); }
+.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); }
+.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); }
+.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); }
+.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); }
+.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); }
+.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); }
+.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); }
+.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); }
+.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); }
+.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); }
+.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); }
+.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); }
+.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); }
+.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); }
+.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); }
+.#{$fa-css-prefix}-fan:before { content: fa-content($fa-var-fan); }
+.#{$fa-css-prefix}-fantasy-flight-games:before { content: fa-content($fa-var-fantasy-flight-games); }
+.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); }
+.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); }
+.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); }
+.#{$fa-css-prefix}-feather:before { content: fa-content($fa-var-feather); }
+.#{$fa-css-prefix}-feather-alt:before { content: fa-content($fa-var-feather-alt); }
+.#{$fa-css-prefix}-fedex:before { content: fa-content($fa-var-fedex); }
+.#{$fa-css-prefix}-fedora:before { content: fa-content($fa-var-fedora); }
+.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); }
+.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); }
+.#{$fa-css-prefix}-figma:before { content: fa-content($fa-var-figma); }
+.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); }
+.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); }
+.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); }
+.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); }
+.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); }
+.#{$fa-css-prefix}-file-contract:before { content: fa-content($fa-var-file-contract); }
+.#{$fa-css-prefix}-file-csv:before { content: fa-content($fa-var-file-csv); }
+.#{$fa-css-prefix}-file-download:before { content: fa-content($fa-var-file-download); }
+.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); }
+.#{$fa-css-prefix}-file-export:before { content: fa-content($fa-var-file-export); }
+.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); }
+.#{$fa-css-prefix}-file-import:before { content: fa-content($fa-var-file-import); }
+.#{$fa-css-prefix}-file-invoice:before { content: fa-content($fa-var-file-invoice); }
+.#{$fa-css-prefix}-file-invoice-dollar:before { content: fa-content($fa-var-file-invoice-dollar); }
+.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); }
+.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); }
+.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); }
+.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); }
+.#{$fa-css-prefix}-file-prescription:before { content: fa-content($fa-var-file-prescription); }
+.#{$fa-css-prefix}-file-signature:before { content: fa-content($fa-var-file-signature); }
+.#{$fa-css-prefix}-file-upload:before { content: fa-content($fa-var-file-upload); }
+.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); }
+.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); }
+.#{$fa-css-prefix}-fill:before { content: fa-content($fa-var-fill); }
+.#{$fa-css-prefix}-fill-drip:before { content: fa-content($fa-var-fill-drip); }
+.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); }
+.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); }
+.#{$fa-css-prefix}-fingerprint:before { content: fa-content($fa-var-fingerprint); }
+.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); }
+.#{$fa-css-prefix}-fire-alt:before { content: fa-content($fa-var-fire-alt); }
+.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); }
+.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); }
+.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); }
+.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); }
+.#{$fa-css-prefix}-first-order-alt:before { content: fa-content($fa-var-first-order-alt); }
+.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); }
+.#{$fa-css-prefix}-fish:before { content: fa-content($fa-var-fish); }
+.#{$fa-css-prefix}-fist-raised:before { content: fa-content($fa-var-fist-raised); }
+.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); }
+.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); }
+.#{$fa-css-prefix}-flag-usa:before { content: fa-content($fa-var-flag-usa); }
+.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); }
+.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); }
+.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); }
+.#{$fa-css-prefix}-flushed:before { content: fa-content($fa-var-flushed); }
+.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); }
+.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); }
+.#{$fa-css-prefix}-folder-minus:before { content: fa-content($fa-var-folder-minus); }
+.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); }
+.#{$fa-css-prefix}-folder-plus:before { content: fa-content($fa-var-folder-plus); }
+.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); }
+.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); }
+.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); }
+.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); }
+.#{$fa-css-prefix}-font-awesome-logo-full:before { content: fa-content($fa-var-font-awesome-logo-full); }
+.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); }
+.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); }
+.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); }
+.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); }
+.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); }
+.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); }
+.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); }
+.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); }
+.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); }
+.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); }
+.#{$fa-css-prefix}-frog:before { content: fa-content($fa-var-frog); }
+.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); }
+.#{$fa-css-prefix}-frown-open:before { content: fa-content($fa-var-frown-open); }
+.#{$fa-css-prefix}-fulcrum:before { content: fa-content($fa-var-fulcrum); }
+.#{$fa-css-prefix}-funnel-dollar:before { content: fa-content($fa-var-funnel-dollar); }
+.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); }
+.#{$fa-css-prefix}-galactic-republic:before { content: fa-content($fa-var-galactic-republic); }
+.#{$fa-css-prefix}-galactic-senate:before { content: fa-content($fa-var-galactic-senate); }
+.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); }
+.#{$fa-css-prefix}-gas-pump:before { content: fa-content($fa-var-gas-pump); }
+.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); }
+.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); }
+.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); }
+.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); }
+.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); }
+.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); }
+.#{$fa-css-prefix}-ghost:before { content: fa-content($fa-var-ghost); }
+.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); }
+.#{$fa-css-prefix}-gifts:before { content: fa-content($fa-var-gifts); }
+.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); }
+.#{$fa-css-prefix}-git-alt:before { content: fa-content($fa-var-git-alt); }
+.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); }
+.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); }
+.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); }
+.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); }
+.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); }
+.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); }
+.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); }
+.#{$fa-css-prefix}-glass-cheers:before { content: fa-content($fa-var-glass-cheers); }
+.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); }
+.#{$fa-css-prefix}-glass-martini-alt:before { content: fa-content($fa-var-glass-martini-alt); }
+.#{$fa-css-prefix}-glass-whiskey:before { content: fa-content($fa-var-glass-whiskey); }
+.#{$fa-css-prefix}-glasses:before { content: fa-content($fa-var-glasses); }
+.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); }
+.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); }
+.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); }
+.#{$fa-css-prefix}-globe-africa:before { content: fa-content($fa-var-globe-africa); }
+.#{$fa-css-prefix}-globe-americas:before { content: fa-content($fa-var-globe-americas); }
+.#{$fa-css-prefix}-globe-asia:before { content: fa-content($fa-var-globe-asia); }
+.#{$fa-css-prefix}-globe-europe:before { content: fa-content($fa-var-globe-europe); }
+.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); }
+.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); }
+.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); }
+.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); }
+.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); }
+.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); }
+.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); }
+.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); }
+.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); }
+.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); }
+.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); }
+.#{$fa-css-prefix}-gopuram:before { content: fa-content($fa-var-gopuram); }
+.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); }
+.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); }
+.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); }
+.#{$fa-css-prefix}-greater-than:before { content: fa-content($fa-var-greater-than); }
+.#{$fa-css-prefix}-greater-than-equal:before { content: fa-content($fa-var-greater-than-equal); }
+.#{$fa-css-prefix}-grimace:before { content: fa-content($fa-var-grimace); }
+.#{$fa-css-prefix}-grin:before { content: fa-content($fa-var-grin); }
+.#{$fa-css-prefix}-grin-alt:before { content: fa-content($fa-var-grin-alt); }
+.#{$fa-css-prefix}-grin-beam:before { content: fa-content($fa-var-grin-beam); }
+.#{$fa-css-prefix}-grin-beam-sweat:before { content: fa-content($fa-var-grin-beam-sweat); }
+.#{$fa-css-prefix}-grin-hearts:before { content: fa-content($fa-var-grin-hearts); }
+.#{$fa-css-prefix}-grin-squint:before { content: fa-content($fa-var-grin-squint); }
+.#{$fa-css-prefix}-grin-squint-tears:before { content: fa-content($fa-var-grin-squint-tears); }
+.#{$fa-css-prefix}-grin-stars:before { content: fa-content($fa-var-grin-stars); }
+.#{$fa-css-prefix}-grin-tears:before { content: fa-content($fa-var-grin-tears); }
+.#{$fa-css-prefix}-grin-tongue:before { content: fa-content($fa-var-grin-tongue); }
+.#{$fa-css-prefix}-grin-tongue-squint:before { content: fa-content($fa-var-grin-tongue-squint); }
+.#{$fa-css-prefix}-grin-tongue-wink:before { content: fa-content($fa-var-grin-tongue-wink); }
+.#{$fa-css-prefix}-grin-wink:before { content: fa-content($fa-var-grin-wink); }
+.#{$fa-css-prefix}-grip-horizontal:before { content: fa-content($fa-var-grip-horizontal); }
+.#{$fa-css-prefix}-grip-lines:before { content: fa-content($fa-var-grip-lines); }
+.#{$fa-css-prefix}-grip-lines-vertical:before { content: fa-content($fa-var-grip-lines-vertical); }
+.#{$fa-css-prefix}-grip-vertical:before { content: fa-content($fa-var-grip-vertical); }
+.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); }
+.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); }
+.#{$fa-css-prefix}-guitar:before { content: fa-content($fa-var-guitar); }
+.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); }
+.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); }
+.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); }
+.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); }
+.#{$fa-css-prefix}-hackerrank:before { content: fa-content($fa-var-hackerrank); }
+.#{$fa-css-prefix}-hamburger:before { content: fa-content($fa-var-hamburger); }
+.#{$fa-css-prefix}-hammer:before { content: fa-content($fa-var-hammer); }
+.#{$fa-css-prefix}-hamsa:before { content: fa-content($fa-var-hamsa); }
+.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); }
+.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); }
+.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); }
+.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); }
+.#{$fa-css-prefix}-hand-middle-finger:before { content: fa-content($fa-var-hand-middle-finger); }
+.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); }
+.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); }
+.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); }
+.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); }
+.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); }
+.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); }
+.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); }
+.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); }
+.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); }
+.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); }
+.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); }
+.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); }
+.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); }
+.#{$fa-css-prefix}-hanukiah:before { content: fa-content($fa-var-hanukiah); }
+.#{$fa-css-prefix}-hard-hat:before { content: fa-content($fa-var-hard-hat); }
+.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); }
+.#{$fa-css-prefix}-hat-wizard:before { content: fa-content($fa-var-hat-wizard); }
+.#{$fa-css-prefix}-haykal:before { content: fa-content($fa-var-haykal); }
+.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); }
+.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); }
+.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); }
+.#{$fa-css-prefix}-headphones-alt:before { content: fa-content($fa-var-headphones-alt); }
+.#{$fa-css-prefix}-headset:before { content: fa-content($fa-var-headset); }
+.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); }
+.#{$fa-css-prefix}-heart-broken:before { content: fa-content($fa-var-heart-broken); }
+.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); }
+.#{$fa-css-prefix}-helicopter:before { content: fa-content($fa-var-helicopter); }
+.#{$fa-css-prefix}-highlighter:before { content: fa-content($fa-var-highlighter); }
+.#{$fa-css-prefix}-hiking:before { content: fa-content($fa-var-hiking); }
+.#{$fa-css-prefix}-hippo:before { content: fa-content($fa-var-hippo); }
+.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); }
+.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); }
+.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); }
+.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); }
+.#{$fa-css-prefix}-holly-berry:before { content: fa-content($fa-var-holly-berry); }
+.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); }
+.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); }
+.#{$fa-css-prefix}-hornbill:before { content: fa-content($fa-var-hornbill); }
+.#{$fa-css-prefix}-horse:before { content: fa-content($fa-var-horse); }
+.#{$fa-css-prefix}-horse-head:before { content: fa-content($fa-var-horse-head); }
+.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); }
+.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); }
+.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); }
+.#{$fa-css-prefix}-hot-tub:before { content: fa-content($fa-var-hot-tub); }
+.#{$fa-css-prefix}-hotdog:before { content: fa-content($fa-var-hotdog); }
+.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-hotel); }
+.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); }
+.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); }
+.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); }
+.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); }
+.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); }
+.#{$fa-css-prefix}-house-damage:before { content: fa-content($fa-var-house-damage); }
+.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); }
+.#{$fa-css-prefix}-hryvnia:before { content: fa-content($fa-var-hryvnia); }
+.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); }
+.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); }
+.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); }
+.#{$fa-css-prefix}-ice-cream:before { content: fa-content($fa-var-ice-cream); }
+.#{$fa-css-prefix}-icicles:before { content: fa-content($fa-var-icicles); }
+.#{$fa-css-prefix}-icons:before { content: fa-content($fa-var-icons); }
+.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); }
+.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); }
+.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); }
+.#{$fa-css-prefix}-igloo:before { content: fa-content($fa-var-igloo); }
+.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); }
+.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); }
+.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); }
+.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); }
+.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); }
+.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); }
+.#{$fa-css-prefix}-infinity:before { content: fa-content($fa-var-infinity); }
+.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); }
+.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); }
+.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); }
+.#{$fa-css-prefix}-intercom:before { content: fa-content($fa-var-intercom); }
+.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); }
+.#{$fa-css-prefix}-invision:before { content: fa-content($fa-var-invision); }
+.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); }
+.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); }
+.#{$fa-css-prefix}-itch-io:before { content: fa-content($fa-var-itch-io); }
+.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); }
+.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); }
+.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); }
+.#{$fa-css-prefix}-jedi:before { content: fa-content($fa-var-jedi); }
+.#{$fa-css-prefix}-jedi-order:before { content: fa-content($fa-var-jedi-order); }
+.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); }
+.#{$fa-css-prefix}-jira:before { content: fa-content($fa-var-jira); }
+.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); }
+.#{$fa-css-prefix}-joint:before { content: fa-content($fa-var-joint); }
+.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); }
+.#{$fa-css-prefix}-journal-whills:before { content: fa-content($fa-var-journal-whills); }
+.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); }
+.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); }
+.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); }
+.#{$fa-css-prefix}-kaaba:before { content: fa-content($fa-var-kaaba); }
+.#{$fa-css-prefix}-kaggle:before { content: fa-content($fa-var-kaggle); }
+.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); }
+.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); }
+.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); }
+.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); }
+.#{$fa-css-prefix}-khanda:before { content: fa-content($fa-var-khanda); }
+.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); }
+.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); }
+.#{$fa-css-prefix}-kiss:before { content: fa-content($fa-var-kiss); }
+.#{$fa-css-prefix}-kiss-beam:before { content: fa-content($fa-var-kiss-beam); }
+.#{$fa-css-prefix}-kiss-wink-heart:before { content: fa-content($fa-var-kiss-wink-heart); }
+.#{$fa-css-prefix}-kiwi-bird:before { content: fa-content($fa-var-kiwi-bird); }
+.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); }
+.#{$fa-css-prefix}-landmark:before { content: fa-content($fa-var-landmark); }
+.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); }
+.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); }
+.#{$fa-css-prefix}-laptop-code:before { content: fa-content($fa-var-laptop-code); }
+.#{$fa-css-prefix}-laptop-medical:before { content: fa-content($fa-var-laptop-medical); }
+.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); }
+.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); }
+.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); }
+.#{$fa-css-prefix}-laugh:before { content: fa-content($fa-var-laugh); }
+.#{$fa-css-prefix}-laugh-beam:before { content: fa-content($fa-var-laugh-beam); }
+.#{$fa-css-prefix}-laugh-squint:before { content: fa-content($fa-var-laugh-squint); }
+.#{$fa-css-prefix}-laugh-wink:before { content: fa-content($fa-var-laugh-wink); }
+.#{$fa-css-prefix}-layer-group:before { content: fa-content($fa-var-layer-group); }
+.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); }
+.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); }
+.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); }
+.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); }
+.#{$fa-css-prefix}-less-than:before { content: fa-content($fa-var-less-than); }
+.#{$fa-css-prefix}-less-than-equal:before { content: fa-content($fa-var-less-than-equal); }
+.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); }
+.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); }
+.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); }
+.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); }
+.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); }
+.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); }
+.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); }
+.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); }
+.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); }
+.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); }
+.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); }
+.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); }
+.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); }
+.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); }
+.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); }
+.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); }
+.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); }
+.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); }
+.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); }
+.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); }
+.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); }
+.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); }
+.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); }
+.#{$fa-css-prefix}-luggage-cart:before { content: fa-content($fa-var-luggage-cart); }
+.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); }
+.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); }
+.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); }
+.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); }
+.#{$fa-css-prefix}-mail-bulk:before { content: fa-content($fa-var-mail-bulk); }
+.#{$fa-css-prefix}-mailchimp:before { content: fa-content($fa-var-mailchimp); }
+.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); }
+.#{$fa-css-prefix}-mandalorian:before { content: fa-content($fa-var-mandalorian); }
+.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); }
+.#{$fa-css-prefix}-map-marked:before { content: fa-content($fa-var-map-marked); }
+.#{$fa-css-prefix}-map-marked-alt:before { content: fa-content($fa-var-map-marked-alt); }
+.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); }
+.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); }
+.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); }
+.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); }
+.#{$fa-css-prefix}-markdown:before { content: fa-content($fa-var-markdown); }
+.#{$fa-css-prefix}-marker:before { content: fa-content($fa-var-marker); }
+.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); }
+.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); }
+.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); }
+.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); }
+.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); }
+.#{$fa-css-prefix}-mask:before { content: fa-content($fa-var-mask); }
+.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); }
+.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); }
+.#{$fa-css-prefix}-medal:before { content: fa-content($fa-var-medal); }
+.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); }
+.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); }
+.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); }
+.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); }
+.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); }
+.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); }
+.#{$fa-css-prefix}-megaport:before { content: fa-content($fa-var-megaport); }
+.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); }
+.#{$fa-css-prefix}-meh-blank:before { content: fa-content($fa-var-meh-blank); }
+.#{$fa-css-prefix}-meh-rolling-eyes:before { content: fa-content($fa-var-meh-rolling-eyes); }
+.#{$fa-css-prefix}-memory:before { content: fa-content($fa-var-memory); }
+.#{$fa-css-prefix}-mendeley:before { content: fa-content($fa-var-mendeley); }
+.#{$fa-css-prefix}-menorah:before { content: fa-content($fa-var-menorah); }
+.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); }
+.#{$fa-css-prefix}-meteor:before { content: fa-content($fa-var-meteor); }
+.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); }
+.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); }
+.#{$fa-css-prefix}-microphone-alt:before { content: fa-content($fa-var-microphone-alt); }
+.#{$fa-css-prefix}-microphone-alt-slash:before { content: fa-content($fa-var-microphone-alt-slash); }
+.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); }
+.#{$fa-css-prefix}-microscope:before { content: fa-content($fa-var-microscope); }
+.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); }
+.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); }
+.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); }
+.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); }
+.#{$fa-css-prefix}-mitten:before { content: fa-content($fa-var-mitten); }
+.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); }
+.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); }
+.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); }
+.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); }
+.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); }
+.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); }
+.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); }
+.#{$fa-css-prefix}-money-bill:before { content: fa-content($fa-var-money-bill); }
+.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); }
+.#{$fa-css-prefix}-money-bill-wave:before { content: fa-content($fa-var-money-bill-wave); }
+.#{$fa-css-prefix}-money-bill-wave-alt:before { content: fa-content($fa-var-money-bill-wave-alt); }
+.#{$fa-css-prefix}-money-check:before { content: fa-content($fa-var-money-check); }
+.#{$fa-css-prefix}-money-check-alt:before { content: fa-content($fa-var-money-check-alt); }
+.#{$fa-css-prefix}-monument:before { content: fa-content($fa-var-monument); }
+.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); }
+.#{$fa-css-prefix}-mortar-pestle:before { content: fa-content($fa-var-mortar-pestle); }
+.#{$fa-css-prefix}-mosque:before { content: fa-content($fa-var-mosque); }
+.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); }
+.#{$fa-css-prefix}-mountain:before { content: fa-content($fa-var-mountain); }
+.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); }
+.#{$fa-css-prefix}-mug-hot:before { content: fa-content($fa-var-mug-hot); }
+.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); }
+.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); }
+.#{$fa-css-prefix}-neos:before { content: fa-content($fa-var-neos); }
+.#{$fa-css-prefix}-network-wired:before { content: fa-content($fa-var-network-wired); }
+.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); }
+.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); }
+.#{$fa-css-prefix}-nimblr:before { content: fa-content($fa-var-nimblr); }
+.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); }
+.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); }
+.#{$fa-css-prefix}-not-equal:before { content: fa-content($fa-var-not-equal); }
+.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); }
+.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); }
+.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); }
+.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); }
+.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); }
+.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); }
+.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); }
+.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); }
+.#{$fa-css-prefix}-oil-can:before { content: fa-content($fa-var-oil-can); }
+.#{$fa-css-prefix}-old-republic:before { content: fa-content($fa-var-old-republic); }
+.#{$fa-css-prefix}-om:before { content: fa-content($fa-var-om); }
+.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); }
+.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); }
+.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); }
+.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); }
+.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); }
+.#{$fa-css-prefix}-otter:before { content: fa-content($fa-var-otter); }
+.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); }
+.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); }
+.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); }
+.#{$fa-css-prefix}-pager:before { content: fa-content($fa-var-pager); }
+.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); }
+.#{$fa-css-prefix}-paint-roller:before { content: fa-content($fa-var-paint-roller); }
+.#{$fa-css-prefix}-palette:before { content: fa-content($fa-var-palette); }
+.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); }
+.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); }
+.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); }
+.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); }
+.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); }
+.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); }
+.#{$fa-css-prefix}-parking:before { content: fa-content($fa-var-parking); }
+.#{$fa-css-prefix}-passport:before { content: fa-content($fa-var-passport); }
+.#{$fa-css-prefix}-pastafarianism:before { content: fa-content($fa-var-pastafarianism); }
+.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); }
+.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); }
+.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); }
+.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); }
+.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); }
+.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); }
+.#{$fa-css-prefix}-peace:before { content: fa-content($fa-var-peace); }
+.#{$fa-css-prefix}-pen:before { content: fa-content($fa-var-pen); }
+.#{$fa-css-prefix}-pen-alt:before { content: fa-content($fa-var-pen-alt); }
+.#{$fa-css-prefix}-pen-fancy:before { content: fa-content($fa-var-pen-fancy); }
+.#{$fa-css-prefix}-pen-nib:before { content: fa-content($fa-var-pen-nib); }
+.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); }
+.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); }
+.#{$fa-css-prefix}-pencil-ruler:before { content: fa-content($fa-var-pencil-ruler); }
+.#{$fa-css-prefix}-penny-arcade:before { content: fa-content($fa-var-penny-arcade); }
+.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); }
+.#{$fa-css-prefix}-pepper-hot:before { content: fa-content($fa-var-pepper-hot); }
+.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); }
+.#{$fa-css-prefix}-percentage:before { content: fa-content($fa-var-percentage); }
+.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); }
+.#{$fa-css-prefix}-person-booth:before { content: fa-content($fa-var-person-booth); }
+.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); }
+.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); }
+.#{$fa-css-prefix}-phoenix-squadron:before { content: fa-content($fa-var-phoenix-squadron); }
+.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); }
+.#{$fa-css-prefix}-phone-alt:before { content: fa-content($fa-var-phone-alt); }
+.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); }
+.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); }
+.#{$fa-css-prefix}-phone-square-alt:before { content: fa-content($fa-var-phone-square-alt); }
+.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); }
+.#{$fa-css-prefix}-photo-video:before { content: fa-content($fa-var-photo-video); }
+.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); }
+.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); }
+.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); }
+.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); }
+.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); }
+.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); }
+.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); }
+.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); }
+.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); }
+.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); }
+.#{$fa-css-prefix}-pizza-slice:before { content: fa-content($fa-var-pizza-slice); }
+.#{$fa-css-prefix}-place-of-worship:before { content: fa-content($fa-var-place-of-worship); }
+.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); }
+.#{$fa-css-prefix}-plane-arrival:before { content: fa-content($fa-var-plane-arrival); }
+.#{$fa-css-prefix}-plane-departure:before { content: fa-content($fa-var-plane-departure); }
+.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); }
+.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); }
+.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); }
+.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); }
+.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); }
+.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); }
+.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); }
+.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); }
+.#{$fa-css-prefix}-poll:before { content: fa-content($fa-var-poll); }
+.#{$fa-css-prefix}-poll-h:before { content: fa-content($fa-var-poll-h); }
+.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); }
+.#{$fa-css-prefix}-poo-storm:before { content: fa-content($fa-var-poo-storm); }
+.#{$fa-css-prefix}-poop:before { content: fa-content($fa-var-poop); }
+.#{$fa-css-prefix}-portrait:before { content: fa-content($fa-var-portrait); }
+.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); }
+.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); }
+.#{$fa-css-prefix}-pray:before { content: fa-content($fa-var-pray); }
+.#{$fa-css-prefix}-praying-hands:before { content: fa-content($fa-var-praying-hands); }
+.#{$fa-css-prefix}-prescription:before { content: fa-content($fa-var-prescription); }
+.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); }
+.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); }
+.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); }
+.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); }
+.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); }
+.#{$fa-css-prefix}-project-diagram:before { content: fa-content($fa-var-project-diagram); }
+.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); }
+.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); }
+.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); }
+.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); }
+.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); }
+.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); }
+.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); }
+.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); }
+.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); }
+.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); }
+.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); }
+.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); }
+.#{$fa-css-prefix}-quran:before { content: fa-content($fa-var-quran); }
+.#{$fa-css-prefix}-r-project:before { content: fa-content($fa-var-r-project); }
+.#{$fa-css-prefix}-radiation:before { content: fa-content($fa-var-radiation); }
+.#{$fa-css-prefix}-radiation-alt:before { content: fa-content($fa-var-radiation-alt); }
+.#{$fa-css-prefix}-rainbow:before { content: fa-content($fa-var-rainbow); }
+.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); }
+.#{$fa-css-prefix}-raspberry-pi:before { content: fa-content($fa-var-raspberry-pi); }
+.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); }
+.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); }
+.#{$fa-css-prefix}-reacteurope:before { content: fa-content($fa-var-reacteurope); }
+.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); }
+.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); }
+.#{$fa-css-prefix}-receipt:before { content: fa-content($fa-var-receipt); }
+.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); }
+.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); }
+.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); }
+.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); }
+.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); }
+.#{$fa-css-prefix}-redhat:before { content: fa-content($fa-var-redhat); }
+.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); }
+.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); }
+.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); }
+.#{$fa-css-prefix}-remove-format:before { content: fa-content($fa-var-remove-format); }
+.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); }
+.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); }
+.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); }
+.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); }
+.#{$fa-css-prefix}-republican:before { content: fa-content($fa-var-republican); }
+.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); }
+.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); }
+.#{$fa-css-prefix}-restroom:before { content: fa-content($fa-var-restroom); }
+.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); }
+.#{$fa-css-prefix}-rev:before { content: fa-content($fa-var-rev); }
+.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); }
+.#{$fa-css-prefix}-ring:before { content: fa-content($fa-var-ring); }
+.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); }
+.#{$fa-css-prefix}-robot:before { content: fa-content($fa-var-robot); }
+.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); }
+.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); }
+.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); }
+.#{$fa-css-prefix}-route:before { content: fa-content($fa-var-route); }
+.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); }
+.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); }
+.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); }
+.#{$fa-css-prefix}-ruler:before { content: fa-content($fa-var-ruler); }
+.#{$fa-css-prefix}-ruler-combined:before { content: fa-content($fa-var-ruler-combined); }
+.#{$fa-css-prefix}-ruler-horizontal:before { content: fa-content($fa-var-ruler-horizontal); }
+.#{$fa-css-prefix}-ruler-vertical:before { content: fa-content($fa-var-ruler-vertical); }
+.#{$fa-css-prefix}-running:before { content: fa-content($fa-var-running); }
+.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); }
+.#{$fa-css-prefix}-sad-cry:before { content: fa-content($fa-var-sad-cry); }
+.#{$fa-css-prefix}-sad-tear:before { content: fa-content($fa-var-sad-tear); }
+.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); }
+.#{$fa-css-prefix}-salesforce:before { content: fa-content($fa-var-salesforce); }
+.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); }
+.#{$fa-css-prefix}-satellite:before { content: fa-content($fa-var-satellite); }
+.#{$fa-css-prefix}-satellite-dish:before { content: fa-content($fa-var-satellite-dish); }
+.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); }
+.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); }
+.#{$fa-css-prefix}-school:before { content: fa-content($fa-var-school); }
+.#{$fa-css-prefix}-screwdriver:before { content: fa-content($fa-var-screwdriver); }
+.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); }
+.#{$fa-css-prefix}-scroll:before { content: fa-content($fa-var-scroll); }
+.#{$fa-css-prefix}-sd-card:before { content: fa-content($fa-var-sd-card); }
+.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); }
+.#{$fa-css-prefix}-search-dollar:before { content: fa-content($fa-var-search-dollar); }
+.#{$fa-css-prefix}-search-location:before { content: fa-content($fa-var-search-location); }
+.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); }
+.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); }
+.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); }
+.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); }
+.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); }
+.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); }
+.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); }
+.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); }
+.#{$fa-css-prefix}-shapes:before { content: fa-content($fa-var-shapes); }
+.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); }
+.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); }
+.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); }
+.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); }
+.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); }
+.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); }
+.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); }
+.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); }
+.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); }
+.#{$fa-css-prefix}-shoe-prints:before { content: fa-content($fa-var-shoe-prints); }
+.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); }
+.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); }
+.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); }
+.#{$fa-css-prefix}-shopware:before { content: fa-content($fa-var-shopware); }
+.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); }
+.#{$fa-css-prefix}-shuttle-van:before { content: fa-content($fa-var-shuttle-van); }
+.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); }
+.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); }
+.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); }
+.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); }
+.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); }
+.#{$fa-css-prefix}-signature:before { content: fa-content($fa-var-signature); }
+.#{$fa-css-prefix}-sim-card:before { content: fa-content($fa-var-sim-card); }
+.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); }
+.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); }
+.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); }
+.#{$fa-css-prefix}-sith:before { content: fa-content($fa-var-sith); }
+.#{$fa-css-prefix}-skating:before { content: fa-content($fa-var-skating); }
+.#{$fa-css-prefix}-sketch:before { content: fa-content($fa-var-sketch); }
+.#{$fa-css-prefix}-skiing:before { content: fa-content($fa-var-skiing); }
+.#{$fa-css-prefix}-skiing-nordic:before { content: fa-content($fa-var-skiing-nordic); }
+.#{$fa-css-prefix}-skull:before { content: fa-content($fa-var-skull); }
+.#{$fa-css-prefix}-skull-crossbones:before { content: fa-content($fa-var-skull-crossbones); }
+.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); }
+.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); }
+.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); }
+.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); }
+.#{$fa-css-prefix}-slash:before { content: fa-content($fa-var-slash); }
+.#{$fa-css-prefix}-sleigh:before { content: fa-content($fa-var-sleigh); }
+.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); }
+.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); }
+.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); }
+.#{$fa-css-prefix}-smile-beam:before { content: fa-content($fa-var-smile-beam); }
+.#{$fa-css-prefix}-smile-wink:before { content: fa-content($fa-var-smile-wink); }
+.#{$fa-css-prefix}-smog:before { content: fa-content($fa-var-smog); }
+.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); }
+.#{$fa-css-prefix}-smoking-ban:before { content: fa-content($fa-var-smoking-ban); }
+.#{$fa-css-prefix}-sms:before { content: fa-content($fa-var-sms); }
+.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); }
+.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); }
+.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); }
+.#{$fa-css-prefix}-snowboarding:before { content: fa-content($fa-var-snowboarding); }
+.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); }
+.#{$fa-css-prefix}-snowman:before { content: fa-content($fa-var-snowman); }
+.#{$fa-css-prefix}-snowplow:before { content: fa-content($fa-var-snowplow); }
+.#{$fa-css-prefix}-socks:before { content: fa-content($fa-var-socks); }
+.#{$fa-css-prefix}-solar-panel:before { content: fa-content($fa-var-solar-panel); }
+.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); }
+.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); }
+.#{$fa-css-prefix}-sort-alpha-down-alt:before { content: fa-content($fa-var-sort-alpha-down-alt); }
+.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); }
+.#{$fa-css-prefix}-sort-alpha-up-alt:before { content: fa-content($fa-var-sort-alpha-up-alt); }
+.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); }
+.#{$fa-css-prefix}-sort-amount-down-alt:before { content: fa-content($fa-var-sort-amount-down-alt); }
+.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); }
+.#{$fa-css-prefix}-sort-amount-up-alt:before { content: fa-content($fa-var-sort-amount-up-alt); }
+.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); }
+.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); }
+.#{$fa-css-prefix}-sort-numeric-down-alt:before { content: fa-content($fa-var-sort-numeric-down-alt); }
+.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); }
+.#{$fa-css-prefix}-sort-numeric-up-alt:before { content: fa-content($fa-var-sort-numeric-up-alt); }
+.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); }
+.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); }
+.#{$fa-css-prefix}-sourcetree:before { content: fa-content($fa-var-sourcetree); }
+.#{$fa-css-prefix}-spa:before { content: fa-content($fa-var-spa); }
+.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); }
+.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); }
+.#{$fa-css-prefix}-speaker-deck:before { content: fa-content($fa-var-speaker-deck); }
+.#{$fa-css-prefix}-spell-check:before { content: fa-content($fa-var-spell-check); }
+.#{$fa-css-prefix}-spider:before { content: fa-content($fa-var-spider); }
+.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); }
+.#{$fa-css-prefix}-splotch:before { content: fa-content($fa-var-splotch); }
+.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); }
+.#{$fa-css-prefix}-spray-can:before { content: fa-content($fa-var-spray-can); }
+.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); }
+.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); }
+.#{$fa-css-prefix}-square-root-alt:before { content: fa-content($fa-var-square-root-alt); }
+.#{$fa-css-prefix}-squarespace:before { content: fa-content($fa-var-squarespace); }
+.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); }
+.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); }
+.#{$fa-css-prefix}-stackpath:before { content: fa-content($fa-var-stackpath); }
+.#{$fa-css-prefix}-stamp:before { content: fa-content($fa-var-stamp); }
+.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); }
+.#{$fa-css-prefix}-star-and-crescent:before { content: fa-content($fa-var-star-and-crescent); }
+.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); }
+.#{$fa-css-prefix}-star-half-alt:before { content: fa-content($fa-var-star-half-alt); }
+.#{$fa-css-prefix}-star-of-david:before { content: fa-content($fa-var-star-of-david); }
+.#{$fa-css-prefix}-star-of-life:before { content: fa-content($fa-var-star-of-life); }
+.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); }
+.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); }
+.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); }
+.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); }
+.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); }
+.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); }
+.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); }
+.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); }
+.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); }
+.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); }
+.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); }
+.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); }
+.#{$fa-css-prefix}-store:before { content: fa-content($fa-var-store); }
+.#{$fa-css-prefix}-store-alt:before { content: fa-content($fa-var-store-alt); }
+.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); }
+.#{$fa-css-prefix}-stream:before { content: fa-content($fa-var-stream); }
+.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); }
+.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); }
+.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); }
+.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); }
+.#{$fa-css-prefix}-stroopwafel:before { content: fa-content($fa-var-stroopwafel); }
+.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); }
+.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); }
+.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); }
+.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); }
+.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); }
+.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); }
+.#{$fa-css-prefix}-suitcase-rolling:before { content: fa-content($fa-var-suitcase-rolling); }
+.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); }
+.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); }
+.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); }
+.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); }
+.#{$fa-css-prefix}-surprise:before { content: fa-content($fa-var-surprise); }
+.#{$fa-css-prefix}-suse:before { content: fa-content($fa-var-suse); }
+.#{$fa-css-prefix}-swatchbook:before { content: fa-content($fa-var-swatchbook); }
+.#{$fa-css-prefix}-swimmer:before { content: fa-content($fa-var-swimmer); }
+.#{$fa-css-prefix}-swimming-pool:before { content: fa-content($fa-var-swimming-pool); }
+.#{$fa-css-prefix}-symfony:before { content: fa-content($fa-var-symfony); }
+.#{$fa-css-prefix}-synagogue:before { content: fa-content($fa-var-synagogue); }
+.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); }
+.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); }
+.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); }
+.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); }
+.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); }
+.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); }
+.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); }
+.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); }
+.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); }
+.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); }
+.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); }
+.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); }
+.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); }
+.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); }
+.#{$fa-css-prefix}-teamspeak:before { content: fa-content($fa-var-teamspeak); }
+.#{$fa-css-prefix}-teeth:before { content: fa-content($fa-var-teeth); }
+.#{$fa-css-prefix}-teeth-open:before { content: fa-content($fa-var-teeth-open); }
+.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); }
+.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); }
+.#{$fa-css-prefix}-temperature-high:before { content: fa-content($fa-var-temperature-high); }
+.#{$fa-css-prefix}-temperature-low:before { content: fa-content($fa-var-temperature-low); }
+.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); }
+.#{$fa-css-prefix}-tenge:before { content: fa-content($fa-var-tenge); }
+.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); }
+.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); }
+.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); }
+.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); }
+.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); }
+.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); }
+.#{$fa-css-prefix}-the-red-yeti:before { content: fa-content($fa-var-the-red-yeti); }
+.#{$fa-css-prefix}-theater-masks:before { content: fa-content($fa-var-theater-masks); }
+.#{$fa-css-prefix}-themeco:before { content: fa-content($fa-var-themeco); }
+.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); }
+.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); }
+.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); }
+.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); }
+.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); }
+.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); }
+.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); }
+.#{$fa-css-prefix}-think-peaks:before { content: fa-content($fa-var-think-peaks); }
+.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); }
+.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); }
+.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); }
+.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); }
+.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); }
+.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); }
+.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); }
+.#{$fa-css-prefix}-tint-slash:before { content: fa-content($fa-var-tint-slash); }
+.#{$fa-css-prefix}-tired:before { content: fa-content($fa-var-tired); }
+.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); }
+.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); }
+.#{$fa-css-prefix}-toilet:before { content: fa-content($fa-var-toilet); }
+.#{$fa-css-prefix}-toilet-paper:before { content: fa-content($fa-var-toilet-paper); }
+.#{$fa-css-prefix}-toolbox:before { content: fa-content($fa-var-toolbox); }
+.#{$fa-css-prefix}-tools:before { content: fa-content($fa-var-tools); }
+.#{$fa-css-prefix}-tooth:before { content: fa-content($fa-var-tooth); }
+.#{$fa-css-prefix}-torah:before { content: fa-content($fa-var-torah); }
+.#{$fa-css-prefix}-torii-gate:before { content: fa-content($fa-var-torii-gate); }
+.#{$fa-css-prefix}-tractor:before { content: fa-content($fa-var-tractor); }
+.#{$fa-css-prefix}-trade-federation:before { content: fa-content($fa-var-trade-federation); }
+.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); }
+.#{$fa-css-prefix}-traffic-light:before { content: fa-content($fa-var-traffic-light); }
+.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); }
+.#{$fa-css-prefix}-tram:before { content: fa-content($fa-var-tram); }
+.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); }
+.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); }
+.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); }
+.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); }
+.#{$fa-css-prefix}-trash-restore:before { content: fa-content($fa-var-trash-restore); }
+.#{$fa-css-prefix}-trash-restore-alt:before { content: fa-content($fa-var-trash-restore-alt); }
+.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); }
+.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); }
+.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); }
+.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); }
+.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); }
+.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); }
+.#{$fa-css-prefix}-truck-monster:before { content: fa-content($fa-var-truck-monster); }
+.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); }
+.#{$fa-css-prefix}-truck-pickup:before { content: fa-content($fa-var-truck-pickup); }
+.#{$fa-css-prefix}-tshirt:before { content: fa-content($fa-var-tshirt); }
+.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); }
+.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); }
+.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); }
+.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); }
+.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); }
+.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); }
+.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); }
+.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); }
+.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); }
+.#{$fa-css-prefix}-ubuntu:before { content: fa-content($fa-var-ubuntu); }
+.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); }
+.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); }
+.#{$fa-css-prefix}-umbrella-beach:before { content: fa-content($fa-var-umbrella-beach); }
+.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); }
+.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); }
+.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); }
+.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); }
+.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); }
+.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); }
+.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); }
+.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); }
+.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); }
+.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); }
+.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); }
+.#{$fa-css-prefix}-ups:before { content: fa-content($fa-var-ups); }
+.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); }
+.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); }
+.#{$fa-css-prefix}-user-alt:before { content: fa-content($fa-var-user-alt); }
+.#{$fa-css-prefix}-user-alt-slash:before { content: fa-content($fa-var-user-alt-slash); }
+.#{$fa-css-prefix}-user-astronaut:before { content: fa-content($fa-var-user-astronaut); }
+.#{$fa-css-prefix}-user-check:before { content: fa-content($fa-var-user-check); }
+.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); }
+.#{$fa-css-prefix}-user-clock:before { content: fa-content($fa-var-user-clock); }
+.#{$fa-css-prefix}-user-cog:before { content: fa-content($fa-var-user-cog); }
+.#{$fa-css-prefix}-user-edit:before { content: fa-content($fa-var-user-edit); }
+.#{$fa-css-prefix}-user-friends:before { content: fa-content($fa-var-user-friends); }
+.#{$fa-css-prefix}-user-graduate:before { content: fa-content($fa-var-user-graduate); }
+.#{$fa-css-prefix}-user-injured:before { content: fa-content($fa-var-user-injured); }
+.#{$fa-css-prefix}-user-lock:before { content: fa-content($fa-var-user-lock); }
+.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); }
+.#{$fa-css-prefix}-user-minus:before { content: fa-content($fa-var-user-minus); }
+.#{$fa-css-prefix}-user-ninja:before { content: fa-content($fa-var-user-ninja); }
+.#{$fa-css-prefix}-user-nurse:before { content: fa-content($fa-var-user-nurse); }
+.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); }
+.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); }
+.#{$fa-css-prefix}-user-shield:before { content: fa-content($fa-var-user-shield); }
+.#{$fa-css-prefix}-user-slash:before { content: fa-content($fa-var-user-slash); }
+.#{$fa-css-prefix}-user-tag:before { content: fa-content($fa-var-user-tag); }
+.#{$fa-css-prefix}-user-tie:before { content: fa-content($fa-var-user-tie); }
+.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); }
+.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); }
+.#{$fa-css-prefix}-users-cog:before { content: fa-content($fa-var-users-cog); }
+.#{$fa-css-prefix}-usps:before { content: fa-content($fa-var-usps); }
+.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); }
+.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); }
+.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); }
+.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); }
+.#{$fa-css-prefix}-vector-square:before { content: fa-content($fa-var-vector-square); }
+.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); }
+.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); }
+.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); }
+.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); }
+.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); }
+.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); }
+.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); }
+.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); }
+.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); }
+.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); }
+.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); }
+.#{$fa-css-prefix}-vihara:before { content: fa-content($fa-var-vihara); }
+.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); }
+.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); }
+.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); }
+.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); }
+.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); }
+.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); }
+.#{$fa-css-prefix}-voicemail:before { content: fa-content($fa-var-voicemail); }
+.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); }
+.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); }
+.#{$fa-css-prefix}-volume-mute:before { content: fa-content($fa-var-volume-mute); }
+.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); }
+.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); }
+.#{$fa-css-prefix}-vote-yea:before { content: fa-content($fa-var-vote-yea); }
+.#{$fa-css-prefix}-vr-cardboard:before { content: fa-content($fa-var-vr-cardboard); }
+.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); }
+.#{$fa-css-prefix}-walking:before { content: fa-content($fa-var-walking); }
+.#{$fa-css-prefix}-wallet:before { content: fa-content($fa-var-wallet); }
+.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); }
+.#{$fa-css-prefix}-water:before { content: fa-content($fa-var-water); }
+.#{$fa-css-prefix}-wave-square:before { content: fa-content($fa-var-wave-square); }
+.#{$fa-css-prefix}-waze:before { content: fa-content($fa-var-waze); }
+.#{$fa-css-prefix}-weebly:before { content: fa-content($fa-var-weebly); }
+.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); }
+.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); }
+.#{$fa-css-prefix}-weight-hanging:before { content: fa-content($fa-var-weight-hanging); }
+.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); }
+.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); }
+.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); }
+.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); }
+.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); }
+.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); }
+.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); }
+.#{$fa-css-prefix}-wind:before { content: fa-content($fa-var-wind); }
+.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); }
+.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); }
+.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); }
+.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); }
+.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); }
+.#{$fa-css-prefix}-wine-bottle:before { content: fa-content($fa-var-wine-bottle); }
+.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); }
+.#{$fa-css-prefix}-wine-glass-alt:before { content: fa-content($fa-var-wine-glass-alt); }
+.#{$fa-css-prefix}-wix:before { content: fa-content($fa-var-wix); }
+.#{$fa-css-prefix}-wizards-of-the-coast:before { content: fa-content($fa-var-wizards-of-the-coast); }
+.#{$fa-css-prefix}-wolf-pack-battalion:before { content: fa-content($fa-var-wolf-pack-battalion); }
+.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); }
+.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); }
+.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); }
+.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); }
+.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); }
+.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); }
+.#{$fa-css-prefix}-wpressr:before { content: fa-content($fa-var-wpressr); }
+.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); }
+.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); }
+.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); }
+.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); }
+.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); }
+.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); }
+.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); }
+.#{$fa-css-prefix}-yammer:before { content: fa-content($fa-var-yammer); }
+.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); }
+.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); }
+.#{$fa-css-prefix}-yarn:before { content: fa-content($fa-var-yarn); }
+.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); }
+.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); }
+.#{$fa-css-prefix}-yin-yang:before { content: fa-content($fa-var-yin-yang); }
+.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); }
+.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); }
+.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); }
+.#{$fa-css-prefix}-zhihu:before { content: fa-content($fa-var-zhihu); }

+ 23 - 0
resources/fontawesome/scss/_larger.scss

@@ -0,0 +1,23 @@
+// Icon Sizes
+// -------------------------
+
+// makes the font 33% larger relative to the icon container
+.#{$fa-css-prefix}-lg {
+  font-size: (4em / 3);
+  line-height: (3em / 4);
+  vertical-align: -.0667em;
+}
+
+.#{$fa-css-prefix}-xs {
+  font-size: .75em;
+}
+
+.#{$fa-css-prefix}-sm {
+  font-size: .875em;
+}
+
+@for $i from 1 through 10 {
+  .#{$fa-css-prefix}-#{$i}x {
+    font-size: $i * 1em;
+  }
+}

+ 18 - 0
resources/fontawesome/scss/_list.scss

@@ -0,0 +1,18 @@
+// List Icons
+// -------------------------
+
+.#{$fa-css-prefix}-ul {
+  list-style-type: none;
+  margin-left: $fa-li-width * 5/4;
+  padding-left: 0;
+
+  > li { position: relative; }
+}
+
+.#{$fa-css-prefix}-li {
+  left: -$fa-li-width;
+  position: absolute;
+  text-align: center;
+  width: $fa-li-width;
+  line-height: inherit;
+}

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.